Saya telah melalui tutorial tentang cara mengatur initramfs kustom di mana ia menyatakan:
Satu-satunya hal yang hilang adalah / init, yang dapat dieksekusi di root initramfs yang dieksekusi oleh kernel setelah di-load. Karena sys-apps / busybox menyertakan shell yang berfungsi penuh, ini berarti Anda dapat menulis biner / init Anda sebagai skrip shell sederhana (alih-alih menjadikannya aplikasi rumit yang ditulis dalam Assembler atau C yang harus Anda kompilasi).
dan memberikan contoh init sebagai skrip shell yang dimulai dengan #!/bin/busybox sh
Sejauh ini, saya mendapat kesan bahwa init adalah proses utama yang diluncurkan dan bahwa semua proses ruang pengguna lainnya pada akhirnya adalah anak-anak init. Namun, dalam contoh yang diberikan, proses pertama sebenarnyabin/busybox/ sh
dari init yang kemudian melahirkan.
Apakah ini interpertasi yang benar? Jika saya, misalnya, memiliki juru bahasa yang tersedia pada saat itu, saya bisa menulis init sebagai skrip Python dll?
/
tidak hilang ke udara tipis - itu sudah terpasang (meskipun biasanya isinya semua dihapus sebelum untuk menghemat memori) . Itu masih di sana .switch_root
melakukan syscallswitchroot
- yang disediakan oleh devs kernel ketika mereka mengubah proses boot di kernel 2.6.sesuatu yang membutuhkan initramfs. Adalah kernel yang melakukan keajaiban.