stephen7 at bigfoot.com
When you start, you will need at least this
You may like to familiarise yourself with the linux documentation, specifically you can read (skim) for an overview the following :
Also you probably have in the /usr/doc/LDP/ directory
The obligitory link
One last thing
The server needs to be setup in readiness for the client in a number of ways
run the command /sbin/ifconfig
if your output is similar to below
then your loopback and ethernet card are correctly configured.
[cassie@snoball cassie]$ /sbin/ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0 UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1 RX packets:854 errors:0 dropped:0 overruns:0 frame:0 TX packets:854 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 eth0 Link encap:Ethernet HWaddr 00:AA:00:BB:BD:09 inet addr:192.168.53.1 Bcast:192.168.53.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:190369 errors:0 dropped:0 overruns:0 frame:0 TX packets:249267 errors:0 dropped:0 overruns:0 carrier:1 collisions:4793 Interrupt:5 Base address:0x320
If not ...
Here the server gives out IP numbers to requests by clients
/etc/dhcpd.conf
file assigns static IP numbers if you have
a matching MAC address, A MAC address is a unique 'number' given to the NIC.
The start of the 'number' is based on the manufacturer, if you don't have a
sticker on the card, attempt to load the rom image from eprom or floppy and
see what it reports. (see client setup)
#/etc/dhcpd.conf subnet 192.168.35.0 netmask 255.255.255.0 { option domain-name "gundog.net"; range dynamic-bootp 192.168.35.128 192.168.35.255; default-lease-time 21600; max-lease-time 43200; } host 286 { filename "/tftpboot/kermit.nb"; hardware ethernet 00:80:c8:22:ae:de; fixed-address 192.168.35.70; } host elite { filename "/tftpboot/vmlinuz.xterm"; hardware ethernet 00:00:79:80:34:c9; fixed-address 192.168.35.23; option host-name "elite";
/etc/hosts
file resolves IP numbers into host names
#etc/hosts 127.0.0.1 localhost localhost.localdomain 192.168.53.1 snoball snoball.gundog.net 192.168.53.23 elite elite.gundog.net
trivial ftp - after you have your IP number your client requests a kernal, this is delivered over ethernet.
/etc/inetd.conf
,
typical line
tftp dgram udp wait root /usr/sbin/tcpd in.tftpd -s /tftpboot
restart inetd, kill -HUP "process id of inetd"
You must compile a kernel for the Client that includes NFS support and the NIC driver for that client compiled in (not modules). Answer yes to Root file system on NFS? and BOOTP support?
After building the kernel, run mknbi-linux from the Etherboot distribution on it.(the mknbi program in the netboot/linux directory) Install this tagged image as /tftpdir/"vmlinuz.xterm".
see etherboot-4.2/doc/html/README-3.html
should i put a copy of mine somewhere for download RH6.0 ne2000 NIC
It's easiest to allow anybody and anything to run services and process on your computer, but one day you will be sorry. You restrict these by your /etc/hosts.deny and specifically restore rights by /etc/hosts.allow, indicative examples :
#hosts.deny # all except those in hosts.allow ALL:ALL #hosts.allow #only hosts within my domain and my host at home. ALL:LOCAL, 192.168.53. #<-- note:no space after :
more security - look for more information in the ldp-howto's and if your using etherboot, in it's security howto.
Network loader
A small program that runs as a BIOS extension, can be loaded from a floppy, or you can burn an eprom chip and insert it on your network card for a totally diskless client. It handles the DHCPD query and TFTP loading and then transfers control to the loaded image. It uses TCP/IP protocols.
There are two free implementations of TCP/IP net loaders: Etherboot and Netboot: Etherboot uses built-in drivers while Netboot uses Packet drivers.
cat floppyload.bin ne2000.lzrom > /dev/fd0
The Client requests to mount /tftpboot/
<IP address of
client> as its /
by NFS from server. You must export this from
the server,(maybe symlink to /tftpboot/client
to be safe.)
NFS is a big topic there is a HOWTO and two mini Howto's.
first you need to create a copy of your current system under /tftpboot ken has written two scripts that do all your work, I called them makefirst and makecopy. my first client takes 20-30mb and the copy less. I used du -h to look for large unnecesary files.
see etherboot-4.2/doc/html/diskless-5.html
the following seem to me to be the critical files here
#/etc/exports /tftpboot/elite elite(rw,no_root_squash) /tftpboot/elite gordon(rw,no_root_squash) /usr *.gundog.net(ro) /home *.gundog.net(rw) /mnt/cdrom (ro) run exportfs -a to reread the exports file after changes /usr/sbin/exportfs --help #/etc/sysconfig/network NETWORKING=yes FORWARD_IPV4="no" HOSTNAME="snoball" <----------- GATEWAYDEV="" GATEWAY="" #/etc/sysconfig/network-scripts/ifcfg-eth0 IPADDR="192.168.53.1" <----------- BOOTPROTO=none
#tftpboot/elite/etc/fstab snoball:/tftpboot/elite / nfs rw 1 1 none /proc proc defaults 0 0 snoball:/usr /usr nfs ro 1 1 snoball:/home /home nfs rw 1 1 #tftpboot/elite/etc/sysconfig/network NETWORKING=yes FORWARD_IPV4=nomore HOSTNAME=elite GATEWAYDEV= GATEWAY="192.168.53.1" <----------- #/tftpboot/elite/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 USERCTL=yes ONBOOT=yes BOOTPROTO=none BROADCAST=192.168.53.255 NETWORK=192.168.53.0 NETMASK=255.255.255.0 IPADDR=192.168.53.23 <-----------
#odd fiddles #itemize> #item>fast... #item>cp /usr/bin/xargs /tftpboot/client/bin/xargs #/itemize>
With no further changes your client should boot on the CLIENT pc, it just happens to be sharing it's files via NFS
At this point you have a console terminal. you need to make just a few more changes to run X
As root on client run Xconfigurator and mouseconfig,
If this fails use XF86Setup check your RPMS dir on your CD (eg.ls *Setup*)
#chech how xfs starts on server /etc/rc.d/init.d/xfs start) echo -n "Starting X Font Server: " rm -fr /tmp/.font-unix daemon --check xfs su xfs -c xfs -s /bin/sh touch /var/lock/subsys/xfs echo ;; #edit XF86Config for all machines FontPath "tcp/snoball:7100"
You are now set up for a console login to the client PC. You are using the client memory and processor, this is adequate for console programs and there and many or great merit, program in python, email with pine or browse with lynx.
You may still start X from here, make the server changes in the next
section, at the prompt type X -query snoball
and you will get the
login box to the server
Server set up
1. Make sure the client is matched by a clause in /etc/X11/xdm/Xaccess * CHOOSER BROADCAST #any indirect host can get a chooser 2. Comment out the :0 in /etc/X11/xdm/Xservers #:0 local /usr/X11R6/bin/X 3. Then make sure that xdm is run from the init scripts. #etc/inittab id:5:initdefault: and # Run xdm in runlevel 5 # xdm is now a separate service x:5:respawn:/etc/X11/prefdm -nodaemon xdm:5:respawn:/usr/X11R6/bin/xdm -nodaemon
On the client
Get the slow PC's to run on the server, Fast PC's (eg 166mhz 32mb ram)can run ok on their own CPU and memory
the part maarked WARNING dosn't actually work as yet, but I'm close to getting the syntax correct, use the two stage method via the console login in the mean time.
#/tftpboot/elite/etc/inittab id:5:initdefault: #WARNING x:5:respawn:/usr/X11R6/bin/Xwrapper -query snoball #WARNING OR to run on client ?? id:3:initdefault: #runlevel 3 ie console x:5:respawn:/etc/X11/prefdm -nodaemon
Markus Gutschke and Ken Yap the authors of the Etherboot program.
Extend your system with the following programs
stephen7 at bigfoot.com