Diskless Linux Mini Howto Robert Nemkin buci@math.klte.hu v0.0.3 12 Sep 1996 x]½ê shorie@ibm.net ó ±Ì¶ÍfBXN³µÌ Linux @ðÇÌæ¤É\¬·é©É¢Äྵ Ü·BÅ Í Robert Nemkin É®µÜ·BŠ̵¢Í GPL É]¢Ü·B ±Ì¶ðpêÉ|óµÄê½ Bela Kis <bkis@cartan.math.klte.hu> É ´ÓµÜ·B Ó: ±Ì¶Í©ÈèÈOÉ©ê½àÌÈÌÅA¢ÜÇ«Ì Linux « ÉÍ ÄÍÜçÈ¢Óª èÜ·B (JF Project) ______________________________________________________________________ Ú 1. ÏX_ 2. fBXNÈµÌ Linux @ðÝè·éû@ 3. ÖA¶ 4. n[hEFA 5. î{IÈl¦û 5.1 PC ðÝè·é 5.2 T[o[ãÉ bootpd ðÝu·é 5.3 T[o[ãÌ bootpd Ì\¬ðs¤ 5.4 tftp ðð·é 5.5 uT[o[ãÉŬ\¬Ì Linux ðgÞ 5.6 tftp Ì\¬ðs¤ 5.7 ÅãÌìÆ 6. yÑfBXNÌKvÊB¬x 7. ¶µ¤éG[ 8. ëèA¨æÑ«Éü¯Ä̶ÌXV ______________________________________________________________________ 1. ÏX_ o v0.0.3 12 Sep 1996: ¬³Èëèð¢Â©C³ 2. fBXNÈµÌ Linux @ðÝè·éû@ ±Ì¶ÍfBXN³µÌ Linux @ðÇÌæ¤É\¬·éÌ©ðà¾µÜ ·B Linux ðtbs[àn[hfBXNàÈ¢æ¤È@BÅç¹È¯ê ÎÈçÈ¢±Æª é©àµêܹñBlbg[NÆAbootp â tftp â NFS T[o[ðÁ½ Unix @A»µÄ EPROM C^[ª êÎALinux ð n[hfBXNàtbs[fBXNà³µÅN®·é±ÆªÅ«Ü·B 3. ÖA¶ o NFS-root Mini Howto o Linux NET-2/3-HOWTO Terry Dawson, 94004531@postoffice.csu.edu.au o Vµ¢J[lÌÝèÆRpCÉ¢ÄÍ /usr/src/linux/README ð QƵĺ³¢B 4. n[hEFA ±Ì¶É¢Ä éàeÍȺÌ\¬Ì@íÅmFµÄ¢Ü·B o u[gT[o[ƵÄSun-OS 4.1.3 o Slackware 2.3 + Linux 1.2.8 + WD 8013 Ethernet J[h o Ò®µÄ¢é Ethernet LAN 5. î{IÈl¦û îbÆÈél¦ûÍȺÌÊèÅ·BPC ÍAIP AhXðu[gT[o[© ç bootp vgRÉæÁÄüèµÜ·B±ÌAIP AhXÌúlÍ 0.0.0.0 Å èAJ[lÍ tftp vgRðp¢ÄüèµÜ·B (-- Z Ogð´¦Ä([^[ðʵÄjN®·éÆ¢¤ÌÍêØêÅ¢±Æ ÅÍ èܹñB»±ÅAT[o[ÆfBXN³µ@ð¯¶lbg[NZO gÉÝè·é©AT[o[ÌÊuðÁè·é½ßÉ È½Ì[^[Ìw p[ UDP AhXðÝèµÄº³¢BÚµÍ[^[Ì»iîñðQÆ µÄ¾³¢--) Èãðs¤ÉÍAȺÌ豫ðQƵĺ³¢B 5.1. PC ðÝè·é ܸAnfsu[gpbP[WðüèµÄº³¢ièßÈ Linux ~[TCgÌ the /pub/Linux/system/Linux-boot fBNg[ÉLèÜ·jB±Ìpb P[WÉÍ WD8013 pÌN® EPROM C[WªLèA»ÌÜÜ ROM C^[ ÅıƪūܷB PC ÌõÉͼÌû@à èÜ·B o ÎÛ@ª®SÉfBXNXÆ¢¤í¯ÅàȯêÎA¬³È DOS vO ©çN®·é±ÆàÅ«Ü·B o ܽAãÌpbP[WÌoCiC[Wðûß½tbs[ðg¤èà èÜ·B ãÒÌêAtbs[É dd R}hÅC[Wð«ÝÜ·B ±ÌC[WÍ bootp Æ tftp NCAgðÁĢܷB¼ÉA Linux ÌJ[lðpӵȯêÎÈèܹñB±ÌJ[lÍ nfs-root IvV t«Å\z³êĢȯêÎÈèܹñB o àµAÅVÌÀèµ½J[lÅ é Linux-1.2.13 ðgpµÄ¢éÈç ÎA nfsboot pbP[WÌJ[lpb`t@CªKvÅ·B (-- patch(1) ðQƵľ³¢--) o àµàÅVÅÍ ÁÄàÀèµÄ¢È¢ Linux-1.3.x V[YðgpµÄ ¢éÈçÎ nfs-root IvVÅJ[lð\¬µÈ¯êÎÈèܹ ñB tbs[ân[hfBXNÆ¢Á½ubNfoCXðJ[lÉæè ÞKvÍLèܹñBµ©µATCP/IP Î@\AWD Ethernet J[hÎ A NFS t@CVXeÖÌÎ@\ÍK{Å·B±êçÌ@\ðÝè µ½çAJ[lðRpCµÄº³¢B 5.2. T[o[ãÉ bootpd ðÝu·é bootpd ÍAbootpd-2.4.tar.gz ÉüÁĢܷiêÍALinux ~[TC gÌ /pub/Linux/system/Network/boot.net fBNgÅ·jBpbP[W ðüèµ½çRpCµAgÝñź³¢BàµAT[o[¤Ì Unix ª Slackware ÈçÎAbootpd ÍͶߩçgÝÜêĢܷÌűÌèÍ ³µÄ¾³¢Bf[ÍAR}hC©çN®·é±ÆªÅ«Ü ·B ______________________________________________________________________ bootpd -s ______________________________________________________________________ é¢ÍAinetd ©çàN®Å«Ü· o ±ÌêA/etc/inetd.conf ÌȺÌs©çAsªÌä óðÁµÜ·B ______________________________________________________________________ # tftp dgram udp wait root /usr/sbin/in.tftpd tftpd /export # bootps dgram udp wait root /usr/sbin/in.bootpd bootpd ______________________________________________________________________ o ܽA/etc/services ÌȺÌ2sÌRgð͸µÄº³¢BàµAÈ ãÌsª©½çȢƫÉÍAsðÇÁµÄº³¢BióFä Ís ªÌàÌð͸·¾¯Å·BsÌrÌàÌÍ͸³È¢Åº³¢j ______________________________________________________________________ bootps 67/tcp # BOOTP server tftp 69/udp # TFTP server ______________________________________________________________________ o inetd ðÄN®·éÉÍAÌæ¤ÉµÜ· ______________________________________________________________________ kill -HUP <process id of inetd>. ______________________________________________________________________ 5.3. T[o[ãÌ bootpd Ì\¬ðs¤ ÆÉà©ÉàAbootptab Æ¢¤¼OÌt@Cð bootpd ̽ßÉpÓ· é±Æ©çnßÜ·B±Ìt@CÍÊÍ/etcÉu©êÜ·B\¬ðs¤½ ßɱÌt@CðÒWµÄQ[gEFCADNS T[o[Ì IP AhXA¨ æÑfBXNX@Ì Ethernet AhXðLqµÈ¯êÎÈèܹñBáð °éÆF ______________________________________________________________________ global.prof:\ :sm=255.255.255.0:\ :ds=192.168.1.5:\ :gw=192.168.1.19:\ :ht=ethernet:\ :bf=linux: machine1:hd=/export/root/machine1:tc=global.prof:ha=0000c0863d7a:ip=192.168.1.140: machine2:hd=/export/root/machine2:tc=global.prof:ha=0800110244e1:ip=192.168.1.141: machine3:hd=/export/root/machine3:tc=global.prof:ha=0800110244de:ip=192.168.1.142: ______________________________________________________________________ ±±Å globa.prof ÍAzXgLqpÌ`Å·ióF±ÌãɱÂXÌ @BɤÊÌðLqµÜ·jBܽA o smÍTulbg}XNðA o dsÍhCEl[ET[o[ÌAhXðA o gwÍùèÌQ[gEFCAhXð o htÍLANfBAÌn[hEFAð o bfÍAu[gt@C̼Oð »ê¼êLqµÜ·B±ÌãA·×ÄÌ@BióFfBXNX@jp É o hdÍu[gt@CÌfBNgð o tcÍO[oEev[gÌÇÝÝð o haÍEther Net J[hÌn[hEFAAhXð o ipÍèÄçêéIPAhXð »ê¼êLqµÜ·B 5.4. tftp ðð·é TFTP (Trivial File Transfer Protocol)Í FTP ƯlÈt@C]vg RÅ·Bµ©µA±ÌvgRÍ EPROM ÉÄ«ßéç¢P»³ê ĢܷB TFTP ÉÍ2ÂÌprªLèÜ· o simple TFTP ÍANCAgªt@CVXe·×ÄðÇÝ«Å« éæ¤ÈprÅ·B±êÍÈPÉÀ»Å«Ü·ªAå«ÈZL eB [Ez[ÉÈèÜ·i½µëNÅà±ÌvgRÅpX[ht@C ðßÜ·jB o secure TFTP ÅÍATFTP T[o[ª chroot.2 VXeR[ðgpµ ÄA©ª©gÌ[gfBNgðÏXµÜ·BVµÝè³êé[ gfBNgÌOðÇÝ«·é±ÆÍêØÖ~³êĢܷBchroot ÉæÁÄA¡ÜÅÆÍá¤fBNgª[gÉÈé½ßA·ÅÉྠµ½hdÍAVµ¢ûÌ«ÉεĢéKvª èÜ·Bá¦ÎA simple TFTP ðgpµÄ¢éêAhd Íu[gfBNgÖÌtpX /export/root/machine1 ðàÁĢܷB/export ðVµ¢[gÆµÄ secure TFTP ðgp·éêÍA/export ª / ÉÈé½ßAhd Í /root/machine1 ÉÈèÜ·B UnixÅ êÎÙÆñÇ·×ÄTFTPT[o[ðÁĢܷB½ªA©ªÅ ±ü·éKvÍȢŵå¤B 5.5. uT[o[ãÉŬ\¬Ì Linux ðgÞ Slackware ÈçÎpbP[W aAapAn ¨æÑ x ÈǪgp³êé±ÆÅ µå¤Bà¿ëñAàÁÆCXg[µÄà©Ü¢Ü¹ñBµ©µAfBX NX X [ÈçÎãLÌ\¬Åà\ªÅ·B±üðs¤½ßÉÍÀ®óÔ É é Linux ªKvÅ·B[g}VióFfBXNX@Éu[g @\ðñ·é@BB±ÌêÍ SunOS @jãÉA éöxÌfBXNÌæ ðmÛµAlbg[N©çÇÝ«Å«éæ¤ export µÜ·B export µ ½fBNgðióFÀ®óÔÌ Linux @ÌjKÈêiá¦Î /mntjÉ}EgµÜ·B»¤µÄA±üæð / ÅÍÈ /mnt ƵÄió F Linux @Ìjsetup [eBeB[ðgpµÜ·B»¤µÄæÉ ° ½pbP[Wð±üµÄº³¢BfBXNX@ðê䵩gpµÈ¢ÈçÎ ±ÌÜÜÅ\Å·BàµA2äÈãÌ Linux @ðfBXNXƵÄgpµ ½¢ÈçA±ÌÜÜÅ;ßÅ·Bt@CâfBNg[ÌÉÍfBX NX@ÉÅLÌîñðÂà̪ é½ßÅ·B±ÌâèÍ /usri±Ì fBNgÍ@BÅLîñðÁĢȢjðÊÌêÉÚ®µA¨Ì¨Ì ÌfBXNX@ÉTufBNgðpÓ·é±ÆÉæÁÄðÅ«Ü·B ½Æ¦ÎA/export/linux/machine1 ª /mnt É}Eg³êÄ¢éêAÅ ÌÝèÌãAfBNg\¢ÍȺÌæ¤ÉÈÁĢܷB ______________________________________________________________________ /export/linux/machine1/bin /export/linux/machine1/sbin /export/linux/machine1/lib /export/linux/machine1/etc /export/linux/machine1/var /export/linux/machine1/usr ______________________________________________________________________ ÏXãÍAȺÌæ¤ÉÈèÜ·B ______________________________________________________________________ /export/linux/machine1/bin /export/linux/machine1/sbin /export/linux/machine1/lib /export/linux/machine1/etc /export/linux/machine1/var /export/linux/usr ______________________________________________________________________ ±±ÅA¨Ì¨ÌÌfBXNX@pÉTufBNgðpӵܷBfB XNX@ª»ê¼ê machine1,Amachine2Amachine3 ÆÄÎêÄ¢éÆ ¼èµÜ·B±ÌêA»ê¼êÌfBXNX@ÌÝèpÉÌæ¤È bash XNvgðg¦Ü·B ______________________________________________________________________ cd /export/linux for x in machine2 machine3 ; do mkdir $x; cd $x (cd ../machine1; tar cf - *) | tar xvf - done ______________________________________________________________________ Then do the following export: »¤µÄAÈºÌ export ðs¢Ü·B o /export/linux/usr readonly for everyone. o /export/liunx/machine1 only to machine1 with rw,root rights. o /export/liunx/machine2 only to machine2 with rw,root rights. o /export/liunx/machine3 only to machine3 with rw,root rights. ±ÌìÆðs¤ÉÍȺÌLqð©Ä¾³¢ (-- ®Í SunOS 4.1.3 Ì export t@CÌàÌÅ·--) B ______________________________________________________________________ # This file is /etc/export # for remote linux X terminals by Buci # this line is only once /export/root/usr -access=linuxnet # these lines once for every host /export/root/machine1 rw=machine1,root=machine1 /export/root/machine2 rw=machine2,root=machine2 /export/root/machine3 rw=machine3,root=machine3 ______________________________________________________________________ exportfs -a ðç¹é±ÆðYêȢź³¢B 5.6. tftp Ì\¬ðs¤ ³ÄATFTP T[o[ð\¬·éÔÅ·Bsecure TFTP ðg¤Kvª³¢ÌÅ êÎbÍÈPÅANCAgÍ /export fBNg[©çN®µÜ ·B secure TFTPðgp·éêÉÍA/tftpboot ÌºÉ /export/linux fBN g[ðìéiJ[lÍê¿A¼Ì}Væ¤ÉÍ»ÌJ[lÖÌ Nð£éj©A/exportðsecure TFTP ÌN®fBNg[ƵܷB é¢ÍAÊXÌ tftpboot fBNgðgp·éÈêÍJ[lðê¾ ¯à¿A¼Ì}VpÉióF±ÌJ[lÖÌjNðÍèÜ·BÝè ðs¤ÉÍȺÌæ¤ÉLqµÜ·B ______________________________________________________________________ mkdir -p /tftpboot/export/linux/machine1 cd /tftpboot/export/linux/machine1 cp /export/linux/machine1/<name of the kernel> . ______________________________________________________________________ Then type the following: »µÄȺÌæ¤Éü͵ľ³¢B ______________________________________________________________________ mkdir -p /tftpboot/export/linux/machine2 cd ../machine2 ln -s ../machine2/<name of the kernel> ______________________________________________________________________ 5.7. ÅãÌìÆ ÅãÉA ______________________________________________________________________ /sbin/mount nfs_server:/export/linux/usr /usr ______________________________________________________________________ ðA ______________________________________________________________________ /export/linux/<machinex>/etc/rc.d/rc.S ______________________________________________________________________ ÌæªÉÇÁµÜ· ±±Å <machinex> Í machine1Amachine2Að çíµÜ·B 6. yÑfBXNÌKvÊB¬x Slackware 2.3 ŵ½¾¯Å·B¼Ìzzâo[WÅÍAȺÌÍ Ï»·éŵå¤B o Diskspace: 28MB + 6.5MB/machine o RAM: X ð 8 MB ÅgÁĨèAXbvÍ 4MB ªKvȾ¯Ìæ¤Å ·BXbvÍA/temp É@BÉ쬷é±ÆªÅ«Ü·Bmkswap ð ç¹é±ÆðYêȢŨ¢Äº³¢B o Speed: 486 DX2/66 É 8 MBÌ\¬ÅA½Ìâèà èܹñB 7. ¶µ¤éG[ o ÏÈG[ð©Â¯Ä¢Ü·B/dev TufBNgÅA SunOS ªfo CXGgðóµÄµÜ¢Ü·B»Ì½ßAfBXNt«Ì Linux É} EgµÄ MAKEDEV ðÀsµÈ¯êÎÈèܹñŵ½(±êÍALinux nfs Æ SunOS nfs Ìᢪ´öŵ½B¼ÒÆàAfoCXÔÉ 32 rbgðgpµÄ¢Ü·ªALinux ÍW[A}Ci[ÔÉ 16 rb gÃÂèÄASunOS ÍA14 rbgðW[A18 rbgðÜ¢È[ ÔÉèt¯Ä½ÌÅ·)B o fBXNX Linux ªN®·éÆ«ÉÍAtftp T[o̽ßÌoHÝè e[uÌÈ©ÉÍ꾯µ©oHª ÁÄÍ¢¯Ü¹ñBµ½ªÁ ÄAe[uð³µÝèµÈ¯êÎÈèܹñBñÂÌû@ª èÜ ·B o ·×ÄÌ@BpÉ rc.S ðèìÆÅÝè·é o bootp NCAgpbP[WðgpµAÄpÝèXNvgð 8. ëèA¨æÑ«Éü¯Ä̶ÌXV o ÖA¶ÌøpðC³·éB o SunOS Í BSD ðàÆɵĢéÌÅASVR ðàÆɵ½T[o(á¦ÎA Solaris)pÉÝèðpÓ·éB o Linux ÍAbootp/tftp T[oƵÄÍ SunOS ÉÄ¢éªALinux ðà Æɵ½T[oÌáàÖ¾ÆvíêéB o ±Ì¶ð»sÌ etherboot pbP[WÉ í¹éB o J[l 1.2.13 Æ J[l 1.3.x pÌá¢ð¾ç©É·éBãÒÍ nfs root pb`ðÁÄ¢éB o wd8013 ÈOÌ ethercards ŵÄÝéB o linux pɳµoHe[uðÝè·é½ßÉAbootp NCAgÅ é bootpc ÌÝèîñðÇÁ·éB o ëEâ»Ì¼ÌÔá¢ÍA buci@math.klte.hu Émç¹Äº³¢B o ú{êÅÌëAEA|óÔá¢ÍóÒshorie@ibm.netÉmç¹Ä¾ ³¢BàeÉÖ·é¿âÍ´Òɨ袵ܷB(óÒæè)