Ben burada özel bir initramfs kurma hakkında bir eğitim geçiyordu :
Eksik olan tek şey / init, initramfs kökünde, yüklendikten sonra çekirdek tarafından yürütülen yürütülebilir dosyadır. Sys-apps / busybox tamamen işlevsel bir kabuk içerdiğinden, / init ikili dosyanızı basit bir kabuk betiği olarak yazabileceğiniz anlamına gelir (derlemek zorunda olduğunuz Assembler veya C'de yazılmış karmaşık bir uygulama yapmak yerine).
ile başlayan bir kabuk komut dosyası olarak init örneği verir. #!/bin/busybox sh
Şimdiye kadar, init'in başlatılan ana süreç olduğu ve diğer tüm kullanıcı alanı sürecinin sonunda initin çocukları olduğu izlenimindeydim. Bununla birlikte, verilen örnekte, ilk işlem aslında bin/busybox/ sh
daha sonra initin üretildiği işlemdir .
Bu doğru bir yorum mu? Örneğin, bu noktada kullanılabilir bir tercümanım olsaydı, init'i bir Python betiği vb. Olarak yazabilir miydim?
/
gelmez yarılıp içine - bitti monte edilir (Bu bellekten tasarruf etmektir önce olsa genellikle içeriği tüm silinir) . Öyle hala orada .switch_root
sistem çağrısı yaparswitchroot
- bu, çekirdek 2.6'daki önyükleme işlemini değiştirdiklerinde çekirdek geliştiricilerin sağladığı şeydir. initramfs gerektirecek bir şey. Büyüyü yapan çekirdek.