initrd

Autres langues

Langue: ja

Version: 1997-11-06 (openSuse - 09/10/07)

Section: 4 (Pilotes et protocoles réseau)

̾Á°

initrd - ¥Ö¡¼¥È¥í¡¼¥À¤Ë¤è¤Ã¤Æ½é´ü²½¤µ¤ì¤¿ RAM ¥Ç¥£¥¹¥¯

ÀâÌÀ

/dev/initrd ¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¤ÏÆɤ߹þ¤ßÀìÍѤΥ֥í¥Ã¥¯¥Ç¥Ð¥¤¥¹¤Ç¤¢¤ë¡£ /dev/initrd ¥Ç¥Ð¥¤¥¹¤Ï¥«¡¼¥Í¥ë¤¬µ¯Æ°¤µ¤ì¤ëÁ°¤Ë¥Ö¡¼¥È¥í¡¼¥À (boot loader) ¤Ë¤è¤Ã¤Æ½é´ü²½ (Î㤨¤Ð¡¢¥í¡¼¥É) ¤µ¤ì¤ë RAM ¥Ç¥£¥¹¥¯¤Ç¤¢¤ë¡£ ¤½¤Î¸å¡¢¥«¡¼¥Í¥ë¤Ï /dev/initrd ¥Ö¥í¥Ã¥¯¥Ç¥Ð¥¤¥¹¤ÎÆâÍƤòÆóÃʳ¬¤Î¥·¥¹¥Æ¥àµ¯Æ° (two phased 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 ¥Þ¥¦¥ó¥È¤µ¤ì¤¿¥ë¡¼¥È (¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à) ¤Ë¤Ä¤¤¤Æ¤Î ¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï¡¢¥«¡¼¥Í¥ë¤Î¥É¥­¥å¥á¥ó¥È¥Õ¥¡¥¤¥ë 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 ¥¢¥É¥ì¥¹¤ò»ý¤Ä NFS ¥µ¡¼¥Ð¤Î NFS ¥Ç¥£¥ì¥¯¥È¥ê /var/nfsroot ¤ò 193.8.232.7 ¤È¤¤¤¦ IP ¥¢¥É¥ì¥¹¤ò»ý¤Ä idefix ¤È¤¤¤¦Ì¾Á°¤Î¥· ¥¹¥Æ¥à¤ÎÄ̾ï»þ¥ë¡¼¥È¥Ç¥Ð¥¤¥¹¤È¤·¤Æ¥Þ¥¦¥ó¥È¤¹¤ë¤è¤¦¤ËÊѹ¹¤Ç¤­¤ë¤À¤í¤¦:



    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 ¤ò»È¤¦¤Î¤Ï°ÊÁ°¤ÎÊýË¡¤Ç¤¢¤ë¡£ ¥ë¡¼¥È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÊѹ¹¤¹¤ë¿·¤·¤¤ÊýË¡¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Ï¡¢ ¥«¡¼¥Í¥ë¥½¡¼¥¹¤Ë´Þ¤Þ¤ì¤ë 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¡¢ ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ëÄ̾ï»þ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àµÚ¤Ó¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à ¤ò¥¢¥ó¥Þ¥¦¥ó¥È¤·¡¢ ¼Â¹Ô¤ò½ªÎ»¤¹¤ë¡£
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 ¤Ï¡¢¥á¥¸¥ã¡¼ÈÖ¹æ 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
/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 ¥«¡¼¥Í¥ë¤Î¾­Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤ÏÊѹ¹¤µ¤ì¤ë ¤«¤â¤·¤ì¤Ê¤¤¤«¤é¤À¡£

Ãø¼Ô

initrd ¥Ç¥Ð¥¤¥¹¤Î¤¿¤á¤Î¥«¡¼¥Í¥ë¥³¡¼¥É¤Ï Werner Almesberger <almesber@lrc.epfl.ch> ¤È Hans Lermen <lermen@elserv.ffm.fgan.de> ¤Ë¤è¤Ã¤Æ½ñ¤«¤ì¤¿¡£ initrd ¤Î¤¿¤á¤Î¥³¡¼¥É¤Ï¡¢³«È¯¼Ô¸þ¤±¥Ð¡¼¥¸¥ç¥ó¤Î 1.3.73 ¤Ç ¥á¥¤¥ó¤Î Linux ¥«¡¼¥Í¥ë¤ËÁȤ߹þ¤Þ¤ì¤¿¡£

´ØÏ¢¹àÌÜ

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

¥«¡¼¥Í¥ë¥½¡¼¥¹¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤ë¥É¥­¥å¥á¥ó¥È¥Õ¥¡¥¤¥ë initrd.txt¡¢ LILO ¤Î¥É¥­¥å¥á¥ó¥È¡¢LOADLIN ¤Î¥É¥­¥å¥á¥ó¥È¡¢SYSLINUX ¤Î¥É¥­¥å¥á¥ó¥È¡£