FreeBSD A lwALAj X eVq zGgJ A XeALAjAKAJALA\BvAEAμ€}AXAzT zEα₯β€kAPBv BνlwALA\GgJ Bϊ BzEIBVE~BV: hostname "powell"B} OS FreeBSD(98) 3.4-RELEASE HW NEC PC9821 Xa13 MEM:128M CPU:Pentium(133-MHz) BzX eVqφ: hostname "monk"B} HW Matherboard: ABIT BH6 MEM:64M CPU:Celeron(300-MHz) NIC:Eν₯ jEeEbPCI Ehernet Card Monitor:SONY Multiscan17GS Keyboard:NEC PK-KB011 Video:S3 ViRGE DX/GX / 4MB netboot package: etherboot-4.6.1 1. EIBVE~BVAqEbEι₯AEuE lwAzzz[θ€ znAPAλ X eVq EEBEAEλ₯LEPEjEΰ€ς /usr2 [nCVAqkeAPAλ» qALAJALA\BvEj X eVq zEEP Elqθ€q /usr2/hostname1,/usr2/hostname2, .... AlAnAκ€JAPBv # mkdir -p /usr2/monk uF AEAzEkEvEμ₯bElEκ€ monk Az / AlAnAλ‘v # mkdir /tftpboot uF AEAzEkEvEμ₯bElEκ€qNε½APAλ kernel A FAbBv # mkdir /usr2/monk/tftpboot uF AEAzEkEvEμ₯bElEκ€qNε½APAλ kernel A FAbBv /usr2/monk AqEλ‘VElEEBEAEλ₯LEPEjEΰ€ EEBVAPAλ‘v EbEι₯AEuE lAEIBVE~BVAljAANOSAkIbj[CgkXAkAuAμ€~EIBVE~BVAzEλ‘VElEEBEAEλ₯L EPEjEΰ€ EEBVAPAμ€~zmAAABuRvC }ntAzEJELEσ(hostname "evans")Aq FreeBSD 3.4-RELEASE A AE PElBVEλ€LAjAEAEAHAι₯EEBVAPAλ» qALAJALA\Bv B` evans (AEAEAHAι) B` # cd / # tar cBplf rootfile.tar . # cd /usr # tar cBplf usr.tar . # ftp uF EIBVE~BVAiZ`χ B` evans (AEAEAJAk) B` B` powell (AEAEAHAι) B` # cd /usr2/monk # tar xBpf rootfile.tar jAwwAqALAj /usr Aβ₯EEBVAPAλ‘v # mkdir -p /usr2/usr # cd /usr2/usr # tar xBpf usr.tar X eVq Az /usr A}EjEEPElqθ€qT \ATAnAAAk /usr2/usr A w APAλ€θ€AqALAJAL A\Bv EPEο₯eEEEBEAEλ€ ξΐAPAλ‘v # cd /usr2/monk # dd if=/dev/zero of=swap.192.168.1.42 bs=1m count=32 B` powell (AEAEAJAk) B` EkEvEμ₯bElEκΉX^A}VBAzAθ€AqAnAκ€JAPBv / BBB bin/ Bu : B@ tftpboot/ B usr2/ BBB monk/ Bu BBB bin/ BA Bu B@ compat@ Bu Bu B@ dev/ Bu Bu B@ etc/ Bu Bu B@ home@ Bu Bu B@ lkm/ Bu Bu B@ modules/ Bu Bu B@ proc/ B@uF X eVq k "cd /;ls" APAλ€lBuAEAzmτ Bu B@ root/ Bu nANHABAλ‘v Bu B@ sbin/ Bu Bu B@ swap.192.168.1.42 Bu Bu B@ tftpboot/ Bu Bu B@ tmp/ Bu Bu B@ usr/(*1) Bu Bu B var/ BE B@ usr/ B@ hostname2/ B@ hostname3/ : (*1) B@ usr/ BBB X11R6/ Bu BBB bin/ Bu B@ etc/ (nfs mount) Bu B@ include/ (nfs mount) Bu B@ info/ (nfs mount) Bu B@ lib/ (nfs mount) Bu B@ libexec/ (nfs mount) Bu B@ man/ (nfs mount) Bu B share/ (nfs mount) B@ bin/ (nfs mount) B@ compat/ (nfs mount) B@ games/ (nfs mount) B@ home/ (nfs mount) B@ include/ (nfs mount) B@ lib/ (nfs mount) B@ libdata/ (nfs mount) B@ libexec/ (nfs mount) B@ local/ (nfs mount) B@ mdec/ (nfs mount) B@ sbin/ (nfs mount) B@ share/ (nfs mount) B tmp/ (nfs mount) /usr2/hostname/usr/X11R6/bin A}Ej X eVq kTlwAPAλ X EIBVE~BVA[γ€A\Aα₯EE BVAmwAkAPBvALAHALBuVcRAq[γ€m A} X AzEκ₯ b^θ€[Aι€AAlTAο€μ€λ€\Aα€β€e AlAAAAAδ€κΚ wABAλΙwAAuAκ€XABv X eVq Ibj[APAλ₯EBEAEλ€zRkZETEeElA [ALAjAuACAμ€~T TA β€eAl^αΜ kA Aλ AlTAAAJAPBv 2. X eVq Az kernel A ξΐAPAλ 1Pΰ€ljAANAθ€Aqw[ALA\ntAzEJELE k kernel A ξΐAPAλ‘v B` evans (AEAEAHAι) B` # cd /sys/i386/conf # cp GENERIC DISKLESS # vi DISKLESS [nCVAzEFEELEη₯ mCeAPAλ‘v options BOOTP # Use BOOTP to obtain IP address/hostname options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info options "BOOTP_NFSV3" # Use NFS v3 to NFS mount root options BOOTP_COMPAT # Workaround for broken bootp daemons. # config DISKLESS # cd ../../compile/DISKLESS # vi Makefile KERNFORMAT?= els uF KERNFORMAT= aout AqXA^IAPAλ‘v # make depend # make # ftp uF X~wθΎε€AeA\ kernel A IBVE~BVAz /usr2/monk/tftpboot, /tftpboot Aq iZ` PAλ‘v B` evans (AEAEAJAk) B` # chflags noschg /tftpboot/kernel # chflags noschg /usr2/monk/tftpboot/kernel 3. X eVq Az rc.conf A XNAPAλ # cd /usr2/monk/etc # vi rc.conf hostname="monk" ifconfig_ed1="inet monk netmask ...." AXAzcZBumwAqA NAjnXNAPAλ‘v 4. bootp EIBVE~BVA Kgκ€PAλ # vi /etc/bootptab .default:ht=ether:\ # Jgt^Kgκ :sm=255.255.255.0:\ # EEPElAzEIEEwEeElEJEPEb :ds=192.168.1.6:\ # EmEα₯AE wBVEΰ₯IBVE~AzEuEmEμ₯PEκ₯PEl :gw=192.168.1.1:\ # ECBVElEE@EAAzEuEmEμ₯PEκ₯PEl :hn:\ # EbEι₯AEuE lAzEEPEltZA bEι₯AEuE lAq` λ :sa=192.168.1.14:\ # EbEι₯AEuE lATlwAPAA TFTP EIBVE~AzEuEmEμ₯P :vm=rfc1048: # EE ^EJENEeEbEbEeE BVETEμ₯bE\ monk:tc=.default:\ :rp="192.168.1.14:/usr2/monk":\ # Eλ‘VElAlALAjEJEE lAPAλ₯λ‘VElEEP :ha=0000E84F0801:\ # EEPElAzE}BVEmEE@EuEuEmEμ₯P :ip=192.168.1.42: # EEPElAz IP EuEmEμ₯P # vi /etc/services bootps 67/tcp dhcps #Bootstrap Protocol Server bootps 67/udp dhcps #Bootstrap Protocol Server # vi /etc/inetd.conf bootps dgram udp wait root /usr/libexec/bootpd bootpd 5. tftp EIBVE~BVA Kgκ€PAλ # vi /etc/services tftp 69/tcp #Trivial File Transfer tftp 69/udp #Trivial File Transfer # vi /etc/inetd.conf tftp dgram udp wait nobody /usr/libexec/tftpd tftpd /tftpboot 6. NFS EIBVE~BVA Kgκ€PAλ # vi /etc/exports /usr2 -alldirs -maproot=0:0 -network 192.168.1 -mask 255.255.255.0 /usr/home -maproot=0:0 -network 192.168.1 -mask 255.255.255.0 # kill -HUP `cat /var/run/mountd.pid` 7. NFS EbEι₯AEuE lA Kgκ€PAλ # vi /usr2/monk/etc/fstab # Device Mountpoint FStype Options Dump Pass# powell:/usr/home /usr/home nfs rw 0 0 powell:/usr2/usr/X11R6/etc /usr/X11R6/etc nfs ro 0 0 powell:/usr2/usr/X11R6/include /usr/X11R6/include nfs ro 0 0 powell:/usr2/usr/X11R6/info /usr/X11R6/info nfs ro 0 0 powell:/usr2/usr/X11R6/lib /usr/X11R6/lib nfs ro 0 0 powell:/usr2/usr/X11R6/libexec /usr/X11R6/libexec nfs ro 0 0 powell:/usr2/usr/X11R6/man /usr/X11R6/man nfs ro 0 0 powell:/usr2/usr/X11R6/share /usr/X11R6/share nfs ro 0 0 powell:/usr2/usr/bin /usr/bin nfs ro 0 0 powell:/usr2/usr/compat /usr/compat nfs ro 0 0 powell:/usr2/usr/games /usr/games nfs ro 0 0 powell:/usr2/usr/include /usr/include nfs ro 0 0 powell:/usr2/usr/lib /usr/lib nfs ro 0 0 powell:/usr2/usr/libdata /usr/libdata nfs ro 0 0 powell:/usr2/usr/libexec /usr/libexec nfs ro 0 0 powell:/usr2/usr/local /usr/local nfs ro 0 0 powell:/usr2/usr/mdec /usr/mdec nfs ro 0 0 powell:/usr2/usr/sbin /usr/sbin nfs ro 0 0 powell:/usr2/usr/share /usr/share nfs ro 0 0 powell:/usr2/usr/tmp /usr/tmp nfs ro 0 0 X eVq zE}BVEmEEBEuPX^A GAji μ€PAμ€~Aβ€eAlGneAAqAnAλ€lTAAAJAPBv 8. EBVElEEν₯eEBVA ΰΘ PAλ etherboot-4.6.1 A ALAjEBVElEEν₯eEBVA ξΐALAJAPBv # cd /usr/ports/net/etherboot/work/etherboot-4.6.1/src # floppyload.bin.pre bin32/rtl8029.rom > /dev/fd0.1440 NIC Aqc~A PAλ ROM EAEα‘VENAnAmAzZ } README i CZlALAjAbA^AIAABv AEAμ€k X eVq qEEν₯eEBVA TEeElALAjEBVElAPAμ€~zDA`Zε€Aλ€}ARAkAPBv Loading ROM image .... ROM segment 0x1000 length 0x8000 reloc 0x8F00 Boot from (N)etork or from (L)ocal? N Etherboot/32 version 4.6.1 (GPL) for [NE2000/PCI] Found Realtek8029 at 0xE400, ROM address 0x0000000000000000 Probing ... [NE2000/PCI] NE2000 base 0xE400, addr 00:00:E8:4F:08:01 Searching for server(DHCP) ... Me: 192.168.1.42 Server: 192.168.1.14 Gateway: 192.168.1.1 Loading / tftpboot/kernel(a.out/FreeBSD) ...Done : EkE~EAEPAzEEν‘VE : boopc_init: using network interface 'ed1' Bootpc testing starting bootpc hw address is 0:0:e8:4f:8:1 My ip address is 192.168.1.42 Server ip address is 192.168.1.14 Gateway ip address is 0.0.0.0 Server name is powell Subnet mask is 255.255.255.0 Router is 192.168.1.1 rootfs is 192.168.1.14:/usr2/monk Hostname is monk NFS ROOT: 192.168.1.14:/usr2/monk Automatic reboot in progress... : EjVο₯α₯eETBVEN : FreeBSD (monk) (ttyv0) Login: 9. X EIBVE~BVA Kgκ€PAλ X eVq ε€k X EIBVE~BVAz^Kgκ€ AAAJAPBv # XF86Setup 10. xdm A Kgκ€PAλ # cd /usr/X11R6/lib/X11/xdm # vi Xservers monk:0 foreign uF gmCeAPAλ # vi Xaccess * #any host can get a login window #* CHOOSER BROADCAST #any indirect host can get a chooser #* CHOOSER %hostlist # # cd /etc # vi rc.local echo -n " xdm." uF gmCeAPAλ /usr/X11R6/bin/xdm uF gmCeAPAλ # cd /usr2/monk/etc # vi rc.local /usr/X11R6/bin/X -query powell & uF gmCeAPAλ EIBVE~BVA jIbj[ALAJAPBv AEAμ€kVBC HAι€} xdm AzEν₯[EAE EAE mEAzDA`Zε€Aκ€JAPBv BνCPwURLBϊ http://www.jp.freebsd.org/ http://www.sit.wisc.edu/~sakai/html/silent_pc1.html http://etherboot.sourceforge.net/ |