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¤ò¼«Ê¬¤Î´ù¤Î¾å¤«¤éÄɤ¤½Ð¤·¤Æ¡¢ÀŤ«¤ÇʿϤÊ
·×»»µ¡´Ä¶¤ò¹½ÃۤǤ¤Þ¤¹¤è¤¦¤Ë!
For questions or comments, please send mail to:
nkazushi@highway.or.jp