Difference between revisions of "LittleFe:PXE Booting"

From Earlham CS Department
Jump to navigation Jump to search
Line 16: Line 16:
 
DEFAULT vmlinuz-2.6.12 ramdisk_size=16384 ip=dhcp root=/dev/nfs nfsroot=192.168.10.100:/diskless/
 
DEFAULT vmlinuz-2.6.12 ramdisk_size=16384 ip=dhcp root=/dev/nfs nfsroot=192.168.10.100:/diskless/
 
</tt><br>
 
</tt><br>
This specifies which kernel binary to load. It also prepares a ramdisk and tells the client to mount /diskless/ nfs export from littlefe0.  
+
This specifies which kernel binary to load. It also prepares a ramdisk and tells the client to mount /diskless/ nfs export from littlefe0. The /diskless/ directory on littlefe0 is the root directory of each of the client nodes.
  
 
The ramdisk is further prepared by the /init/local script. This script formats the ramdisk, mounts it to /mnt/ramdisk, and copies the skeleton ramdisk directory sturcture from /mnt/ramdisk_skel. Currently we put three directories on the ramdisk, /var/lock/ , /var/run/ , and /var/spool/ each of these are linked to the equivalent ramdisk directory, ie /var/lock -> /mnt/ramdisk/lock.
 
The ramdisk is further prepared by the /init/local script. This script formats the ramdisk, mounts it to /mnt/ramdisk, and copies the skeleton ramdisk directory sturcture from /mnt/ramdisk_skel. Currently we put three directories on the ramdisk, /var/lock/ , /var/run/ , and /var/spool/ each of these are linked to the equivalent ramdisk directory, ie /var/lock -> /mnt/ramdisk/lock.

Revision as of 12:16, 8 July 2005

In order to setup PXE booting the client nodes must get their DHCP information from the node serving the kernel. We have setup dhcpcd on littlefe0 with the following entry for each littlefe node to know where to get it's kernel.
group {

next-server 192.168.10.100;
filename "pxelinux.0";
use-host-decl-names on;
host littlefe1 { hardware ethernet 00:40:63:d8:a2:2c; fixed-address 192.168.10.101; }
host littlefe2 { hardware ethernet 00:40:63:d8:a2:93; fixed-address 192.168.10.102; }

....
}

The "filename" entry here specifies the pxe boot loader. We use the pxe linux bootloader based on the syslinux bootloader (http://syslinux.zytor.com/pxe.php). The filename is relative to the tftpd root directory, /tftpboot/ on littlefe0. The "/tftpboot/pxelinux.cfg" file specifies the kernel binary, again relative to the tftp root directory, and kernel options to be passed on client nodes. We pass the following options:
DEFAULT vmlinuz-2.6.12 ramdisk_size=16384 ip=dhcp root=/dev/nfs nfsroot=192.168.10.100:/diskless/
This specifies which kernel binary to load. It also prepares a ramdisk and tells the client to mount /diskless/ nfs export from littlefe0. The /diskless/ directory on littlefe0 is the root directory of each of the client nodes.

The ramdisk is further prepared by the /init/local script. This script formats the ramdisk, mounts it to /mnt/ramdisk, and copies the skeleton ramdisk directory sturcture from /mnt/ramdisk_skel. Currently we put three directories on the ramdisk, /var/lock/ , /var/run/ , and /var/spool/ each of these are linked to the equivalent ramdisk directory, ie /var/lock -> /mnt/ramdisk/lock.