Qemu - initプロセスの交換

Qemu - initプロセスの交換

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

  1. はい。カーネルに/bin/shinitを使用するように指示すると、カーネルは指示どおりに正確に実行されます。

  2. /bin/ls実行されてから終了するので、initプロセスがなくなったため、カーネルはパニック状態になります。 initは永続的なプロセスでなければなりません。

関連情報