NFS-Root Mini-Howto Andreas Kostyrka, andreas@ag.or.at V8, 8 August 1997 äÉ º¾, pessi@kmc.kyoto-u.ac.jp ì ÷, cas@kaba.or.jp, cas@kuis.kyoto-u.ac.jp ì m, cz8cb01@linux.or.jp v8j, 1999N 915ú ±Ì Mini-HOWTO ÅÍA[gt@CVXeð NFS Å}Eg·é ``fBXNX'' Linux }VðZbgAbv·éû@É¢Äà¾µÜ ·B±Ì Mini-Howto ÌÅVÅÍíÉ ftp://sun- site.unc.edu/pub/Linux/docs/HOWTO/mini/NFS-Root àµÍÅñèÌ sun- site ~[TCg©çæ¾Å«Ü·B ______________________________________________________________________ Ú 1. Copyright 1.1 ±Ì¶É¦ÍµÄê½ûX 2. TÏ 3. T[o[ÌÝè 3.1 J[lÌRpC 3.2 root t@CVXeÌì¬ 3.2.1 t@CVXeÌRs[ 3.2.2 [gt@CVXeÉηéÏX 3.2.3 t@CVXeÌ export 3.2.4 RARP ÌÝè 3.2.5 BOOTP ÌÝè 3.2.6 n[hEFAAhXð©Â¯é 4. fBXNX}VðN® 4.1 boot rom ðgp 4.2 raw J[lfBXNðg¤ 4.3 u[g[_[Æ RARP ðg¤ 4.4 RARP ȵÅu[g[_[ðg¤ 5. ùmÌâè 5.1 /sbin/init ªN®µÈ¢B 5.2 /dev gu 6. »Ì¼Ìbè 7. |óÉ墀 ______________________________________________________________________ 1. Copyright ióFÇÒÌÖðl¦ú{êóðµÜ·ªA´¶Ì Copyright ªDæµ Ü·j (c) 1996 Andreas Kostyrka (e9207884@student.tuwien.ac.at or andreas@ag.or.at) Unless otherwise stated, Linux HOWTO documents are copyrighted by their respective authors. Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions. ÁÉfçÈ¢ÀèALinux HOWTO hL gÍ»ê¼êÌÒÌì¨Å ·BLinux HOWTO hL gÍASÄÌRs[ɨ¢Ä copyright ªÛ ³êÄ¢éÀèAÇÌæ¤È¨I é¢ÍdqIÈfBAÉæÁÄàAS é¢Í»Ìêð¡»µAzz·é±ÆªÅ«Ü·B¤pÌÄzzÉ¢ ÄàÂâ§ãð³êĢܷªA»Ìæ¤È¢©ÈézzÉÖµÄàAÒ ÍÊm³êé±Æð]ñŢܷB All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below. SÄÌ|óAh¶IÈì¨A é¢Í¢¸ê©Ì Linux HOWTO ¶Ìàe ðæèüêÄWIÈì¨Í±Ì copyright ̺ÅÛì³êéKvª è Ü·BÂÜèA¢¸ê©Ì HOWTO ðàÆɵ½ì¨ðìÁÄà»ÌzzÉ §ÀðÇÁµÄÍ¢¯Ü¹ñB éð̺ÅÍA±êçÌK¥ÉηéáO ªFßçêéêª èÜ·BºLÌAhXÌ Linux HOWTO ÌR[fBl [^ÉAðæÁľ³¢B In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTOs. v·éÉA½¿ÍÂ\ÈÀè½ÌoHðʶıÌîñÌyð£i·é ±Æð]ñŢܷBµ©µA½¿Í HOWTO ̶Ìì ðÛ·é± Æà]ñŢܷµAܽ»êç HOWTO ̶ðÄzz·éÇñÈvæ ཿÉmç¹Ä¢½¾¯êÎKrÉv¢Ü·B If you have questions, please contact Andreas Kostyrka <mailto:andreas@ag.or.at>, the author of this mini-HOWTO, or Tim Bynum, the Linux HOWTO coordinator, at <mailto:linux- howto@sunsite.unc.edu> via email. ൲¿âª êÎ e-mail ÅA±Ì mini-HOWTO ÌÒÅ é Andreas Kostyrka <mailto:andreas@ag.or.at>A é¢Í Linux HOWTO ÌR[fBl [^[Ì Tim Bynum <mailto:linux-howto@sunsite.unc.edu> ÜÅǤ¼B 1.1. ±Ì¶É¦ÍµÄê½ûX o Avery Pennarun <apenwarr@foxnet.net> (LILOȵÅN®·éû@É¢ Ä) o Ofer Maor <ofer@hadar.co.il> (fBXNX}VÌÝèÉ¢Äæ¢ mini howto ðñµÄê½) o Christian Leutloff <leutloff@sundancer.tng.oche.de> (netboot ÉÖµ ÄÌîñ) 2. TÏ êÊÉAfBXNX}VÉÍȺÌæ¤Èâèª èÜ·B o ©gÌ IP AhXð©Â¯éKvª èAܽKvÈç»Ì¼Ì Ethernet ÌÝèàÅ·B o NFS T[o[ÆA©gÌ root t@CVXeÌ}Eg·×«pXð méKvª èÜ·B J[li1.3.7x È~jÌ»ÝÌ NFSROOT ÌÀÅÍAÌ ``â詽'' ÅãLÌâèððµÄ¢Ü·B o IP AhXð RARP Åæ¾µ½èAEthernet ÖWÌÝèSÄð LILO â LOADLIN ©çn³êéJ[lp[^©çæ¾·é±ÆªÅ«Ü·B o }Eg·é NFS ÌpXðJ[lp[^Ån·±ÆàÅ«Ü·Bn ³êÈ©Á½êAJ[lÍ RARP T[o[ð NFS T[o[Åà éÆ ©ÈµÄApXÉÍRpCÉwè³ê½ftHglðgpµÜ ·Bi»ÝÌftHglÍ /tftpboot/<»Ì}VÌIP AhX>Å ·j o NCAgÌÝèÍ BOOTP ©çæ¾·é±ÆàÅ«Ü·B fBXNX«ÌÝèðnßéOÉAu[g·é½ßÉ LILO Æ LOADLIN ÌÇ¿çðgp·é©ðßĨ¢½ûªæ¢Åµå¤B±êçðgp·éÆ ZÊ«ª éÆ¢¤_ª èÜ·ªA¬xÌ_ÅÍsÅ·BLILO ª³¢ Ù¤ª Linux J[lÌN®ÍæèÈèÜ·B±Ì_Íl¶µ½ûªæ ¢©àmêܹñB 3. T[o[ÌÝè 3.1. J[lÌRpC T[o[ÌJ[lÉÍ RARP T|[gðÝèµÄ¨¢½Ù¤ªæ¢Åµå ¤BJ[lp[^[³µÅN®·éÉÍKvÉÈèÜ·©çB½¾µ NCAgªT[o[Ư¶TulbgàÉȯêÎ RARP Íðɧ½È¢ ŵå¤B fBXNX}VpÌJ[lÉÍÅáÀAÌæ¤È@\ðRpC ÉgÝÞKvª éŵå¤B o NFS t@CVXe(ext2 T|[gðgÝÞKvÍ èܹñB W [Å[ªÅ·) o ``Root on NFS'' ÌLø»ienabledj o fBXNX}VÌlbg[NJ[hpÌ Ethernet hCo[ o j[YÉàæèÜ·ªANFS-Root Ì×É RARP â BOOTBP T|[gðgÝ ÞKvª é©àmêܹñBi±êçÍ make config ðµ½Æ«É NFS ÌãÉ·©êÜ·j fBXNX}VðJ[lp[^[³µÅN®·éêA[gfo CXð 0:255 ÉZbg·éKvà èÜ·B_~[foCXðìéÉÍ mknod /dev/nfsroot b 0 255 ðÀsµÜ·BfoCXt@Cð쬵½ ãAJ[lC[WÌ[gfoCXð rdev <kernel-image> /dev/nfsroot ÅÝè·é±ÆªÅ«Ü·B 3.2. root t@CVXeÌì¬ 3.2.1. t@CVXeÌRs[ Warning^xF±êçÌw¦Í¤Ü®ì·é©àµêܹñªAÂ«É æÁÄ͵ÄKØÈàÌÅÍ èܹñBNCAg̽ßÌ[gt@ CVXeÝèÌAæèæ¢û@É¢ÄÍ Ofer Maor <ofer@hadar.co.il> Ì NFS-Root-Client mini howto ðQƵľ³¢B NCAg̽ßÌ[gc[ðT[o[ãÌDZÉuÌ©ðß½ ãAiá¦Îjmkdir -p <directory> Æ tar cClf / - | tar xpCf <directory> - ðÀsµÄ쬵ľ³¢B LILO ðgí¸ÉJ[lðN®·éêA[gfBNgÍ /tftpboot/<IP-address> ÌKvª èÜ·B»êªÈçAJ[l\[X ÌêÔãióFÂÜè /usr/src/linux)É é Makefile ÅÏXÅ«Ü·B NFS_ROOT = -DNFS_ROOT="/tftpboot/%s" Ìæ¤ÈsðTµÄ¾³¢BÏX µ½êJ[lðÄRpC·éKvª èÜ·B 3.2.2. [gt@CVXeÉηéÏX ³ÄAsKvÈt@Cðæè¢ÄA/etc/rc.d XNvgð`FbNµÜ µå¤B¢Â©ÌdvÈ_ª èÜ·B o dvȱÆÌêÂƵÄÍ eth0 ÌÝèª èÜ·BfBXNX}V Í eth0 ðAÈÆàªIÉÍAÝèµÄN®µÜ·BfBXNX }VÌ IP AhXðT[oÌ IP AhXƵÄÝè·éÌÍAû Ès×ÆÍ¢¦Ü¹ñËBiMÒªÅ̱ëÉâÁĵÜÁ½±ÆÌê ÂÅ·j o à¤êÂÌ_ÍfBXNX}VÌ /etc/fstab Å·BNFS t@CV XepÌÝèÌKvª èÜ·B o x^WARNING: T[o[Ì[gt@CVXeÆANCAg ifBXNX}VjÌt@CVXe𬯵Ȣ±ÆBiT[o [Ì rc.inet1 ðC³µÄµÜ¢AȺirc.int1 ÅÝèµ½Éà©©í ç¸jNCAgª®ìµÈ¢Ì©AÆl¦ñ¾±Æª èÜ·j 3.2.3. t@CVXeÌ export [gfBNgðfBXNX}VpÉ export µÜ·Bû@ªs¾Ì êAexports(5) ðQƵľ³¢BåïÌêAÏXãÉ nfsd/mountd ÌÄN®ªKvÆÈèÜ·BRedHat ÌêA/etc/rc.d/init.d/nfs stop ; /etc/rc.d/init.d/nfs start ðÀs·é±ÆÅÈPÉÅ«Ü·B 3.2.4. RARP ÌÝè RARP ðlbg[NãÌDZ©ÅZbgAbvµÜ·BNCAgð nfsroot p[^[ȵÅN®·éêARARP T[o[Í NFS T[o[Ì Kvª èÜ·ªAÊÍ NFS T[o[ŵå¤B±Ì½ßÉÍARARP T| [gt«ÌJ[lðç¹éKvª èÜ·B Ýèð·é½ßÉAÌXNvgðÀsµÄ¾³¢iܽAT[o[Ì /etc/rc.d ÌDZ©É»ÌXNvgðCXg[µÄ¨«Üµå¤j /sbin/rarp -s <IP AhX> <n[hEFAAhX> IP AhX ÍfBXNX}VÌ IP AhX n[hEFAAhX ÍfBXNX}VÌlbg[NJ[hÌ Ethernet AhXÅ ·B áF /sbin/rarp -s 131.131.90.200 00:00:c0:47:10:12 IP AhXÌãíèÉzXg¼ðg¤±ÆàÅ«Ü·B½¾µAT[o[ª IP AhXði/etc/hosts â DNS ðõµÄj©Â¯é±ÆªÅ«êÎA Å·ªB 3.2.5. BOOTP ÌÝè BOOTP ðÝè·é½ßÉÍ /etc/bootptab ðÒW·éKvª èÜ ·Bbootpd(8) â bootptab(5) Ì man page ðQƵľ³¢B 3.2.6. n[hEFAAhXð©Â¯é n[hEFAAhXÈñÄmèܹñBǤ·êΩ¯çêéñÅµå¤ ©H o ìÁ½J[lðN®µÄAlbg[NJ[hªF¯³êÄ¢ésª\ ¦³êéÌðҿܵå¤BÊí 6 oCgÌ 16 iªÜÜêĢܷ ªA»êª»ÌJ[hÌn[hEFAAhXÌ͸ŷB o TCP/IP lbg[NðLøɵ½½©Ì OS ÅfBXNX}VðN® µÜ·B»ê©ç»Ì}V©çT[o[Ö ping ðÀsµA/sbin/arp -a Å ARP LbV Ìð©Ü·B 4. fBXNX}VðN® 4.1. boot rom ðgp Íܾ»¤¢¤ÍÆȨðgÁ½±Æª èܹñ©çAÌ tips ð° é±Æµ©Å«Ü¹ñiChristian Leutloff <leutloff@sundancer.tng.oche.de> ̨ì@jB o ``normal'' Ì boot rom ðg¤±ÆÍūܹñB o Gero Kuhlmann Éæé netboot pPbgª¶ÝµÜ·B±êÍ Linux p Ì boot rom ÆA³çÈéîñðñµÜ·Bnetboot ͨßÌ Linux ~[TCgAÜ½Í Debian package(netboot-0.4)©çüèÅ«Ü·B o boot rom Ét®ÌhL gðÓ[Çñž³¢B o ¨»çAT[o[Ì tftpd ðLø»·éKvª éŵ太Agp· é boot rom ÌJ[lÌ[hû@É˶µÜ·B o e Linux fBXgr [VÌ bootrom x_[É¢ÄAãLÅ q×½ÈOÌÇÌæ¤ÈîñÅà½}µÜ·B±±ÉÇÁµÜ·ÌÅB 4.2. raw J[lfBXNðg¤ ftHgÌl[~OÉ]Á½³µ¢¼OÅ[gt@CVXeð export µÄ¢ÄANFS T[o[ª RARP T[o[Å éêiÂÜè¼ÒÌ }VͯêÌTulbgàɶÝjAJ[lðfBXNÉ cat ·é¾¯ ÅN®·é±ÆªÅ«Ü·BiJ[lÌ[gfoCXð 0:255 É·éK vª èÜ·j ±êÍÂÜèAT[o[Ì[gfBNgª /tftpboot/IP AhX É éƼèµÜ·i±ÌlÍJ[lRpC ÉÏXÅ«Ü·jB 4.3. u[g[_[Æ RARP ðg¤ J[lN®ÉKvÈp[^[SÄÆAnfsroot=<T[o[Ì IP Ah X>:</path/to/mount> ðnµÄ¾³¢B±±Å T[o[Ì IP AhX Í NFS T[o[Ì IP AhXðA/path/to/mount Í[gfBNgÌ pXð\µÜ·B Tips: o LILO ðg¤ÌÅ êÎA``lock'' @\ÌgpÍl¶ÉlµÜ·BܸP ÉSÄ̳mÈp[^[ðü͵A``lock'' ðÇÁµÄ¾³¢B ñÌN®É LILO ð^CAEg³¹Ü·B [óFlock ·éÆÌu[gÅ௶p[^ÅN®µÜ·BÚµ Í LILO Ì README ðQƵľ³¢B] o fBXNX}VpÌu[gfBXNðìéÆ«ÉAlilo.conf Å append= @\ðg¤±ÆàÅ«Ü·B 4.4. RARP ȵÅu[g[_[ðg¤ J[lÉAnfsroot ÉÁ¦Ä nfsaddrs=<client-IP>:<srv-IP>:<gw- IP>:<netm-IP>:<hostname> øðnµÄ¾³¢BJ[lÍ eth0 ðn³ ê½øÅÝèµÜ·B client-IP fBXNX}VÌ IP AhX srv-IP NFS T[o[Ì IP AhX gw-IP Q[gEFC netm-IP lbg}XN hostname }V̼OizXg¼j 5. ùmÌâè 5.1. /sbin/init ªN®µÈ¢B /sbin/init Åæ éâèÍA¢Â©ÌiÈÆàj»sÌfBXg r [VÌ /sbin/init Í®INÉÈÁÄ¢é±ÆÅ·BÅ·©çN CAgÉεijµ¢ /lib ÌÝèð·éKvª èÜ·BÈPÈû@Æ µÄÍAiNCAgpÌj/sbin/init ðAÃIN³ê½ ``Hello World'' vOÆu«·¦ÄÝé±ÆÅ·B±êÉæèAàÁƪ{IÈ âè©``PÈé'' ®INÌâè©ð©Éßé±ÆªÅ«Ü·B 5.2. /dev gu N®É tty ÉÖ·éæí©çÈ¢bZ[Wª\¦³ê½êANC AgÌ /dev fBNgÅ MAKEDEV XNvgðÀs·éKvª éÅ µå¤B±êÍ dev ÔÉ 64 bit ðgpµÄ¢éA¢Â©ÌT[o[ OS ÅÍ®ìµÈ¢Æ¾¤\ª èÜ·ªAÀs·×«Åµå¤B±Ìâ誶 µ½êAÇÌ os ÅN«½©ðÉ[µÄ¾³¢BÂ\«Ì éð û@ÍN®vZXÌúÅAram fBXNɬ³È /dev ð쬵ÄAñ foCXÌm[hðÄCXg[·é±ÆÅ·B 6. »Ì¼Ìbè o BOOTP ÌNCAgÍ ftp://sunsite.unc.edu/system/Network/admin/bootpc.v045.tgz É èÜ ·B initrdiLinux 2.0 È~©çT|[g³êܵ½jÉæèAfBXNX }VÍÆÄà¤Ü®ìµÜ·BÀÛ initrd ͳçÉJX^}CYµ ½Ýèðs¤êÌAæèiñ¾IðÅ·B o bootpd ð»ÌÜÜp¢éN®ÌêÉÍA±ê(BOOTPNCAg)ÍÀ ÌƱëKvÈ¢ÆvíêÜ·BÆ¢¤ÌàALinux 2.0 ÅÍ RARP Ìã íèÉ BOOTPðgp·éIvVàñ³êÄ¢é©çÅ·(æè³mÉ ÍA¼ûðJ[lRpCÉgÝޱƪūܷB»Ìê ÍAÅɪÔÁÄ«½ûÅ®ì·é±ÆÉÈèÜ·)B o J[l\[XÌhL gfBNgÉANFS [gVXeÉ ¢ÄÌhL gª èÜ·B o NFS oRÅ swap ðÂ\É·épb`à èÜ·B»êÍÉ[Å çêīܵ½ªiÂlIÉñíÉZµ©Á½ÌÅjA[𳵠ĵܢܵ½ :( ¨»ç http://www.linuxhq.com/ Ì unofficial patches ZNV©çüèÅ«é͸ŷB o Ì PGP öJ®Í andreas@ag.or.at ð finger ·é±ÆÅèÉüêçê Ü·B fingerprint ͱêÅ·: F1 F7 43 D5 07 C4 6C 87 BF 6B 33 A2 2C EE 5A F9. 7. |óÉ墀 ¶ÍäÉ º¾³ñAì ÷³ñÌ|óµ½ 1996/08/06 ÅðAìª ÅVÅi1997/08/08jÌ LDP ÅXVµ½àÌÅ·B ú{êóFäÉ º¾ <pessi@kmc.kyoto-u.ac.jp> ì ÷ <cas@kaba.or.jp>, <cas@kuis.kyoto-u.ac.jp> (1996/08/06) ú{êóFì m <cz8cb01@linux.or.jp> (1999/09/15)