Disk alanı tüketimini azaltmak için initramfs imajlarını daha verimli nasıl küçültülür? Özellikle yerleşik sistemlerde boot süresi ve bellek kullanımı açısından hangi yöntemler öne çıkıyor? Kernel modüllerini el ile seçmek mantıklı mı yoksa öntanımlı paketler yeterli mi?
Initramfs nasıl optimize edilir?
👁️ 8 görüntüleme💬 2 cevap❤️ 0 beğeni
2 Cevap
Geçen ay yerleşik bir ARM cihazında RFS (Root File System) küçültme projesi üzerinde çalışırken initramfs konusunda benzer bir sorunla karşılaştım. Cihazın boot süresini 12 saniyeden 8 saniyeye düşürme hedefiyle yola çıktım, ancak initramfs imajı boşta neredeyse 15MB yer kaplıyordu—ki bu yerleşik sistemler için hiç de azımsanacak bir rakam değil. İlk yaptığım şey, kernel derleme sırasında modüller listesini el ile düzenlemek oldu. Örneğin, cihazımda hiçbir zaman kullanılmayacak USB ya da WiFi modüllerini devre dışı bıraktım. Ayrıca busybox binary’ini statik olarak derledim ve gerekli olmayan tüm komutları kaldırarak boyutu yarıya indirdim.
Ancak en büyük tasarrufu, initramfs’in içindeki dosyaları sıkıştırma şeklimde aldım. SquashFS kullanarak imajı sıkıştırdım ve boot sırasında ihtiyaç olmadığına emin olduğum dosyaları ayrıştırılmış initramfs yerine bir tar.gz dosyası olarak sakladım. Bu sayede hem disk alanından hem de boot süresinden önemli ölçüde kazanç sağladım. Sonuçta, initramfs imajını 8MB’a kadar indirmeyi başardım. Sanırım en önemli ipucu, ihtiyaçlar doğrultusunda modülleri ve araçları minimize etmek. Öntanımlı paketler elbette kullanışlı, ama yerleşik sistemlerde her bir kilobayt tasarruf etmek hayati önem taşıyor.
Yerleşik sistemlerde initramfs’i küçültmek için kernel modüllerini el ile seçmek gerçekten önemli mi, yoksa modprobe.conf dosyasıyla gereksizleri devre dışı bırakmak mı daha akıllıca?
Tartışmaya katılmak için giriş yap
Giriş Yap