NFS¸¦ ÅëÇÑ ·çÆ® ÆÄÀÏ ½Ã½ºÅÛ ¸¶¿îÆ®Çϱâ(nfsroot)
NFS¸¦ ÅëÇÑ ·çÆ® ÆÄÀÏ ½Ã½ºÅÛ ¸¶¿îÆ®Çϱâ(nfsroot)
1996-1997
Â÷ÇöÁø
xunil@linuxfan.com
1999³â 6¿ù
¸¸¾à¿¡ X-Å͹̳ÎÀ̳ª ÇÁ¸°ÅÍ ¼¹ö°°ÀÌ µð½ºÅ© ¾ø´Â ½Ã½ºÅÛÀ» ¾²·Á°í ÇÑ´Ù¸é ·çÆ® ÆÄÀÏ ½Ã½ºÅÛÀ» µð½ºÅ©°¡ ¾Æ´Ñ °÷¿¡ ¼³Á¤À» ÇØ¾ßÇÑ´Ù. ·¥µð½ºÅ©¿¡´Ù°¡ ÇÒ ¼öµµ ÀÖ°í NFS¸¦ ÅëÇØ¼ ÇÒ ¼öµµ ÀÖ´Ù. ÀÌ ¹®¼´Â ·çÆ® ÆÄÀÏ ½Ã½ºÅÛÀ» À§ÇÑ NFS¸¦ ¾î¶»°Ô ¾²´Â°¡¿¡ ´ëÇÑ °ÍÀÌ´Ù. ¾ÕÀ¸·Î "Ŭ¶óÀ̾ðÆ®"¶ó ÇÔÀº µð½ºÅ© ¾ø´Â ½Ã½ºÅÛÀ» ¸»ÇÏ´Â °ÍÀ̰í, "¼¹ö"¶ó ÇÔÀº NFS ¼¹ö¸¦ ¸»ÇÏ´Â °ÍÀÌ´Ù.
nfsroot¸¦ ¾²±â À§Çؼ´Â Ä¿³Î ¼³Á¤¿¡¼ NFS¸¦ Áö¿øÇϵµ·Ï ÇØ¾ßÇÑ´Ù. ¿©±â¼ 
NFS´Â ¸ðµâ·Î ¼³Á¤ÇÏ¸é ¾È µÈ´Ù´Â °ÍÀ» ¸í½ÉÇ϶ó. ¼³Á¤ ½ºÅ©¸³Æ®´Â ´ÙÀ½À¸·Î 
nfsroot¸¦ ¾µ °ÍÀÎÁö¸¦ ¹°À» °ÍÀ̰í, ¾µ °ÍÀ̶ó°í ÇÑ´Ù¸é ¾î¶² ÀÚµ¿ ¼³Á¤ 
½Ã½ºÅÛÀ» ¾µ °ÍÀÎÁö¸¦ ¹°À» °ÍÀÌ´Ù. BOOTP³ª RARP ¸ðµÎ ¾ÈÀüÇÏ´Ù.
Ä¿³ÎÀÌ ºÎÆ® ·Î´õ(loadlin, LILO, ³×Æ®¿öÆ® ºÎÆ® ÇÁ·Î±×·¥°°Àº°Íµé)¿¡ ÀÇÇØ 
·ÎµùÀÌ µÇ¸é ¾î¶² ·çÆ® ÆÄÀÏ ½Ã½ºÅÛ µð¹ÙÀ̽º¸¦ ¾²´ÂÁö, ¼¹ö¸¦ ¾îµð¼ ãÀ»Áö, 
¼¹ö¿¡ ·çÆ®·Î ¸¶¿îÆ®µÉ µð·ºÅ丮ÀÇ À̸§Àº ¹«¾ùÀÎÁö¸¦ ¾Ë¾Æ¾ß ÇÑ´Ù. À̰͵éÀº 
Ä¿³Î ¸í·É¾î ¶óÀÎ ÆÄ¶ó¹ÌÅ͵é·Î ÇØ°áµÉ ¼ö°¡ ÀÖ´Ù.
root=/dev/nfs
À̰ÍÀº °¡»ó NFS µð¹ÙÀ̽º¸¦ Ȱ¼ºÈ ½Ã۱â À§Çؼ ÇÊ¿äÇÏ´Ù. ÁÖÀÇÇÒ °ÍÀº 
À̰ÍÀº ÁøÂ¥ µð¹ÙÀ̽º°¡ ¾Æ³ª¶ó ´ÜÁö Ä¿³Î¿¡°Ô ÁøÂ¥ µð¹ÙÀ̽º ´ë½Å NFS¸¦ 
¾²¶ó°í ¸»ÇØÁÖ´Â °Í¿¡ ºÒ°úÇÏ´Ù´Â °ÍÀÌ´Ù. 
nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]
¸¸¾à¿¡ nsfroot ÆÄ¶ó¹ÌÅͰ¡ ³Ñ°ÜÁöÁö ¾Ê´Â´Ù¸é µðÆúÆ®·Î "/tftpboot/%s" °¡ 
¾²ÀÏ °ÍÀÌ´Ù.
<server-ip>  NFS ¼¹öÀÇ IP ÁÖ¼Ò¸¦ ¾Ë·ÁÁØ´Ù. 
                À̰ÍÀÌ ¾ø´Ù¸é ¹Ø¿¡¼ ¼³¸íÇÒ ip º¯¼ö¿¡ ÀÇÇÑ ¼³Á¤°ªÀÌ ¾²ÀÏ °ÍÀÌ´Ù.
                ÀÌ ÆÄ¶ó¹ÌÅÍ´Â RARP¿Í NFS¸¦ À§ÇÑ ´Ù¸¥ ¼¹ö¸¦ ¾²´Â °ÍÀ» 
                Çã¿ëÇÏ´Â ¿¹¿¡¼ ¾²ÀδÙ. 
<root-dir>   ¼¹öÃø¿¡ ·çÆ®·Î ¸¶¿îÆ®ÇÒ µð·ºÅ丮ÀÇ À̸§. ¿©±â¿¡ "%s"°¡ µé¾î°¡
                ÀÖ´Ù¸é %s´Â Ŭ¶óÀÌ¾ðÆ® IP ÁÖ¼ÒÀÇ ¾Æ½ºÅ° ÇüÅ·Π¹Ù²ð°ÍÀÌ´Ù.
<nfs-options>        ±âº»ÀûÀÎ NFS ¿É¼Çµé. ¸ðµç ¿É¼ÇÀº ÄÞ¸¶·Î ±¸ºÐµÈ´Ù. ¿É¼Ç Çʵ尡
                ºñ¾î ÀÖ´Ù¸é ´ÙÀ½ÀÇ ±âº»°ªÀÌ ¾²ÀÏ °ÍÀÌ´Ù.
                        port    = ¼¹ö Æ÷Æ®¸Ê µ¥¸ó¿¡ ÀÇÇØ ÁÖ¾îÁø °ª
                        rsize   = 1024
                        wsize   = 1024
                        timeo   = 7
                        retrans = 3
                        acregmin= 3
                        acregmax= 60
                        acdirmin= 30
                        acdirmax= 60
                        flags   = hard, nointr, noposix, cto, ac
ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
ÀÌ ÆÄ¶ó¹ÌÅÍ´Â Ä¿³Î¿¡°Ô µð¹ÙÀ̽ºÀÇ IP ÁÖ¼Ò³ª IP ¶ó¿ìÆÃ Å×À̺íÀ» ¾î¶»°Ô ¼³Ä¡ÇÒ
°ÍÀΰ¡¸¦ ¾Ë·ÁÁØ´Ù. ÀÌ ºÎºÐÀº ¿ø·¡ "nfsaddrs"¶ó°í ºÒ·ÈÀ¸³ª Áö±ÝÀº ºÎÆ® ½ÃÀÇ 
IP ¼³Á¤Àº NFS¿Í´Â »ó°ü¾øÀÌ ÀÌ·ç¾îÁö±â ¶§¹®¿¡ "ip"¶ó°í ¹Ù²î¾úÀ¸¸ç ¿¾³¯ À̸§Àº
ȣȯ¼ºÀ» À§ÇØ alias·Î ³²¾Æ ÀÖ´Ù.  
ÀÌ ÆÄ¶ó¹ÌÅͰ¡ Ä¿³Î ¸í·É¾î ¶óÀο¡¼ ºüÁ® ÀÖ´Ù¸é, ¸ðµç Çʵå´Â ºñ¾ú´Ù°í °¡Á¤Çϰí,
´ÙÀ½¿¡ ¼³¸íÇÒ ±âº»°ªÀÌ Àû¿ëµÈ´Ù. ÀϹÝÀûÀ¸·Î Ä¿³ÎÀº ¸ðµç°ÍÀ» RARP¿Í 
BOOTP(Ä¿³Î ¼³Á¤½Ã ¾î¶²°ÍÀÌ ¼¼ÆÃµÇ¾ú³ª¿¡ ´Þ·ÁÀÖ´Ù.)¸¦ ÀÌ¿ëÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.
<client-ip>  Ŭ¶óÀ̾ðÆ®ÀÇ IP ÁÖ¼Ò. ¸¸¾à ºñ¾ú´Ù¸é RARP³ª BOOTP¿¡ ÀÇÇØ 
                °áÁ¤µÈ´Ù. ¾î¶² ÇÁ·ÎÅäÄÝÀÌ ¾²ÀÏ °ÍÀÎÁö´Â Ä¿³Î ¼³Á¤½Ã °áÁ¤ÇÑ
                °ÍÀ̳ª <autoconf> ÆÄ¶ó¹ÌÅÍ¿¡ ´Þ·ÁÀÖ´Ù. ºñ¾îÀÖÁö ¾Ê´Ù¸é
                RARP³ª BOOTP´Â ¾²ÀÌÁö ¾Ê´Â´Ù.
<server-ip>  NFS ¼¹öÀÇ IP ÁÖ¼Ò. ¸¸¾à¿¡ RARP°¡ Ŭ¶óÀ̾ðÆ®ÀÇ ÁÖ¼Ò¸¦ °áÁ¤
                Çß°í ÀÌ ÆÄ¶ó¹ÌÅͰ¡ ºñ¾îÀÖÁö ¾Ê´Ù¸é ¿ÀÁ÷ ¿©±â¼ Á¤ÇÑ ¼¹ö¸¸ÀÌ
                ¹Þ¾Æµé¿©Áø´Ù. RARP¼¹ö¿Í NFS¼¹ö¸¦ ´Ù¸£°Ô ÇÏ·Á¸é RARP ¼¹ö¸¦
                ¿©±â¿¡ ½á¶ó.(ȤÀº ºóÄÀ¸·Î ³²°Ü³õ´øÁö), ±×¸®°í NFS ¼¹ö¸¦
                "nfsroot"ÆÄ¶ó¹ÌÅÍ¿¡ Á¤ÇØÁÖ¸é µÈ´Ù. ¸¸¾à ¿©±â°¡ ºñ¾î ÀÖ´Ù¸é
                RARP³ª BOOTP¿¡ ÀÀ´äÇÑ ¼¹ö°¡ NFS¼¹ö·Î ¾²ÀÏ °ÍÀÌ´Ù.
<gw-ip>              ¼¹ö°¡ ´Ù¸¥ ¼ºê³Ý¿¡ ÀÖÀ»¶§ÀÇ °ÔÀÌÆ®¿þÀÌÀÇ IP ÁÖ¼Ò.
                ¿©±â°¡ ºñ¾î ÀÖ´Ù¸é °ÔÀÌÆ® ¿þÀÌ´Â ¾²ÀÌÁö ¾Ê°í ¼¹ö°¡ ·ÎÄÃ
                ³×Æ®¿öÅ©¿¡ ÀÖ´Ù°í °¡Á¤Çϰųª BOOTP°¡ ¾Ë·ÁÁØ °ªÀ» ¾´´Ù.
<netmask>    ·ÎÄà ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º¿¡ ´ëÇÑ ³Ý¸¶½ºÅ©.
                ºñ¾î ÀÖ´Ù¸é Ŭ¶óÀÌ¾ðÆ® IP ÁÖ¼Ò¿¡¼ ÃßÃøÀ» ÇÑ °ªÀÌ ³Ý¸¶½ºÅ©·Î
                ¾²ÀδÙ. ¾Æ´Ô BOOTP ÀÀ´äÀ¸·Î ¼³Á¤µÇ°Å³ª.
<hostname>   Ŭ¶óÀ̾ðÆ®ÀÇ À̸§. ºñ¾ú´Ù¸é Ŭ¶óÀ̾ðÆ®ÀÇ IP ÁÖ¼Ò´Â ¾Æ½ºÅ° 
                Ç¥ÇöÀ¸·Î ¾²À̰ųª BOOTP¿¡ ÀÇÇÑ °ªÀÌ ¾²ÀδÙ.
<device>     ¾µ ³×Æ®¿öÅ© µð¹ÙÀ̽ºÀÇ À̸§. ºñ¾ú´Ù¸é RARP³ª BOOTP ¿äû¿¡ ´ëÇØ
                ¸ðµç µð¹ÙÀ̽º°¡ ¾²ÀÌ°í ¸ÕÀú ÀÀ´ä¹ÞÀº °ÍÀÌ ¼³Á¤µÈ´Ù. ÇϳªÀÇ
                µð¹ÙÀ̽º¸¸ ÀÖ´Ù¸é ¿©±â¸¦ ºóÄÀ¸·Î ³²°ÜµÎ¾îµµ ÁÁ´Ù. 
<autoconf>   ÀÚµ¿¼³Á¤¿¡ ´ëÇÑ ¹æ¹ý. ¿©±â¼ ¼³Á¤ÇÑ RARP³ª BOOTP°¡ ¾²ÀδÙ.
                µÑ´Ù ¼³Á¤Çϰųª ºñ¿öµÐ´Ù¸é Ä¿³Î ¼³Á¤½Ã °áÁ¤ÇÑ ÇÁ·ÎÅäÄÝÀÌ ¾²ÀδÙ.
                "off"´Â ÀÚµ¿¼³Á¤À» ¾È ¾´´Ù´Â °ÍÀÌ´Ù.
<autoconf>ÆÄ¶ó¹ÌÅÍ´Â ÀÚµ¿¼³Á¤ÀÌ ¾²ÀÏ ¶§ "ip" ÆÄ¶ó¹ÌÅÍ¿¡ ':'¾øÀÌ 
´Üµ¶À¸·Î ¾²ÀÏ ¼ö ÀÖ´Ù.
Ä¿³ÎÀ» ¸Þ¸ð¸®·Î ¿Ã¸±¶§ ¿©·¯ ¹æ¹ýÀÌ ¾²ÀÏ ¼ö Àִµ¥ ¾î¶² ±â´ÉÀÌ °¡´ÉÇѰ¡¿¡ 
´Þ·Á ÀÖ´Ù.
Ç×»ó ÇÏ´øµ¥·Î dd¸¦ ½á¼ Ä¿³ÎÀ» Ç÷ÎÇÇ¿¡ ¾µ ¼ö°¡ ÀÖ´Ù. ÇÏÁö¸¸ Ä¿³Î ¸í·É¾î 
¶óÀÎÀ» ¾µ ¼ö´Â ¾ø´Ù. ±×·¡¼, "root="ÆÄ¶ó¹ÌÅ͸¦ ´ëüÇϱâ À§Çؼ mknod¸¦ 
ÀÌ¿ëÇØ ¸ÞÀÌÀú ³Ñ¹ö 0, ¸¶ÀÌ³Ê ³Ñ¹ö 255Â¥¸® ´õ¹Ì µð¹ÙÀ̽º¸¦ ¸¸µé¾î¾ßÇÑ´Ù.
        mknod /dev/boot255 c 0 255
´ÙÀ½¿¡ Ä¿³Î, zImage ÆÄÀÏÀ» dd·Î Ç÷ÎÇÇ¿¡ º¹»çÇØ¶ó.
        dd if=/usr/src/linux/arch/i386/boot/zImage of=/dev/fd0
±×¸®°í ¸¶Áö¸·À¸·Î rdev¸¦ ½á¼ ·çÆ® µð¹ÙÀ̽º¸¦ ¼³Á¤ÇØÁà¶ó.
        
        rdev /dev/fd0 /dev/boot255
¿©±â¿¡ ¸Â´Â ÁøÂ¥ µð¹ÙÀ̽º´Â ¾ø±â ¶§¹®¿¡ /dev/boot255 ¸¦ Áö¿öµµ µÈ´Ù. 
´Ù¸¥ µÎ°³ÀÇ Ä¿³Î ¸í·É¾î ÆÄ¶ó¹ÌÅÍ´Â rdev·Î ¹Ù²Ü ¼ö°¡ ¾ø±â ¶§¹®¿¡ 
RARP³ª BOOTP¸¦ ¾²´Â ±âº»ÀûÀÎ °ªµéÀÌ ¾²ÀÏ °ÍÀÌ´Ù. ¸¸¾à¿¡ RARP¸¦ ÅëÇØ 
ÀÀ´äÀ» ¹Þ¾Ò´Ù¸é /tftpboot/<client-ip>/ °¡ ·çÆ® µð·ºÅ丮·Î 
¸¶¿îÆ®µÉ °ÍÀ̰í, BOOTP¸¦ ÅëÇØ ÀÀ´äÀ» ¹Þ¾Ò´Ù¸é ÀÀ´ä¿¡ Æ÷ÇԵǾî 
ÀÖ´Â µð·ºÅ丮 À̸§ÀÌ ·çÆ®·Î ¸¶¿îÆ® µÉ°ÍÀÌ´Ù.
¸®·Î¸¦ ¾´´Ù¸é ¸®·ÎÀÇ ¼³Á¤ÆÄÀÏ¿¡¼ "append="¶õ ¸í·ÉÀ¸·Î ÇÊ¿äÇÑ 
¸ðµç ÆÄ¶ó¹ÌÅ͵éÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. "root=" ¸í·ÉÀ» ¾²±â À§Çؼ´Â 
3.1¿¡¼ ¼³¸íÇß´ø °Íó·³ ¿ª½Ã ´õ¹Ì µð¹ÙÀ̽º¸¦ ¸¸µé¾î¾ß ÇÑ´Ù. 
¸®·Î¿Í "append=" ¸í·ÉÀ» ¾²´Â °Í¿¡ ´ëÇÑ »çÇ×Àº ¸®·Î ¹®¼¸¦ ÂüÁ¶Ç϶ó.
ÀÚ½ÅÀÇ ÇÏµå µð½ºÅ©¾øÀÌ ·çÆ®·Î ¸¶¿îÆ®Çϱâ À§ÇØ µµ½º ÇÁ·ÒÇÁÆ®¿¡¼ 
ºÎÆÃÀ» ÇÏ·Á°í ÇÑ´Ù¸é ·Îµå¸°À» ¾µ¸é µÈ´Ù. ÀÌ ¹æ¹ýÀÌ µ¿ÀÛÇÑ´Ù´Â 
¾ê±â´Â µé¾úÁö¸¸ ³»°¡ Á÷Á¢Çغ¸Áö´Â ¾Ê¾Ò´Ù. º¸Åë ¸®·Î¿¡¼ ¾²´Â 
¹æ¹ýó·³ Ä¿³Î ¸í·É¾î ¶óÀÎÀ» ¾µ ¼ö°¡ ÀÖÀ» °ÍÀÌ´Ù. ´õ ¾Ë·Á¸é ·Îµå¸° 
¹®¼¸¦ ÂüÁ¶Ç϶ó.
ÀÌ ¹æ¹ýÀº µð½ºÅ© ¾ø´Â Ŭ¶óÀÌ¾ðÆ®¸¦ ºÎÆÃ½ÃŰ´Â °¡Àå ¼¼·ÃµÈ ¹æ¹ýÀÏ 
°ÍÀÌ´Ù. ºÎÆ®·ÒÀ» ¾²´Â ¹æ¹ýÀº TFTP ÇÁ·ÎÅäÄÝÀ» ½á¼ Ä¿³ÎÀ» 
·ÎµùÇÑ´Ù. ³»°¡ ¾Æ´Â Çѵµ³»¿¡¼ ¾ÆÁ÷ ³×Æ®¿öÅ©¸¦ ÅëÇÑ ¸®´ª½º ºÎÆÃÀ» 
Áö¿øÇÏ´Â »ó¾÷ÀûÀÎ ºÎÆ®·ÒÀº ¾øÁö¸¸ sunsite.unc.edu¿Í ¹Ì·¯ »çÀÌÆ®¿¡ 
°ø°³ÀûÀ¸·Î ±¸ÇöµÈ µÎ°³ÀÇ ºÎÆ®·ÒÀÌ Àִµ¥ "netboot-nfs"¿Í 
"etherboot"¶ó°í ÇÑ´Ù. µÑ ´Ù´Â µð½ºÅ© ¾ø´Â ¸®´ª½º Ŭ¶óÀÌ¾ðÆ®¸¦ 
ºÎÆÃ½Ã۴µ¥ ÇÊ¿äÇÑ ¸ðµç°ÍÀ» °®°í ÀÖ´Ù.
Ä¿³ÎÀÇ nfsroot ÄÚµå¿Í RARP¿¡ ´ëÇÑ Áö¿øÀº Gero 
Kuhlmann(gero@gkminix.han.de)ÀÌ ÀÛ¼ºÇß´Ù.
IP Ãþ¿¡¼ÀÇ ÀÚµ¿¼³Á¤ ÄÚµåÀÇ ³ª¸ÓÁö´Â Martin 
Mares(mj@atrey.karlin.mff.cuni.cz)°¡ ÀÛ¼ºÇß´Ù.
nfsrootÀÇ ÃʱâÈ ¹öÀüÀ» ¾²±â À§Çؼ Jens-Uwe 
Mager(jum@anubis.han.de)ÀÇ µµ¿ò¿¡ °¨»çÇÑ´Ù.