How to diskless boot


ÉÕ°¤Îhandbook ¤ò¸«¤ì¤Ð¤À¤¤¤¿¤¤¤Î¤³¤È¤Ï½ñ¤¤¤Æ¤¢¤ë¡£¤·¤«¤·¡¢°ìÉô´Ö°ã¤¤¤È»×¤ï¤ì¤ë²Õ½ê¤â¤¢¤ê¡¢ Âè°ì¡¢NFS¥µ¡¼¥Ð¤È¤·¤ÆSUN¤«HP¤ÎWS¤ò»È¤¦¤³¤È¤òÁ°Äó¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¡£

¤³¤Î¥Ú¡¼¥¸¤Ç¤ÏNFS¥µ¡¼¥Ð¤Ë¤âFreeBSD¤òÍøÍѤ·¡¢/usr°Ê²¼¤â¶¦ÍѤ¹¤ë¤³¤È¤ò ÌÜɸ¤È¤¹¤ë¡£¤Ä¤Þ¤ê¡¢disklessµ¡¤¬/usr°Ê²¼¤Ë¤¢¤ë¶¦Í­¥é¥¤¥Ö¥é¥ê¤òɬÍפȤ¹¤ë ¥³¥Þ¥ó¥É¤ÇNFS¥¢¥¯¥»¥¹¤·¤è¤¦¤È¤·¤¿¤ê(¥É¥¢¤Î¸°¤¬¥É¥¢¤Î¸þ¤³¤¦¾õÂÖ)¡¢ disklessµ¡Â¦¤¬lock¤·¤¿¤¿¤á¤ËNFS¥µ¡¼¥Ðµ¡Â¦¤¬blocked¤µ¤ì¤¿¤ê¤·¤Ê¤¤¤è¤¦¤Ë µ¤¤òÉÕ¤±¤ëɬÍפ¬¤¢¤ë¡£¤Þ¤¿ÁÐÊý¤ÎÀßÄ꤬°Û¤Ê¤ë¤¿¤á¶¦ÍѤǤ­¤Ê¤¤¥Õ¥¡¥¤¥ëÅù¤ò ¶¦ÍѤ·¤Æ¤·¤Þ¤ï¤Ê¤¤¤è¤¦¤Ë¤â¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

½é¤á¤ËÄ´¤Ù¤Æ¤ª¤¯¤³¤È

disklessµ¡Â¦¤ÎLAN¥«¡¼¥É¤Î
MAC¥¢¥É¥ì¥¹
##:##:##:##:##:##
I/O¥Ý¡¼¥È¥¢¥É¥ì¥¹
240H
IRQÈÖ¹æ
9
¤Á¤Ê¤ß¤Ë¾å¤Ëµó¤²¤¿Ãͤϡ¢DATABOOK¤Ê¤ë ¥×¥í¥µ¥¤¥É safari¸ß´¹µ¡¤È»×¤ï¤ì¤ë¥Þ¥·¥ó¤Î on board NIC¤Î½é´üÃͤǤ¹¡£ ¤³¤¤¤Ä¤Ï¾®¤µ¤¤¤·¡¢³ä¹ç¤ËÀŤ«(SONG CHEER TS600¤Ê¤ó¤«¤è¤ê)¤ÇÎɤ¤¤Ç¤¹¡£

¤¿¤À¤·ÅöÁ³¤Î¤³¤È¤Ê¤¬¤é¡¢netboot¥³¡¼¥É¤¬Âбþ¤·¤Æ¤¤¤ëNIC¤Ç¤Ê¤¤¤È¤À¤á¤Ç¤¹¡£ /sys/i386/boot/netboot/¤ò¸«¤ì¤Ðʬ¤«¤ê¤Þ¤¹¤¬¡¢¸½ºß¤Î½êWestern Digital/SMC 8003, 8013, 8216 ¤È¤½¤Î¸ß´¹¥Ü¡¼¥É, NE1000/NE2000 ¤È¤½¤Î¸ß´¹¥«¡¼¥É¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

NFS¥µ¡¼¥Ðµ¡Â¦¤ÎÀßÄê

handbook¤ò¸«¤Æ/etc/bootptab,/tftpboot/cfg.${IP¥¢¥É¥ì¥¹}¤òÀßÄꤷ¤Þ¤¹¡£ /etc/inetd.confÃæ¤Îbootps,tftp¤Î¹à¤òÍ­¸ú¤Ë¤·¤Ækill -HUP `cat /var/run/inetd.pid`¤¹¤ë¤Î¤ò˺¤ì¤Ê¤¤¤è¤¦¤Ë¡£

bootp

Îã:
/etc/bootptab:
.default:\
	:sm=255.255.255.0:\
	:ds=192.168.0.1:\
	:gw=192.168.0.1:\
	:hn:\
	:ts=server:\
	:vm=rfc1048:

client:ip=192.168.0.2:ht=ether:ha=############:tc=.default:

tftp

/tftpboot/cfg.IP¥¢¥É¥ì¥¹¤È¤¤¤¦file¤òºî¤ê¤Þ¤¹¡£Îã:
/tftpboot/cfg.192.168.0.2:

rootfs 192.168.0.1:/.rootfs/client
swapfs 192.168.0.1:/var/swapfs
swapsize 32768
hostname client.your.domain

NFS exports

client¦¤€¬¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÎFS¥Þ¥¦¥ó¥È¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£maproot¤¬É¬Í× ¤Ê¤ó¤Ç¤¹¤¬¥»¥­¥å¥ê¥Æ¥£¾å¤Î´í¸±¤òÕÔ¤ó¤Ç¤¤¤ë¤Î¤Ç¡¢É¬¤º myclient¤ò»ØÄꤹ¤ë ¤è¤¦¤Ë¤·¤Þ¤·¤ç¤¦¡£

¥¹¥ï¥Ã¥×ÍѤΥե¡¥¤¥ë¤Ï¡¢handbook¤Ç¤Ïtouch¤Çºî¤ë¤è¤¦¤Ë½ñ¤¤¤Æ¤¢¤ê ¤Þ¤¹¤¬¤³¤ì¤Ç¤ÏÂÌÌܤǤ¹¡£/tftpboot/cfg.${IP¥¢¥É¥ì¥¹}¤Ç»ØÄꤷ¤¿Â礭¤µ¤Î ¥Õ¥¡¥¤¥ë¤òºî¤ê¤Þ¤·¤ç¤¦¡£

# dd if=/dev/zero of=/var/swapfs/swap.${IP¥¢¥É¥ì¥¹} bs=1k count=${swapsize}
# chmod 0600 /var/swapfs/swap.${IP¥¢¥É¥ì¥¹}
¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤Ë¤Ï¥×¥í¥»¥¹¤Î¾ðÊ󤬴ޤޤì¤Æ¤¤¤ë¤Î¤Ç¡¢´Ý¸«¤¨¤Ë¤Ê¤é¤Ì¤è¤¦ chmod¤·¤Æ¤ª¤­¤Þ¤¹¡£

¤ä¤Ã¤«¤¤¤Ê¤Î¤¬/(root)¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤¹¡£¤Ê¤ë¤Ù¤¯¥Ï¡¼¥É ¥ê¥ó¥¯¤ò³èÍÑ ¤·¤ÆÍÆÎ̤òÀáÌó¤·¤¿¤¤½ê¤Ç¤¹¤¬¡¢/etc¤Î¤è¤¦¤Ë¶¦Í­ÉÔ²Äǽ¤Ê¤â¤Î¤â ¤¢¤ê¤Þ¤¹¡£/{bin,lkm,sbin,stand}¤Ï¥ê¥ó¥¯¤·¡¢»Ä¤ê¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¸Ä¡¹¤Ë ºî¤Ã¤Æ¤¤¤­¤Þ¤¹¡£

/dev

/dev¤Ïmkdir¤Ç¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤¿¸å¡¢MAKEDEV,MAKEDEV.local ¥Õ¥¡¥¤¥ë¤À¤±¥ê¥ó¥¯¡£/.rootfs/${client}/dev/¤Ë°ÜÆ°¤·¤¿¸å¡¢ ./MAKEDEV¤ò¼Â¹Ô¤·¤Æ¤ª¤­¤Þ¤¹¡£ËÜÅö¤Ïclient¦¤Ç¥Ç¥Ð¥É¥é¤Î¹½À®¤¬ °Û¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¤¬¡¢¤Þ¤¢¤¤¤¤¤Ç¤·¤ç¤¦¡£¸å¤Çclient¦¤«¤éMAKEDEV¤· ľ¤»¤Ð¤è¤¤¤Ç¤·¤ç¤¦¡£

/etc

cp -pR¤·¤¿¸å¡¢sysconfigÅù¤òÊÔ½¸¤·¤Þ¤¹¡£sysconfig¤Îlocal_startup¤Ë /usr°Ê²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò´Þ¤á¤Ê¤¤Êý¤¬Îɤ¤¤Ç¤·¤ç¤¦¡£¥¦¥Á¤Ç¤Ï/etc/rc.d¤À¤± »ØÄꤷ¤Æ¤¤¤Þ¤¹(¤Þ¤ë¤ÇLinux slackware¤À)¡£

/root

¥É¥Ã¥È ¥Õ¥¡¥¤¥ë¤òcp -p¤¹¤ì¤ÐOK¤Ç¤¹¡£

/var

¤³¤ì°Ê²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò·¡¤Ã¤Æ¤ª¤­¤Þ¤¹¡£¤Þ¤¿/var/log/°Ê²¼¤Ë messages,wtmpÅù¤Î¥Õ¥¡¥¤¥ë¤òtouch¤ÇºîÀ®¤·¤Æ¤ª¤­¤Þ¤¹¡£

/usr,/tmp,/home,/kern,/proc,/mnt

NFS¥Þ¥¦¥ó¥È¤Ç¤­¤ë¤è¤¦¤Ëmkdir¤·¤Æ¤ª¤­¤Þ¤¹¡£/tmp¤Ï (/var/tmp¤â)chmod 1777¤·¤Æ¤ª¤¯¤Î¤ò˺¤ì¤Ê¤¤¤è¤¦¤Ë¡£

disklessµ¡Â¦¤ÎÀßÄê

netbootºîÀ®

diskless clientµ¯Æ°¤Î°Ù¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ºî¶È¼«ÂÎ¤Ï /sys/i386/boot/netboot/¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤ê¡¢clientµ¡Â¦¤Î LAN¥«¡¼¥É¤Ë¹ç¤ï¤»¤ÆMakefile¤ò½ñ¤­´¹¤¨¡¢make¤·¤Þ¤¹¡£netboot.com, netboot.rom¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤Ç¤­¤ë¤Î¤Ç¡¢DOS¥Õ¥í¥Ã¥Ô¡¼¤Ë½ñ¤¯¤« (EMM386¤ÎÎà¤òCONFIG.SYS¤«¤é³°¤¹¤³¤È)¡¢ROM¤Ë¾Æ¤¯¤« ¤·¤Þ¤¹¡£

kernelºîÀ®(optional)

clientµ¡Â¦¤Î¥Ï¡¼¥É¥¦¥§¥¢¤Ë¹ç¤ï¤»¤¿¥«¡¼¥Í¥ë¤òºî¤ê¤Þ¤¹¡£½ÐÍ褿¥«¡¼¥Í¥ë ¤Ïmake install¤»¤º¤Ë cp kernel /.rootfs/${client}/¤·¤Þ¤¹¡£

¼ÂÍÑÀ­¸þ¾å¤Î¤¿¤á¤Î know how

¥á¥â¥ê¤ò¥¬¥ó¥¬¥óÀѤߤޤ·¤ç¤¦¡£¤«¤Ä¤Æ diskless WS¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¤Î·ù¤ï¤ì ¼Ô¤Ç¤·¤¿¡£¤È¸À¤¦¤Î¤â¡¢Åö»þ¤Îdiskless¥â¥Ç¥ë¤Ïdisk¤¬Ìµ¤¤¤À¤±¤Ç¤Ê¤¯¡¢¥á¥â¥ê¤â ¾¯¤Ê¤¯ÉÑÈˤËswap¤·¡¢¤½¤ÎÅ٤˥ͥåȥ¥¯¤òº®»¨¤µ¤»¤¿¤«¤é¤Ç¤¹¡£

¤½¤Îº¢¤È³Ó¤Ù¤Æ¸½ºß¤Ï¥á¥â¥ê¤¬·àŪ¤Ë°Â¤¯¤Ê¤ê¤Þ¤·¤¿¡£¤«¤Ä¤Æ¤Î swap¥Ñ¡¼¥Æ¥£¥·¥ç¥ó °Ê¾å¤ÎÍÆÎ̤Υá¥â¥ê¤òÀѤळ¤È¤âÌ´¤Ç¤Ï¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ disk¤Ë swap¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÍÑ°Õ¤¹¤ëÂå¤ï¤ê¤Ë¤Ê¤ë¤¯¤é¤¤¥á¥â¥ê¤òÀѤó¤Ç¤·¤Þ¤¤ ¤Þ¤·¤ç¤¦¡£

diskless¤ÇÊØÍø¤Ê¤Î¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸ ¥½¥Õ¥È¤Îinstall¤òNFS¥µ¡¼¥Ð¦¤Ç1²ó¤À¤± ¹Ô¤Ê¤¨¤Ð diskless¦¤Ç¤Ï²¿¤â¤·¤Ê¤¯¤ÆºÑ¤à¤³¤È¤Ç¤¹¡£¤â¤Ã¤È¤â¡¢²¿¤«¤·¤è¤¦¤Ë¤â ÉÔ´øȯÀ­¤Îµ­²±¥á¥Ç¥£¥¢¤ò»ý¤Ã¤Æ¤Ê¤¤¤Î¤Ç¡¢²¿¤â½ÐÍè¤Ê¤¤¤Î¤Ç¤¹¤¬¡Ä¡£

¤½¤ì¤Ç¤Ï¡¢¥¦¥ë¥µ¤¯¤Æ¡¢Åŵ¤¿©¤¤¤Ç¡¢¤½¤Î¤¿¤á¤ËÅŸ»fan¤â¹¹¤Ë¥¦¥ë¥µ¤¯¤Ê¤ë 2½Å¤ÎÁû²»¸»¤Ç¤¢¤ëHDD¤ò¼«Ê¬¤Î´ù¤Î¾å¤«¤éÄɤ¤½Ð¤·¤Æ¡¢ÀŤ«¤ÇÊ¿ÏÂ¤Ê ·×»»µ¡´Ä¶­¤ò¹½ÃۤǤ­¤Þ¤¹¤è¤¦¤Ë!

Powered by FreeBSD
For questions or comments, please send mail to: nkazushi@highway.or.jp