IRIDIA cluster installing the diskless nodes

From IridiaWiki
Revision as of 21:28, 16 February 2005 by Christensen (Talk | contribs)

Jump to: navigation, search

This section is on how to install the diskless nodes from scratch. That includes setting the server up so that serves the diskless nodes. If you are simply adding a new node, then many of the steps described on this page are not necessary.

Let's get started.

Installing a new diskless image

Install the package called diskless on majorana:

apt-get install diskless

This packages contain tools and binaries for a Debian image for the diskless nodes.

Before you can create the diskless image, you first have to create some basic files (base.tgz):

mkdir /tmp/diskless
mkdir /var/lib/diskless
mkdir /var/lib/diskless/default
diskless-createbasetgz /tmp/diskless [release tag, e.g. sarge] [apt-ftp-or-http-mirror] /var/lib/diskless/default/base.tgz
rm -rf /tmp/diskless

Now you are ready to create a new image:


For more information on creating see

Now some you should have a Debian image under /var/lib/diskless/default, however you still need to install some files in the diskless image:

chroot /var/lib/diskless/default
apt-get install diskless-image-simple

In order to create the individual directories for each node, run the script:


You should configure the image to not use devfs:

chroot /var/lib/diskless/default/root
dpkg-reconfigure -p low diskless-image-simple
<answer with the default except for what concerns devfs>

Compiling a new kernel for the diskless nodes

On majorana, download the source code of the kernel which you installed. It should end up in /usr/src. Now use the config file of the kernel you installed on majorana (see IRIDIA cluster installing an OS on the servers) found in /root/.config to compile a kernel for the diskless nodes.

cd /usr/source/[kernel-dir]
make menuconfig
copy /root/.config .
make menuconfig

At least four options should be changed, don't use modules, compile everything into the kernel:

  • Initial ramdisk (initrd) should be disabled in device driver -> block devices)
  • Mount NFS as root:
    • Enable File systems -> Network File Systems -> NFS file system support
    • Enable File systems -> Network File Systems -> Root file system on NFS
  • Assign IP address at boot time:
    • Enable Device drivers -> Networking Support -> Networking Options -> IP: kernel level autoconfiguration -> IP: DHCP support
  • Compile GigaBit network driver into the kernel:
    • Set: Device Drivers->Networking support->Ethernet (1000Mbit)-><*> Intel(R) PRO/1000 Gigabit

Furthermore, the kernel needs a slight change in the source code, so that the kernel requests an address via DHCP after during load:

In net/ipv4/ipconfig.c change:

int ic_enable __initdata = 0;
int ic_enable __initdata = 1;

You are know ready to make a .deb package containing the kernel image:

make-kpkg --append-to-version -dc kernel_image kernel_headers 

Now you are ready to install the new kernel in the diskless image. The following sequence of commands should do the trick:

cd /usr/src
mv *deb /var/lib/diskless/defaut/root/root
chroot /var/lib/diskless/default/root/
cd root
dpkg -i *deb

Whola! The new kernel should be installed in the diskless image.

Personal tools