|
LTSP Kiosk Introduction
Basic Setup
Additional Features
Advanced Issues |
Hacking the Client SideBelow the grub boot loaders is being used to make the boot record. The grub loads the boot file image from the server using TFTP. As in the standard LTSP configuration the TFTP server IP is supplied by the DHCP (which is not possible in my case), the standard boot script must be slightly changed. GRUBHere is the GRUB boot script default 0 timeout 0 title Webkiosk dhcp tftpserver 128.214.170.174 root (nd) kernel /lts/bzImage init=/linuxrc rw root=/dev/ram0 vga=0x301 console=/dev/tty2 initrd /lts/initrd-new.img boot You might want to change the tftpserver IP to suit your server. Now your GRUB should be trying to fetch the kernel and initial filesystem from your server. Passing the ROOTPATH DataThe standard LTSP configuration expects that the clients gets the NFS server information from the DHCP server. If this is not possible, you have two alternative ways of passing the string to the clients: Using the Kernel Param RPThe easiest way is to pass the ROOTPATH info as a kernel parameter. Adding RP=[NFS_IP]:[NFS_PATH] to your kernel parameter does the trick. So in the example above the new kernel line would be: kernel /lts/bzImage init=/linuxrc rw root=/dev/ram0 vga=0x301 console=/dev/tty2 RP=128.214.170.174:/opt/ltsp/i386 Note the capital "RP", they are case-sensitive. Hacking the linuxrc in initrdSince I initially did not know anything about the RP kernel parameter, I had to invent more dirty way by editing the initrd (for the reference see: http://www.ltsp.org/contrib/parallel_dhcp.txt). Here is the idea how to do it: cd /tftpboot/lts [This is probably your kernel directory that is exported by TFTP] cp initrd.img initrd-new.img gunzip -S .img initrd-new.img mkdir mnt mount -o loop initrd-new mnt/ cd mnt/ At this point you must edit the linuxrc file so that you set a fixed value for ROOTPATH after running the dhclient, since your DHCP server does not provide this. For the correct place find the first instance to ${ROOTPATH} (in linuxrc file) and add following line before it: ROOTPATH=128.214.160.27:/opt/ltsp/i386/ Make sure your refer to your server and the correct path in in (the path above should be correct as long as you have used defaults). After you have done with the editing clean up your mess: cd .. umount mnt/ gzip -S .img initrd-new rmdir mnt/ Updated: 27-MAY-2004
|