can you post your /etc/bootptab ? i recently did some diskless experiements of my own. i wrote some notes up, perhaps they will help:
-jason [EMAIL PROTECTED] notes on how to make a diskless debian system. --- IP addresses: --- Set up LAN style static IP addresses. On the server, edit /etc/network/interfaces: auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.0.1 netmask 255.255.255.0 And edit /etc/hosts: 127.0.0.1 (server name) localhost 192.168.0.1 (server name) localhost 192.168.0.2 (client name) --- BOOTP server: --- On the server: apt-get install bootp Edit /etc/bootptab: default:sm=255.255.255.0:\ gw=192.168.0.1:\ ds=64.245.60.4 (client name):ht=ethernet:\ ha=0x0050ba6619b4:\ ip=192.168.0.2:\ tc=default:\ hd=/tftpboot/(client name):\ bf=kernel.nfs:\ rp=/nfsroot/(client name): Note: ha will be displayed each time you boot the diskless client. Edit /etc/inetd.conf. Look for the BOOT section and add the line: bootps dgram udp wait root /usr/sbin/tcpd bootpd -i -t 120 --- TFTP server: --- On the server: apt-get install tfptd Edit /etc/inetd.conf. Look for BOOTP and add the line: tftp dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot --- NFS server: --- On the server: apt-get install nfs-common and one of the following: apt-get install nfs-user-server apt-get install nfs-kernel-server Edit /etc/exports. Add something like the following: /nfsroot/(client name)/ 192.168.0.2(rw,no_root_squash) /home/(user)/ 192.168.0.2(rw,no_root_squash) --- Diskless Node Hardware: --- On the diskless node, if using the NE2000 ISA NIC's boot using a dos boot disk, then insert the DLink utilities disk and run a:\setup\setup.exe. You may need to set the card to non plug and play operation, and be sure to enable full duplex. --- Diskless Node Bootdisk: --- If using netboot: On the nfs server, run apt-get install netboot makerom This will make image.flo and image.rom. Image.flo is for floppies and image.rom is for burning to a bootrom. Write image.flo to a floppy with dd if=image.flo of=/dev/fd0 If using Etherboot: go to http://etherboot.sourceforge.net/distribution.html and grab the latest production release, and the documentation if you like. then: tar xzvf etherboot-x.x.x.tar.gz cd src make bin32/card.dsk where card is the name of your card, ie, rtl8139.dsk. grep the Makefile for card names. your floppy image will be in src/bin32, named card.dsk. Write it to floppy: cat card.dsk > /dev/fd0 --- Diskless Node Kernel: --- Download the latest kernel source from kernel.org, and compile a kernel for the diskless machine. You will need to include the following when you configure the kernel: Networking Device Support -> Ethernet -> (your driver) File Systems -> Network File System -> NFS -> Root on NFS Make sure all options needed to boot are compiled directly in the kernel, not as modules, because you cant load the modules until after you mount your files sytem via NFS. On the nfs server: apt-get install diskless Use mknbi-linux to modify the kernel so it can be netbooted: cd /usr/src/linux/arch/i386/boot/ mknbi-linux -d rom -i rom -k bzImage -o kernel.nfs -x to make the kernel probe for more than one NIC, use the -a option: mknbi-linux ... -a "ether=0,0,eth1" Then move the kernel.nfs to /tftpboot/(client name)/ --- Diskless Filesystem: --- >From here, you could theoretically set this up with any distribution of linux. I chose to use debian. Grab the current base2_2.tgz (the exact name may vary): link: http://http.us.debian.org/debian/dists/stable/main/disks-i386/current/base2_2.tgz and untar it into /nfsroot/(client name)/: tar xzvf base2_2.tgz -C /nfsroot/(client name) Make the appropriate changes specified in: http://www.cse.unsw.edu.au/~gusl/multia-howto/ For convenience (and in case that site goes down) here are the important ones: Edit /nfsroot/(client name)/etc/hostname: (client name) Edit /nfsroot/(client name)/etc/timezone: CST6CDT Edit /nfsroot/(client name)/etc/resolv.conf: nameserver 64.245.60.195 nameserver 64.245.60.198 nameserver 64.245.60.4 Edit /nfsroot/(client name)/etc/fstab: none /proc proc defaults 1 0 192.168.0.1:/nfsroot/(client name)/ / nfs defaults,nolock 0 1 192.168.0.1:/home/(user)/ /home/(user) nfs defaults,nolock 0 1 Run: cd /nfsroot/(client name) ln -s usr/share/zoneinfo/`cat /etc/timezone` etc/localtime rm /sbin/unconfigured.sh --- Boot: --- Boot the diskless client, login as root, and run: dpkg-reconfigure base-config Be sure to run make modules and make modules_install from the client afterwards. i need to figure out how to make this work from the nfs server. --- NAT: --- On the server, make a script like the following and run it to give the diskless nodes net access: #!/bin/bash # Turn on IP forwarding echo 1 > /proc/sys/net/ipv4/ip_forward iptables --flush iptables --table nat --flush iptables --delete-chain iptables --table nat --delete-chain iptables --table nat --append POSTROUTING --out-interface eth1 -j MASQUERADE iptables --append FORWARD --in-interface eth0 -j ACCEPT --- Original Message: ----------------- From: Chien-Yu Chen [EMAIL PROTECTED] Date: Fri, 21 Dec 2001 00:38:50 -0600 (CST) To: [EMAIL PROTECTED] Subject: [Siglinux] bootp server question. Well, this seems like an easy question. I am trying to set up a bootp server for a diskless to boot. However, I can't receive any bootp request. I have included all the kernel feature needed (like multicast)...added the 255.255.255.255 route (Not sure if needed on 2.4 kernel)... I roughly remember that I have to echo 1 > /proc/sys/net/ipv4/something but nothing in 2.4 /proc/sys/net/ipv4 looks interesting as far as bootp goes...Does anyone have any idea on bootp on kernel 2.4? I tried dhcp..but for some reason, dhcpd would seg. fault on my machine, whether I use the debian package, or compile myown. After the seg. fault, if I try to reboot, machine will hung on "shutting down network interface". looks like a rather complicated problem compare to bootp...so... thanks for any info....oh, I am using 2.4.3 chen -- ~ __ Freedom of Choice 'v' / / __ __ __ __ __ __ __ // \\ / /__ / / / \/ / / /_/ / \ \/ / /( )\ /_____/ /_/ /_/\__/ /_____/ /_/\_\ ^`~'^ _______________________________________________ Siglinux mailing list [EMAIL PROTECTED] http://www.utacm.org/mailman/listinfo/siglinux -------------------------------------------------------------------- mail2web - Check your email from the web at http://mail2web.com/ . _______________________________________________ Siglinux mailing list [EMAIL PROTECTED] http://www.utacm.org/mailman/listinfo/siglinux