ファイルシステムをマウントした後にカーネルにrcSが必要なのはなぜですか?

ファイルシステムをマウントした後にカーネルにrcSが必要なのはなぜですか?

私は組み込みLinuxを使用しており、initramfsなしでカーネルをコンパイルしましたが、カーネルが正しく起動しました。ところで、rcS私が入れたファイルが見つかりませんでしたが、/etc/init.d/rcS私のrcSファイルは次のようになります。

#!/bin/sh
echo "Hello world"

ファイルシステムがカーネルによってマウントされた後Hello world

このファイルが必要な理由と、これらの起動スクリプトを特定の順序で開始する方法を教えたり説明したりできる人はいますか?

ビジボックス付きのRaspberry Piを使用していますが、うまくいきますが、起動段階で停止します。

答え1

/etc/init.d/rcS起動時に他のプログラムを実行できます。一般的な用途は、追加のファイルシステムをマウントし(現在のルートファイルシステムのみをマウントする)、いくつかのデーモンを起動することです。

通常、rcSインスタントで簡単にカスタマイズできるシェルスクリプトです。一般的なディストリビューションrcSでは、追加のスクリプトが実行される単純なスクリプトを生成します/etc/rcS.d(正確な場所はディストリビューションによって異なります)。これにより、各デーモンを独自のinitスクリプトにパッケージ化できます。このファイルは、システム管理者が作成したコマンド用に存在する場合/etc/rc.localにも実行されます。rcS

(設定)/etc/init.d/rcSに記載されているinitの伝統的なSysVinitの実装で。 BusyBoxを使用すると、1つを提供できますが(関数がコンパイルされている場合)、何よりも読みやすくするための組み込みのデフォルトがあります。/etc/inittabsysinitinittab/etc/init.d/rcS

答え2

/etc/init.d/rcS 通常 /etc/rcS.d/ からスクリプトを起動します。

これは私のものです:

$ cat /etc/init.d/rcS
#! /bin/sh
#
# rcS
#
# Call all S??* scripts in /etc/rcS.d/ in numerical/alphabetical order
#

exec /etc/init.d/rc S


$ ls /etc/rcS.d/
README  S25brltty  S37apparmor  S55urandom  S70x11-common

関連情報