私は組み込み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/inittab
sysinit
inittab
/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