Pick a Free OS

Diskless client with Debian


# apt-get install make-kpkg bin86

but, the 'diskless-image-simple' is simply to be downloaded. That can be done


# apt-get install diskless-image-simple -d

Boot Server Configuration

Now, as in Amit's article, you would perform the following steps:

1) Etherboot setup

2) Compiling the kernel and tagging it with mknbi-linux

3) DHCP / BOOTP and tftp setup

A few notes. Etherboot isn't available as a Debian package yet, but netboot is

good enough for the job. Its your choice.

BOOTP can be used instead of DHCP if desired.

When you compile a new kernel, do not install it by hand as you would generally

do. Just do

# make menuconfig

and select all the required stuff. Then compile the kernel with :

# make-kpkg --flavour diskless buildpackage

This will result in a .deb file of your kernel and modules. You simply have to

say 'dpkg -i kernel-image-*.deb' to install the kernel and modules. This is

much simpler and cleaner than doing it by hand. However, for booting the

clients, you do not need to install the kernel on the server. Just keep it


And yes, you might need to pass any 'append' parameters to your kernel. For

instance, if you have an i810, you may have to use append="mem=124M" with

mknbi-linux, to allow access to all 124M of memory. (Remember, 4M is taken by

the onboard video card, or else you'll have a nice OOPS on bootup.) For


# mknbi-linux --append "mem=124M" vmlinuz output file

You have to configure tftp now. If the entry exists in inetd.conf, then enable

it with

# update-inetd --verbose --enable tftp

Otherwise, add it with

# update-inetd --verbose --add "tftp dgram udp wait root

/usr/sbin/in.tftpd /var/lib/diskless/boot"

Usually, these 3 steps take a lot of time when doing it for the first time.

You have to get the EEPROMs programmed right, the kernel has to be built with

the right stuff compiled in, has to be tagged, and your DHCP/BOOTP has to work

fine. But this is just a one time effort. Once you do it, you don't have to

spend any more time on these things.

Installing a Generic Client Image on the Server

What usually takes up more time is maintenance and not the initial setup. From

this point onwards, the stuff is debian-specific. The idea is to make one

generic installation for all workstations, and then simply do small