Mengapa Linux mengizinkan 'init = / bin / bash'?
Saya membaca ini, jawaban mengatakan KERNEL menjalankan program init ini.
Kemudian saya mulai bertanya-tanya, Linux biasanya datang dengan initramfs, yang akhirnya akan me-mount dan pivot_root ke sistem file root yang sebenarnya. Jadi apa arti init
argumen ini ? Jalan di initramfs? Atau seperti yang saya duga, itu tidak dibaca oleh kernel tetapi oleh init dari initramfs untuk mengeksekusi init yang sebenarnya.
Juga, root=UUID=xxxx
argumen, adalah yang benar-benar dibaca oleh kernel atau hanya dengan init dari initramfs untuk menemukan akar filesystem nyata?
Sepertinya saya bisa memberikan argumen apa pun yang saya inginkan sebagai argumen kernel, jadi apakah semuanya dibaca oleh kernel atau setidaknya beberapa di antaranya hanya bermakna untuk program userspace?
sumber
ld-linux.so
ELF atau skrip terlalu rekursi atau apa saja yang tidak dapat dijalankan?/init
saat boot dari ramdisk, Anda dapat menggunakanrdinit=/path/to
parameter boot.Melewati argumen kernel khusus adalah salah satu cara untuk menyesuaikan sistem selama instalasi KickStart, misalnya server PXE dapat mengatur:
di mana
lab
kemudian digunakan dalam konfigurasi KickStart untuk melakukan hal-hal yang berbeda dari untuk membangun sistem lain:Di sini untuk mengatur tata letak sistem file yang berbeda dari yang digunakan pada tipe sistem lainnya. Mudah-mudahan label yang berbeda digunakan untuk kustomisasi lokal daripada yang digunakan oleh kernel, mengingat namespace tunggal yang terlibat.
sumber