カーネルとBusyBoxを備えた最小限のLinux:/ etc / inittabは無視され、/ initのみが実行されます
カーネル(デフォルトオプションでコンパイルされた)とBusyBox(デフォルトオプション+静的でコンパイルされた、すべてのアプレットが存在することを含む/sbin/init)のみを含む、小さくて機能的なライブLinux CDを作成することができました。私が作成する全く問題なかったinitrdと移入を/dev、/procと/sysも私は私と全く問題がなかった/initシェルスクリプト。 最近、BusyBoxが/etc/inittab構成を(少なくともある程度)サポートしていることを読んだので、次のいずれかを実行したいと思います。 私の/initシェルスクリプトを忘れて、完全に/etc/inittab構成に依存します。 /initシェルスクリプトと/etc/inittab設定の両方を使用します。 今実際の問題- /etc/inittab私のディストリビューションが起動するときそれは完全に無視されているようです。症状は次のとおりです。 削除して/initそのままにしておく/etc/inittabと、カーネルパニックが発生します。私の想定では、カーネルはまったく実行さ/sbin/initれないか、または/sbin/init検出(または読み取り)されません/etc/inittab。 BusyBoxがなくても正常に動作することを確認しました/etc/inittab。だから、私は両方を削除/initして/etc/inittab、何を推測-再びパニックカーネル。 私が実行しようとした/sbin/init私のシェルから、付属のいくつかの推測の後exec /sbin/init、setsid /sbin/initそしてexec setsid /sbin/init私は、カーネルパニックになってしまいました。ファイルシステムに/ etc / inittabが存在する場合と存在しない場合の両方。 これが私の/initシェルスクリプトの内容です: #!/bin/sh dmesg -n 1 mount -t devtmpfs none /dev mount -t proc none /proc mount -t sysfs none /sys setsid cttyhack /bin/sh この時点では/etc/inittab、構成が実際に機能していることを知る方法がある限り、その内容がどうなるかは気にしません。ここで/etc/inittab見つけた情報に基づいて、いくつかの構成を試しました。 最低限、私の/ etc / inittabには次の1行だけが含まれています。 ::sysinit:/bin/sh 繰り返しますが、カーネルパニックに陥り、/etc/inittab無視されたようです。 私の小さなライブディストリビューションをBusyBoxで正常に動作させる方法についての提案/etc/inittabは高く評価されています! 更新: 明確にするために、現在のシェルスクリプトを使用してもしなくても、カーネルパニックの問題は発生しません。それはすべて正常に機能し、コンソールは非常に機能し、予期しない問題は発生しません。上で説明したように、唯一の問題は完全に無視されることです。/init/etc/inittab/bin/ash/etc/inittab …