Qemuは、initプロセス(PID 1)がbashのLinux VMを起動します。動作中です。起動後にbashを使用できます。ただしexit
、aまたはを使用してbashを終了すると、CTRL+D
カーネルパニックが発生します。
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000000
私はシステムが適切に停止したいと思っており、理想的にはbashを終了する前にディスクを同期したいと思います。
起動時にオプションを渡さなければカーネルの動作を変更できないことをご存知でしたか?
ベストアンサー1
直接することはできないようですが、実行することはできます。
# bash; sync; halt
最初の(PID 1)シェルで別のシェルを実行し、2番目のシェルが終了sync
したら実行します。halt
システムがファイルを編集できる場合は、同じタスクを実行するスクリプトを次の場所に配置して自動化できます/sbin/init
。
#/bin/sh
/bin/bash; /bin/sync; /sbin/halt
(私は「おそらく」と言います。Linuxがinitのようなスクリプトが好きかどうかわからないからです。)
どちらの場合も、使用する実際のシェルはPID 1ではありませんが、これは重要ではありません。