Man page - initrd(4)

Packages contains this manual

Available languages:

en fr pt_BR es pl tr ja ru ro de

Manual

INITRD

名 前
設 厚
čĒŦ 明
ブ ãƒŧ ト ã‚ĸ ッ プ äŊœ æĨ­
ã‚Ē プ ã‚ˇ ョ ãƒŗ
通 常 時 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム ぎ 変 更
äŊŋ い æ–š
フ ã‚Ą イ ãƒĢ
æŗ¨ 意
é–ĸ 逪 項 į›Ž
こ ぎ 文 書 ãĢ つ い ãĻ

名 前

initrd - ブ ãƒŧ ト ロ ãƒŧ ダ ãƒŧ ãĢ よ ãŖ ãĻ 初 期 化 さ れ た RAM デ ã‚Ŗ ゚ ク

設 厚

/dev/initrd は 、 ãƒĄ ジ ãƒŖ ãƒŧ į•Ē åˇ 1、 マ イ ナ ãƒŧ į•Ē åˇ 250 が 剞 り åŊ“ ãĻ ら れ た čĒ­ ãŋ čžŧ ãŋ 専 ᔍ ぎ ブ ロ ッ ク デ バ イ ゚ で あ る 。 晎 通 、 /dev/initrd ぎ 所 有 者 は root:disk で あ り 、 ãƒĸ ãƒŧ ド は 400 (root ぎ ãŋ が čĒ­ ãŋ å‡ē し 可 čƒŊ ) で あ る 。 も し 、 Linux ã‚ˇ ゚ テ ム ãĢ äŊœ 成 済 ぎ /dev/initrd フ ã‚Ą イ ãƒĢ が ãĒ か ãŖ た å ´ 合 、 äģĨ 下 ぎ ã‚ŗ マ ãƒŗ ド で äŊœ 成 す る こ と が で き る :

mknod -m 400 /dev/initrd b 1 250
chown root:disk /dev/initrd

ぞ た 、 /dev/initrd を äŊŋ ᔍ す る た め ãĢ は 、 "RAM disk" と "Initial RAM disk" ぎ 严 æ–š ぎ 抟 čƒŊ が Linux ã‚Ģ ãƒŧ ネ ãƒĢ ãĢ į›´ æŽĨ įĩ„ ãŋ čžŧ ぞ れ ãĻ い ãĒ け れ ば ãĒ ら ãĒ い (例 え ば 、 ã‚Ģ ãƒŧ ネ ãƒĢ ぎ ã‚ŗ ãƒŗ パ イ ãƒĢ 時 ぎ 設 厚 で CONFIG_BLK_DEV_RAM=y か つ CONFIG_BLK_DEV_INITRD=y と す る )。 /dev/initrd を äŊŋ ᔍ す る å ´ 合 ãĢ は 、 RAM デ ã‚Ŗ ゚ ク ド ナ イ バ を ãƒĸ ジ ãƒĨ ãƒŧ ãƒĢ と し ãĻ ロ ãƒŧ ド す る こ と は で き ãĒ い 。

čĒŦ 明

/dev/initrd ゚ ペ ã‚ˇ ãƒŖ ãƒĢ フ ã‚Ą イ ãƒĢ は čĒ­ ãŋ čžŧ ãŋ 専 ᔍ ぎ ブ ロ ッ ク デ バ イ ゚ で あ る 。 こ ぎ デ バ イ ゚ は ã‚Ģ ãƒŧ ネ ãƒĢ が čĩˇ 動 さ れ る 前 ãĢ ブ ãƒŧ ト ロ ãƒŧ ダ ãƒŧ (boot loader) ãĢ よ ãŖ ãĻ 初 期 化 (例 え ば 、 ロ ãƒŧ ド ) さ れ る RAM デ ã‚Ŗ ゚ ク で あ る 。 そ ぎ 垌 、 ã‚Ģ ãƒŧ ネ ãƒĢ は /dev/initrd ぎ 内 厚 を äēŒ æŽĩ 階 ぎ ã‚ˇ ゚ テ ム čĩˇ 動 (two-phase system boot-up) で 刊 ᔍ す る こ と が で き る 。

最 初 ぎ ブ ãƒŧ ト ã‚ĸ ッ プ æŽĩ 階 (first boot-up phase) で は 、 ã‚Ģ ãƒŧ ネ ãƒĢ は (例 え ば 、 ブ ãƒŧ ト ロ ãƒŧ ダ ãƒŧ ãĢ よ ãŖ ãĻ 初 期 化 さ れ た RAM disk で あ る ) /dev/initrd ぎ 内 厚 を 初 期 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム (root file-system) と し ãĻ マ ã‚Ļ ãƒŗ ト し ãĻ čĩˇ 動 す る 。 įŦŦ äēŒ æŽĩ 階 で は 初 期 ãƒĢ ãƒŧ ト デ バ イ ゚ ãĢ åĢ ぞ れ ãĻ い る も ぎ か ら 、 čŋŊ 加 ぎ ド ナ イ バ や そ ぎ äģ– ãŽ ãƒĸ ジ ãƒĨ ãƒŧ ãƒĢ が ロ ãƒŧ ド さ れ る 。 čŋŊ 加 ぎ ãƒĸ ジ ãƒĨ ãƒŧ ãƒĢ が ロ ãƒŧ ド さ れ た 垌 、 新 し い ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム (す ãĒ わ ãĄ 、 通 常 時 ぎ ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム ) が åˆĨ ぎ デ バ イ ゚ か ら マ ã‚Ļ ãƒŗ ト さ れ る 。

ブ ãƒŧ ト ã‚ĸ ッ プ äŊœ æĨ­

initrd を 刊 ᔍ し た 時 は 、 ã‚ˇ ゚ テ ム は æŦĄ ぎ よ う ãĢ ブ ãƒŧ ト す る :

1.

ブ ãƒŧ ト ロ ãƒŧ ダ ãƒŧ は ã‚Ģ ãƒŧ ネ ãƒĢ プ ロ グ ナ ム と /dev/initrd ぎ 内 厚 を ãƒĄ ãƒĸ ãƒĒ ãƒŧ ãĢ ロ ãƒŧ ド す る 。

2.

ã‚Ģ ãƒŧ ネ ãƒĢ čĩˇ 動 時 、 ã‚Ģ ãƒŧ ネ ãƒĢ は /dev/initrd デ バ イ ゚ ぎ 内 厚 を åą• 開 (uncompress) し 、 /dev/ram0 ãĢ ã‚ŗ ピ ãƒŧ す る 。 さ ら ãĢ 、 /dev/initrd ぎ äŊŋ ãŖ ãĻ い た ãƒĄ ãƒĸ ãƒĒ ãƒŧ を č§Ŗ 攞 す る 。

3.

ã‚Ģ ãƒŧ ネ ãƒĢ は /dev/ram0 デ バ イ ゚ を 初 期 ぎ ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム と し ãĻ čĒ­ ãŋ 書 き 可 čƒŊ ãĒ åŊĸ åŧ で マ ã‚Ļ ãƒŗ ト す る 。

4.

指 į¤ē さ れ た ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム が 初 期 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム (例 え ば /dev/ram0 ) と 同 一 ぎ å ´ 合 は 、 ã‚Ģ ãƒŧ ネ ãƒĢ は 晎 通 ぎ ブ ãƒŧ ト ã‚ˇ ãƒŧ ã‚ą ãƒŗ ゚ ぎ た め ぎ 最 垌 ぎ ゚ テ ッ プ を ᜁ į•Ĩ す る 。

5.

/linuxrc と い う 原 行 可 čƒŊ ãĒ フ ã‚Ą イ ãƒĢ が 初 期 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム ãĢ 存 在 す れ ば 、 /linuxrc を UID 0 (す ãĒ わ ãĄ 、 root) ぎ 樊 限 で 原 行 す る 。 ( /linuxrc フ ã‚Ą イ ãƒĢ は 原 行 可 čƒŊ パ ãƒŧ ミ ッ ã‚ˇ ョ ãƒŗ が 与 え ら れ ãĻ い ãĒ け れ ば ãĒ ら ãĒ い 。 /linuxrc は æ­Ŗ åŊ“ ãĒ 原 行 フ ã‚Ą イ ãƒĢ で あ れ ば よ く 、 ã‚ˇ ェ ãƒĢ ゚ ク ãƒĒ プ ト で も 構 わ ãĒ い 。 )

6.

/linuxrc が 原 行 さ れ ãĒ い 、 ぞ た は 、 /linuxrc ぎ 原 行 が įĩ‚ äē† ã— た 時 は 、 通 常 時 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム が マ ã‚Ļ ãƒŗ ト さ れ る 。 ( /linuxrc を įĩ‚ äē† ã— た 時 、 äŊ• ら か ぎ フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム が 初 期 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム 上 ãĢ マ ã‚Ļ ãƒŗ ト さ れ ãĻ い る å ´ 合 ぎ ã‚Ģ ãƒŧ ネ ãƒĢ ぎ 動 äŊœ は æąē め ら れ ãĻ い ãĒ い (不 厚 で あ る ) 。 įž 在 ぎ ã‚Ģ ãƒŧ ネ ãƒĢ が お ぎ よ う ãĢ 動 äŊœ す る か は 、 「 æŗ¨ 意 」 ぎ ã‚ģ ク ã‚ˇ ョ ãƒŗ を 参 į…§ ぎ こ と 。 )

7.

通 常 時 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム ãĢ デ ã‚Ŗ ãƒŦ ク ト ãƒĒ /initrd が あ れ ば 、 /dev/ram0 デ バ イ ゚ は / か ら /initrd ãĢ į§ģ 動 さ れ る 。 /initrd デ ã‚Ŗ ãƒŦ ク ト ãƒĒ が 存 在 し ãĒ い å ´ 合 は 、 /dev/ram0 は ã‚ĸ ãƒŗ マ ã‚Ļ ãƒŗ ト さ れ る 。 ( / が /initrd ãĢ į§ģ 動 さ れ た å ´ 合 ãĢ は 、 /dev/ram0 は ã‚ĸ ãƒŗ マ ã‚Ļ ãƒŗ ト さ れ ず 、 そ ぎ įĩ 果 、 /dev/ram0 で čĩ° り 始 め た プ ロ ã‚ģ ゚ は そ ぎ ぞ ぞ 掋 る äē‹ ãŒ で き る 。 も し 、 /initrd デ ã‚Ŗ ãƒŦ ク ト ãƒĒ が 通 常 時 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム ãĢ 存 在 せ ず 、 /linuxrc が įĩ‚ äē† ã— た 時 ãĢ /dev/ram0 上 で 原 行 さ れ た 、 ãĒ ん ら か ぎ プ ロ ã‚ģ ゚ が čĩ° り įļš ã‘ ãĻ い た å ´ 合 ぎ ã‚Ģ ãƒŧ ネ ãƒĢ ぎ 動 äŊœ は æąē め ら れ ãĻ い ãĒ い (不 厚 で あ る ) 。 įž 在 ぎ ã‚Ģ ãƒŧ ネ ãƒĢ が 、 こ ぎ 時 お ぎ よ う ãĒ 動 äŊœ を す る か ãĢ つ い ãĻ は 、 「 æŗ¨ 意 」 を 参 į…§ ぎ こ と 。 )

8.

晎 通 ぎ ブ ãƒŧ ト ã‚ˇ ãƒŧ ã‚ą ãƒŗ ゚ (例 え ば 、 /sbin/init ぎ čĩˇ 動 ) が 通 常 時 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム 上 で 行 わ れ る 。

ã‚Ē プ ã‚ˇ ョ ãƒŗ

initrd を ᔍ い る å ´ 合 ãĢ 、 ã‚Ģ ãƒŧ ネ ãƒĢ ぎ ブ ãƒŧ ト ã‚ĸ ッ プ 操 äŊœ ãĢ åŊą éŸŋ を 与 え る ブ ãƒŧ ト ロ ãƒŧ ダ ãƒŧ ã‚Ē プ ã‚ˇ ョ ãƒŗ は æŦĄ ぎ よ う ãĒ も ぎ が あ る 、
initrd=
filename

/dev/initrd ぎ 内 厚 と し ãĻ ロ ãƒŧ ド す る フ ã‚Ą イ ãƒĢ を 指 厚 す る 。 LOADLIN で は 、 こ れ は ã‚ŗ マ ãƒŗ ド ナ イ ãƒŗ ã‚Ē プ ã‚ˇ ョ ãƒŗ で あ る 。 LILO で は 、 LILO ぎ 設 厚 フ ã‚Ą イ ãƒĢ /etc/lilo.config 内 で ã‚ŗ マ ãƒŗ ド と し ãĻ äŊŋ ᔍ し ãĒ け れ ば ãĒ ら ãĒ い 。 こ ぎ ã‚Ē プ ã‚ˇ ョ ãƒŗ で 指 厚 さ れ る フ ã‚Ą イ ãƒĢ は 、 多 く ぎ å ´ 合 gzip 圧 į¸Ž さ れ た フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム イ ãƒĄ ãƒŧ ジ で あ る 。

noinitrd

こ ぎ čĩˇ 動 ã‚Ē プ ã‚ˇ ョ ãƒŗ は äēŒ æŽĩ 階 ぎ čĩˇ 動 操 äŊœ を į„Ą 劚 ãĢ す る 。 ã‚Ģ ãƒŧ ネ ãƒĢ は /dev/initrd が 初 期 化 さ れ ãĻ い ãĒ い å ´ 合 と 同 様 ぎ 、 通 常 ぎ ブ ãƒŧ ト ã‚ĸ ッ プ 動 äŊœ を 行 う 。 こ ぎ ã‚Ē プ ã‚ˇ ョ ãƒŗ を ᔍ い る と 、 ブ ãƒŧ ト ロ ãƒŧ ダ ãƒŧ ãĢ よ ãŖ ãĻ ãƒĄ ãƒĸ ãƒĒ ãƒŧ 上 ãĢ ロ ãƒŧ ド さ れ た /dev/initrd ぎ 内 厚 は そ ぎ ぞ ぞ äŋ 存 さ れ る 。 つ ぞ り 、 こ ぎ ã‚Ē プ ã‚ˇ ョ ãƒŗ を ᔍ い る こ と ãĢ よ ãŖ ãĻ 、 /dev/initrd ぎ 内 厚 を (ブ ãƒŧ ト äģĨ 外 ぎ į›Ž įš„ ãĢ ) 刊 ᔍ す る こ と が 可 čƒŊ ãĢ ãĒ る 。 ぞ た 、 そ ぎ 内 厚 は フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム イ ãƒĄ ãƒŧ ジ ãĢ 限 厚 さ れ ãĒ い 。 し か し 、 /dev/initrd デ バ イ ゚ は čĒ­ ãŋ だ し ぎ ãŋ 可 čƒŊ で あ り 、 ã‚ˇ ゚ テ ム ぎ čĩˇ 動 垌 1 åēĻ ã— か čĒ­ ãŋ å‡ē す äē‹ ãŒ で き ãĒ い 。

root= device-name

通 常 時 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム と し ãĻ äŊŋ わ れ る デ バ イ ゚ を 指 厚 す る 。 LOADLIN で は 、 こ れ は ã‚ŗ マ ãƒŗ ド ナ イ ãƒŗ ã‚Ē プ ã‚ˇ ョ ãƒŗ で あ る 。 LILO で は ã‚ŗ マ ãƒŗ ド ナ イ ãƒŗ ã‚Ē プ ã‚ˇ ョ ãƒŗ 、 ぞ た は 、 LILO ぎ 設 厚 フ ã‚Ą イ ãƒĢ で あ る /etc/lilo.config ぎ ã‚Ē プ ã‚ˇ ョ ãƒŗ ナ イ ãƒŗ と し ãĻ äŊŋ ᔍ す る 。 こ ぎ ã‚Ē プ ã‚ˇ ョ ãƒŗ で 指 厚 さ れ る デ バ イ ゚ は 、 遊 切 ãĒ ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム と し ãĻ マ ã‚Ļ ãƒŗ ト 可 čƒŊ ãĒ デ バ イ ゚ で ãĒ け れ ば ãĒ ら ãĒ い 。

通 常 時 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム ぎ 変 更

デ フ り ãƒĢ ト で は 、 ã‚Ģ ãƒŧ ネ ãƒĢ ぎ 設 厚 (例 え ば 、 rdev (8) を ᔍ い ãĻ ã‚Ģ ãƒŧ ネ ãƒĢ フ ã‚Ą イ ãƒĢ 内 ãĢ ã‚ģ ッ ト さ れ た も ぎ 、 ぞ た は 、 ã‚ŗ ãƒŗ パ イ ãƒĢ 時 ãĢ ã‚Ģ ãƒŧ ネ ãƒĢ フ ã‚Ą イ ãƒĢ 内 ãĢ 埋 め čžŧ ぞ れ た も ぎ )、 ぞ た は 、 ブ ãƒŧ ト ロ ãƒŧ ダ ãƒŧ ぎ ã‚Ē プ ã‚ˇ ョ ãƒŗ 設 厚 ãĢ よ ãŖ ãĻ 指 厚 さ れ た も ぎ が 通 常 時 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム と し ãĻ äŊŋ わ れ る 。 NFS マ ã‚Ļ ãƒŗ ト さ れ た 通 常 時 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム を 刊 ᔍ す る å ´ 合 、 nfs_root_name と nfs_root_addrs ブ ãƒŧ ト ã‚Ē プ ã‚ˇ ョ ãƒŗ を äŊŋ ãŖ ãĻ NFS ぎ 設 厚 を 与 え ãĒ け れ ば ãĒ ら ãĒ い 。 NFS マ ã‚Ļ ãƒŗ ト さ れ た ãƒĢ ãƒŧ ト (フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム ) ãĢ つ い ãĻ ぎ よ り čŠŗ し い 情 å ą は 、 ã‚Ģ ãƒŧ ネ ãƒĢ ぎ ド キ ãƒĨ ãƒĄ ãƒŗ ト フ ã‚Ą イ ãƒĢ Documentation/filesystems/nfs/nfsroot.txt (Linux 2.6.33 よ り 前 は Documentation/filesystems/nfsroot.txt ) を 参 į…§ ぎ こ と 。 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム ぎ 設 厚 ãĢ つ い ãĻ ぎ よ り čŠŗ し い 情 å ą は 、 LILO と LOADLIN ぎ ド キ ãƒĨ ãƒĄ ãƒŗ ト も 参 į…§ ぎ こ と 。

ぞ た 、 /linuxrc を ᔍ い る äē‹ ãĢ よ ãŖ ãĻ も 通 常 時 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム デ バ イ ゚ を 変 更 す る こ と が で き る 。 /linuxrc を ᔍ い ãĻ 、 通 常 時 ãƒĢ ãƒŧ ト デ バ イ ゚ を 変 更 す る た め ãĢ は 、 /proc が マ ã‚Ļ ãƒŗ ト さ れ ãĻ い ãĒ け れ ば ãĒ ら ãĒ い 。 /proc を マ ã‚Ļ ãƒŗ ト し た 垌 で 、 /linuxrc は proc フ ã‚Ą イ ãƒĢ /proc/sys/kernel/real-root-dev , /proc/sys/kernel/nfs-root-name , /proc/sys/kernel/nfs-root-addrs ãĢ 書 き čžŧ ãŋ を 行 い 、 通 常 時 ãƒĢ ãƒŧ ト デ バ イ ゚ を 変 更 す る 。 (NFS で は ãĒ い ) į‰Š ᐆ įš„ ãĒ ãƒĢ ãƒŧ ト デ バ イ ゚ ぎ å ´ 合 、 /linuxrc が 新 し い ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム ぎ デ バ イ ゚ į•Ē åˇ を /proc/sys/kernel/real-root-dev ãĢ 書 き čžŧ む こ と で 、 ãƒĢ ãƒŧ ト デ バ イ ゚ が 変 更 さ れ る 。 NFS ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム ぎ å ´ 合 、 /linuxrc が NFS ぎ 設 厚 を /proc/sys/kernel/nfs-root-name と /proc/sys/kernel/nfs-root-addrs ãĢ 書 き čžŧ ãŋ 、 そ れ か ら /proc/sys/kernel/real-root-dev ãĢ (į–‘ äŧŧ NFS デ バ イ ゚ ナ ãƒŗ バ ãƒŧ で あ る ) 0xff を 書 き čžŧ む こ と で 、 ãƒĢ ãƒŧ ト デ バ イ ゚ が 変 更 さ れ る 。 例 え ば 、 æŦĄ ぎ ã‚ˇ ェ ãƒĢ ã‚ŗ マ ãƒŗ ド ナ イ ãƒŗ ãĢ よ り 、 通 常 時 ãƒĢ ãƒŧ ト デ バ イ ゚ を /dev/hdb1 ãĢ 変 更 で き る だ ろ う :

echo 0x365 >/proc/sys/kernel/real-root-dev

ぞ た 、 NFS ぎ å ´ 合 、 æŦĄ ぎ よ う ãĒ ã‚ˇ ェ ãƒĢ ã‚ŗ マ ãƒŗ ド ナ イ ãƒŗ ãĢ よ り 、 193.8.232.2 と い う IP ã‚ĸ ド ãƒŦ ゚ を 持 つ "idefix" と い う 名 前 ぎ ã‚ˇ ゚ テ ム ぎ 、 通 常 時 ãƒĢ ãƒŧ ト デ バ イ ゚ と し ãĻ 、 ロ ãƒŧ ã‚Ģ ãƒĢ ネ ッ ト ワ ãƒŧ ク ぎ 193.8.232.2 と い う IP ã‚ĸ ド ãƒŦ ゚ を 持 つ NFS ã‚ĩ ãƒŧ バ ぎ NFS デ ã‚Ŗ ãƒŦ ク ト ãƒĒ /var/nfsroot を マ ã‚Ļ ãƒŗ ト す る よ う ãĢ 変 更 で き る :

echo /var/nfsroot >/proc/sys/kernel/nfs-root-name
echo 193.8.232.2:193.8.232.7::255.255.255.0:idefix \
>/proc/sys/kernel/nfs-root-addrs
echo 255 >/proc/sys/kernel/real-root-dev

æŗ¨ 意 : ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム を 変 更 す る た め ãĢ /proc/sys/kernel/real-root-dev を äŊŋ う ぎ は äģĨ 前 ぎ æ–š æŗ• で あ る 。 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム を 変 更 す る 新 し い æ–š æŗ• ãĢ つ い ãĻ ぎ 情 å ą は 、 Linux ã‚Ģ ãƒŧ ネ ãƒĢ ã‚Ŋ ãƒŧ ゚ ãĢ åĢ ぞ れ る Documentation/admin-guide/initrd.rst (Linux 4.10 よ り 前 は Documentation/initrd.txt ) フ ã‚Ą イ ãƒĢ を 参 į…§ ぎ こ と 。 ぞ た 、 pivot_root (2) や pivot_root (8) も 参 į…§ ぎ こ と 。

äŊŋ い æ–š

initrd が 原 čŖ… さ れ た ä¸ģ ãĒ į›Ž įš„ は 、 ã‚ˇ ゚ テ ム イ ãƒŗ ゚ ト ãƒŧ ãƒĢ 時 ãĢ 、 ãƒĸ ジ ãƒĨ ãƒŧ ãƒĢ 化 さ れ た ã‚Ģ ãƒŧ ネ ãƒĢ ぎ 設 厚 を 可 čƒŊ ãĢ す る こ と で あ ãŖ た 。

æŦĄ ぎ よ う ãĒ æĩ れ ぎ ã‚ˇ ゚ テ ム イ ãƒŗ ゚ ト ãƒŧ ãƒĢ が 可 čƒŊ ãĢ ãĒ る :

1.

ロ ãƒŧ ダ ãƒŧ プ ロ グ ナ ム は 、 フ ロ ッ ピ ãƒŧ や そ ぎ äģ– ãŽ ãƒĄ デ ã‚Ŗ ã‚ĸ か ら 、 最 小 限 ぎ ã‚Ģ ãƒŧ ネ ãƒĢ (例 え ば 、 /dev/ram , /dev/initrd , ext2 フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム ぎ ãŋ ぎ ã‚ĩ ポ ãƒŧ ト し た ã‚Ģ ãƒŧ ネ ãƒĢ ) を ブ ãƒŧ ト し 、 gzip 圧 į¸Ž さ れ た 初 期 フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム イ ãƒĄ ãƒŧ ジ を /dev/initrd ãĢ ロ ãƒŧ ド す る 。

2.

原 行 フ ã‚Ą イ ãƒĢ /linuxrc は 、 (1) 通 常 時 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム ぎ マ ã‚Ļ ãƒŗ ト ãĢ äŊ• が åŋ… čρ か (す ãĒ わ ãĄ 、 デ バ イ ゚ ã‚ŋ イ プ 、 デ バ イ ゚ ド ナ イ バ 、 フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム )、 (2) 配 布 ãƒĄ デ ã‚Ŗ ã‚ĸ ãĢ äŊ• が åŋ… čρ か (例 え ば 、 CD-ROM, ネ ッ ト ワ ãƒŧ ク 、 テ ãƒŧ プ ãĒ お ) を æąē 厚 す る 。 æąē 厚 は 、 ãƒĻ ãƒŧ ã‚ļ ãƒŧ へ ぎ 問 い 合 わ せ 、 č‡Ē 動 検 å‡ē 、 あ る い は そ ぎ 严 者 ぎ æ–š æŗ• を įĩ„ ãŋ 合 わ せ ãĻ 行 わ れ る 。

3.

原 行 フ ã‚Ą イ ãƒĢ /linuxrc は 、 初 期 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム か ら åŋ… čρ ãĒ ãƒĸ ジ ãƒĨ ãƒŧ ãƒĢ を ロ ãƒŧ ド す る 。

4.

原 行 フ ã‚Ą イ ãƒĢ /linuxrc は 、 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム を äŊœ 成 し 、 配 įŊŽ ã™ る (こ ぎ æŽĩ 階 で は 、 通 常 時 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム は 厌 全 ãĒ ã‚ˇ ゚ テ ム で あ る åŋ… čρ は ãĒ い )。

5.

原 行 フ ã‚Ą イ ãƒĢ /linuxrc は 、 /proc/sys/kernel/real-root-dev を 設 厚 し 、 /proc 、 通 常 ぎ root フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム 、 マ ã‚Ļ ãƒŗ ト さ れ ãĻ い る そ ぎ äģ– ãŽ フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム を ã‚ĸ ãƒŗ マ ã‚Ļ ãƒŗ ト し 、 原 行 を įĩ‚ äē† ã™ る 。

6.

æŦĄ ãĢ 、 ã‚Ģ ãƒŧ ネ ãƒĢ は 、 通 常 時 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム を マ ã‚Ļ ãƒŗ ト す る 。

7.

こ ぎ æŽĩ 階 で 、 フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム は 全 く 変 更 が 行 わ れ ãĻ い ãĒ い įŠļ 態 で 、 ã‚ĸ ク ã‚ģ ゚ で き る įŠļ 態 ãĢ ãĒ る 。 ぞ た 、 ブ ãƒŧ ト ロ ãƒŧ ダ ãƒŧ を イ ãƒŗ ゚ ト ãƒŧ ãƒĢ す る こ と が で き る 。

8.

ブ ãƒŧ ト ロ ãƒŧ ダ ãƒŧ を 設 厚 し 、 ã‚ˇ ゚ テ ム čĩˇ 動 時 ãĢ äŊŋ ᔍ さ れ る ã‚Ģ ãƒŧ ネ ãƒĢ ãƒĸ ジ ãƒĨ ãƒŧ ãƒĢ ぎ ã‚ģ ッ ト を åĢ ん だ フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム を /dev/initrd ãĢ ロ ãƒŧ ド す る (例 え ば 、 /dev/ram0 デ バ イ ゚ ぎ 内 厚 を äŋŽ æ­Ŗ し 、 ã‚ĸ ãƒŗ マ ã‚Ļ ãƒŗ ト す る 。 最 垌 ãĢ 、 /dev/ram0 ぎ イ ãƒĄ ãƒŧ ジ を フ ã‚Ą イ ãƒĢ ãĢ 書 き å‡ē す )。

9.

こ れ で 、 ã‚ˇ ゚ テ ム が ブ ãƒŧ ト 可 čƒŊ ãĢ ãĒ る 。 こ ぎ 垌 、 さ ら ãĢ そ ぎ äģ– ãŽ イ ãƒŗ ゚ ト ãƒŧ ãƒĢ ぎ äŊœ æĨ­ を 原 行 で き る 。

上 記 ぎ 動 äŊœ で ぎ /dev/initrd ぎ åŊš 剞 ぎ キ ãƒŧ ポ イ ãƒŗ ト は 、 初 期 ã‚Ģ ãƒŧ ネ ãƒĢ ぎ 選 択 や 大 き ãĒ ジ ェ ネ ãƒĒ ッ ク ã‚Ģ ãƒŧ ネ ãƒĢ 、 ã‚Ģ ãƒŧ ネ ãƒĢ ぎ 再 構 ᝉ ãĒ し ãĢ 、 通 常 ぎ ã‚ˇ ゚ テ ム 操 äŊœ で 再 刊 ᔍ 可 čƒŊ ãĒ 設 厚 デ ãƒŧ ã‚ŋ を 刊 ᔍ す る こ と ãĢ あ る 。

2 į•Ē į›Ž ぎ ã‚ą ãƒŧ ゚ は 、 一 つ ぎ įŽĄ ᐆ 上 ぎ ネ ッ ト ワ ãƒŧ ク ãĢ お い ãĻ 、 į•° ãĒ る 設 厚 ぎ ハ ãƒŧ ド ã‚Ļ ェ ã‚ĸ ぎ ã‚ˇ ゚ テ ム 上 で Linux を 動 äŊœ さ せ る た め ぎ イ ãƒŗ ゚ ト ãƒŧ ãƒĢ を 行 う å ´ 合 で あ る 。 こ ぎ よ う ãĒ ã‚ą ãƒŧ ゚ ぎ å ´ 合 、 ご く 小 数 ぎ ã‚Ģ ãƒŧ ネ ãƒĢ ぎ ã‚ģ ッ ト (ᐆ æƒŗ įš„ ãĢ は た ãŖ た 一 つ ぎ ã‚Ģ ãƒŧ ネ ãƒĢ ) ぎ ãŋ を 刊 ᔍ し 、 ã‚ˇ ゚ テ ム å›ē 有 ぎ 設 厚 情 å ą は 可 čƒŊ ãĒ 限 り 小 さ く す る こ と が 望 ぞ し い で あ ろ う 。 こ ぎ å ´ 合 、 全 ãĻ ぎ åŋ… čρ ãĒ ãƒĸ ジ ãƒĨ ãƒŧ ãƒĢ が å…Ĩ ãŖ た å…ą 通 フ ã‚Ą イ ãƒĢ を äŊœ 成 す る 。 そ し ãĻ 、 /linuxrc フ ã‚Ą イ ãƒĢ 、 ぞ た は 、 /linuxrc か ら 原 行 さ れ る フ ã‚Ą イ ãƒĢ ぎ ãŋ を į•° ãĒ ãŖ た も ぎ ãĢ し ãĻ お く 。

3 į•Ē į›Ž ぎ ã‚ą ãƒŧ ゚ は 、 よ り äžŋ 刊 ãĒ 垊 旧 ᔍ デ ã‚Ŗ ゚ ク を äŊœ る å ´ 合 で あ る 。 ãƒĢ ãƒŧ ト フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム ぎ パ ãƒŧ テ ã‚Ŗ ã‚ˇ ョ ãƒŗ ぎ äŊ įŊŽ ã¨ い ãŖ た 情 å ą は ブ ãƒŧ ト 時 ãĢ åŋ… čρ ãĒ い た め 、 /dev/initrd か ら ロ ãƒŧ ド さ れ た ã‚ˇ ゚ テ ム は 、 åŋ… čρ ãĒ æ­Ŗ 常 性 チ ェ ッ ク を 行 ãŖ た 垌 で 、 ãƒĻ ãƒŧ ã‚ļ ãƒŧ へ ぎ 問 い 合 わ せ や č‡Ē 動 検 å‡ē (も し く は そ ぎ 严 æ–š ) を 行 う こ と が で き る よ う ãĢ ãĒ る 。

(äģ– ãĢ も た く さ ん 例 が あ る だ ろ う が ) 最 垌 ぎ 例 と し ãĻ は 、 initrd を 刊 ᔍ す る と 、 CD-ROM 上 ぎ Linux デ ã‚Ŗ ゚ ト ãƒĒ ビ ãƒĨ ãƒŧ ã‚ˇ ョ ãƒŗ を よ り į°Ą 単 ãĢ CD-ROM か ら イ ãƒŗ ゚ ト ãƒŧ ãƒĢ す る こ と が で き る だ ろ う 。 デ ã‚Ŗ ゚ ト ãƒĒ ビ ãƒĨ ãƒŧ ã‚ˇ ョ ãƒŗ は 、 LOADLIN を äŊŋ ãŖ ãĻ 、 フ ロ ッ ピ ãƒŧ を 全 く 刊 ᔍ せ ず ãĢ CD-ROM か ら /dev/initrd を į›´ æŽĨ ロ ãƒŧ ド す る こ と が で き る 。 ぞ た 、 LILO ブ ãƒŧ ト フ ロ ッ ピ ãƒŧ を äŊŋ ãŖ ãĻ ブ ãƒŧ ト を 行 い 、 /dev/initrd を 通 し ãĻ CD-ROM か ら よ り 大 き ãĒ RAM デ ã‚Ŗ ゚ ク を čĩˇ 動 す る こ と も で き る 。

フ ã‚Ą イ ãƒĢ

/dev/initrd
/dev/ram0
/linuxrc
/initrd

æŗ¨ 意

1.

įž 在 ぎ ã‚Ģ ãƒŧ ネ ãƒĢ で は 、 /dev/ram0 が / か ら /initrd ãĢ į§ģ 動 さ れ た 際 ãĢ 、 į§ģ 動 時 ãĢ マ ã‚Ļ ãƒŗ ト さ れ ãĻ い た フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム は 、 そ ぎ 垌 も įļ™ įļš įš„ ãĢ ã‚ĸ ク ã‚ģ ゚ 可 čƒŊ で あ る 。 し か し 、 /proc/mounts ぎ エ ãƒŗ ト ãƒĒ ãƒŧ は 更 新 さ れ ãĒ い 。

2.

įž 在 ぎ ã‚Ģ ãƒŧ ネ ãƒĢ で は 、 デ ã‚Ŗ ãƒŦ ク ト ãƒĒ /initrd が 存 在 し ãĒ い å ´ 合 、 /dev/ram0 を äŊ• ら か ぎ プ ロ ã‚ģ ゚ が 刊 ᔍ し ãĻ い た り 、 äŊ• ら か ぎ フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム が /dev/ram0 上 ãĢ マ ã‚Ļ ãƒŗ ト さ れ ãĻ い る と 、 /dev/ram0 は 厌 全 ãĢ は ã‚ĸ ãƒŗ マ ã‚Ļ ãƒŗ ト 「 さ れ ãĒ い 」 。 /dev/ram0 が 、 厌 全 ãĢ ã‚ĸ ãƒŗ マ ã‚Ļ ãƒŗ ト 「 さ れ ãĒ け れ ば 」 、 /dev/ram0 は ãƒĄ ãƒĸ ãƒĒ ãƒŧ 上 ãĢ 掋 ãŖ ãĻ し ぞ う は ず で あ る 。

3.

/dev/initrd ぎ 刊 ᔍ 者 は 、 上 記 ぎ æŗ¨ 意 äē‹ é … で čŋ° ず た 動 äŊœ ãĢ 䞝 存 し ãĒ い よ う ãĢ す ず き で あ る 。 こ れ ら ぎ 動 äŊœ は Linux ã‚Ģ ãƒŧ ネ ãƒĢ ぎ 将 æĨ ぎ バ ãƒŧ ジ ョ ãƒŗ で は 変 更 さ れ る か も し れ ãĒ い か ら だ 。

é–ĸ 逪 項 į›Ž

chown (1), mknod (1), ram (4), freeramdisk (8), rdev (8)

Linux ã‚Ģ ãƒŧ ネ ãƒĢ ã‚Ŋ ãƒŧ ゚ ぎ Documentation/admin-guide/initrd.rst (Linux 4.10 よ り 前 で は Documentation/initrd.txt )、 LILO ぎ ド キ ãƒĨ ãƒĄ ãƒŗ ト 、 LOADLIN ぎ ド キ ãƒĨ ãƒĄ ãƒŗ ト 、 SYSLINUX ぎ ド キ ãƒĨ ãƒĄ ãƒŗ ト

こ ぎ 文 書 ãĢ つ い ãĻ

こ ぎ man ペ ãƒŧ ジ は Linux man-pages プ ロ ジ ェ ク ト ぎ ãƒĒ ãƒĒ ãƒŧ ゚ 5.10 ぎ 一 部 で あ る 。 プ ロ ジ ェ ク ト ぎ čĒŦ 明 と バ グ å ą 告 ãĢ é–ĸ す る 情 å ą は https://www.kernel.org/doc/man-pages/ ãĢ 書 か れ ãĻ い る 。