IRIDIA cluster installing the diskless nodes

From IridiaWiki
Revision as of 12:38, 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.

Install a new diskless image

Install the package called diskless and diskless-image-simple on majorana:

apt-get install diskless
apt-get install disklass-image-simple

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

Create a new image:

diskless newimage

For more information on creating see

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


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