初期のRAMディスクが内蔵されていますbzImage
か? RAMディスクとスイッチを
どのようにロードしますか?rootfs.cpio
root
答え1
ブートローダ(liloやGRUBなど)は、cpio initramfs(カーネルにblobとして含まれていない場合)またはinitramdをロードし、起動時にカーネルに渡します。
initrd
通常、ブートローダ設定ファイルのディレクティブを使用して指定されます。
root=/dev/ram0
initrdを使用している場合は、通常、カーネルコマンドラインでルートファイルシステムデバイスを指定します(append
例:liloディレクティブを使用)。
initramfs/initrd を解凍/マウントした後、カーネルが実行されます (存在する場合)。これは通常、実際のルートファイルシステムをマウントして(古い)または(新しい)を使用してそのシステムに切り替える/linuxrc
スクリプトです。pivot_root
switch_root
コマンドinit
ライン引数を別の実行可能ファイル/スクリプトに設定することで、代わりに実行できますlinuxrc
。init=/bin/sh
次回の起動時にカーネルに渡してみてください。
答え2
オリジナルのRAMディスクはbzImage
可能であっても伝統的には内蔵されていません。代わりに、2番目のファイルに保存され、init
ディレクティブを使用して指定されます。
ファイルがルートを切り替えるために使用する方法は、ファイルを作成した項目rootfs.cpio
によって異なりますが、通常pivot_root /new_root
またはswitch_root /new_root
新しいルートに切り替えるために使用されます。