~からsystemd/fstab-generator.csystemdは、それをroot=
マウントの唯一の設定ソースである必須カーネルパラメータとして扱います/sysroot
。しかしカーネル/init/main.cそしてカーネル/init/do_mounts.cこれが本当かどうかは不明です。 Q:「root =」パラメータなしでカーネルの初期化をどのように実行しますか(そしてsystemdにそれをサポートするように指示しますか?)
答え1
存在するdo_mounts.c
、この変数はコマンドライン引数(存在する場合)の値saved_root_name
に設定されます。root=
値はパスに似た文字列です。カーネルによって渡される、プレフィックスはオプションですが、実際にはディスク上のパスと一致しないことがよくあります。引数がない場合に使用する値です。通常はゼロですが、システムバイナリに異なる値を挿入できます。このツールチェーンは、次のツールを含めるために使用されます。/dev/something
/dev/
root=
ROOT_DEV
util-linux
`rdevこれを行うが(x86のみ)
数年前に消えた。
これはすべて、次の場合にのみ発生します。ファイルシステムの初期化または初期化プログラムルートマウントの責任はありません(initramfsを実行して/init
呼び出す必要があります。mount
これはinitrdによって呼び出される必要がありますpivot_root
)。
システム的な部分はわかりません。それにもかかわらず、ルートファイルシステムに対して読み書きでマウントする以外にsystemdができることはありません。