Pick a Free OS

User login


Quick and dirty guide to diskless workstations

For example, to make a RTL8029 floppy ROM, make bin32/rtl8029.fd0

Alternatively, you can make the ROM image.

# make bin32/.rom

Following my previous example, to make a RTL8029 ROM, make bin32/rtl8029.rom

Step #3:

Boot the "diskless node" with the floppy ROM you made. It should detect your

network card and stop after displaying, "looking for dhcp server".

Note down the hardware address of network card (7 hexadecimal number delimited

by colon). For example, my RTL8029 had the hardware address 00:80:AD:89:22:13

TAGGED Kernel Image


The "diskless node" will require a linux kernel image to load. This can be

easily created, but requires certain special options to be set. Finally

the resultant bzImage/zImage has to be made into a special tagged image.

Step #4:

Set the following options before you compile a new kernel on your "server".

1. Enable "IP:Kernel Level Autoconfiguration". Enable "BOOTP support" below it.

[Networking Options]

2. Enable "Root filesystem on NFS". [Filesystems/NFS]

3. Make sure to compile the "diskless node's" network hardware into the kernel.

Finally create the kernel by using either, make zImage or make bzImage.

Step #5:

Inside the etherboot directory is a mknbi directory. mknbi is the package used

to create the tagged image. If /tftpboot/ is not present then create it.

# mkdir /tftpboot

Assuming mknbi is in your path and you are in the newly compiled kernel

directory (/usr/src/linux/arch/i386/boot)

# mknbi --output=/tftpboot/vmlinuz.test zImage --target=linux

[Note: replace zImage with bzImage if you compiled into a bziped kernel]

DHCP Setup


Step #6:

Ensure that /etc/inetd.conf contains a line for starting tftp. Typically this

will look like,

tftp dgram udp wait root /usr/sbin/tcpd in.tftpd /tftpboot

DHCP is Dynamic Host Configuration Protocol. It is used to control vital

networking parameters of hosts (running clients) with the help of a server.

DHCP is backward compatible with BOOTP.

Step #7:

Open a fresh /etc/dhcpd.conf which we will configure. Add the following


subnet netmask {

filename "/tftpboot/vmlinuz.test";

option subnet-mask;

host banshee {

hardware ethernet 00:80:AD:89:22:13;