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/
|