IRIDIA cluster installing the diskless nodes

From IridiaWiki
Revision as of 12:21, 16 February 2005 by Christensen (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to 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 the package called diskless on majorana. This package contains tools and binaries for creating a Debian image for the diskless clients.

Create a new image:

diskless newimage

For more information on creating see http://wiki.debian.net/index.cgi?DiskLess

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
exit
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;
to:
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
exit

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