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

Reply via email to