Qemuブートオプションについていくつかの質問があります
1)
次のパラメータを使用する場合
init=/bin/sh
動作します。しかし、実際にinitプロセスはshプロセスに置き換えられますか?
Qemu-system-x86_64 -hda output/images/rootfs.ext2 -kernel output/images/bzImage --append "root=/dev/sda console=ttyS0 rw init=/bin/sh" -serial stdio > /home/john/kernel_debug_mess.txt
2)
次のオプションを使用すると、システムは起動しません。
init=/bin/ls
kernel-logg に次のエラーが表示されます。
End kernel panic - not syncing: attempted to kill init! exitcode 0x000000000
lsを使用するときの競合を説明する方法は?
答え1
はい。カーネルに
/bin/sh
initを使用するように指示すると、カーネルは指示どおりに正確に実行されます。/bin/ls
実行されてから終了するので、initプロセスがなくなったため、カーネルはパニック状態になります。 initは永続的なプロセスでなければなりません。