What

This page is suposed to become the instructions in how you can run diskless workstations from a skolelinux2.0 installation.

A Diskless workstation is similar to a thin client in that it bootes from the network with pxe. But instead of running applications on the server and displaying them on the thin client screen with X. A diskless workstations mounts it's root filesystem from its next-server, and runs all applications on the local hardware. You can think about it like a regular workstation with a very long harddrive cable.

Why

why not

How

  1. prerequisites
    • a regular skolelinux setup with tjener and preferably internet access
    • a fresh installed skolelinux2.0 thin client server, that you want to run diskless workstations from (this server is promoted as "next-server" by tjener's dhcp)
    • combined server work fine (You must not edit pxelinux.cfg/default and in dhcpd.conf you must only enable your workstations).
    • /!\ enough space on /opt, read about how here http://developer.skolelinux.no/~klaus/sarge/x2049.html#newlv

  2. Edit sources.list on the LTSP that is going to be your next-server.
    • I use the online pools instead of the cdrom after the initial installation. can't be bothered to keep cd's around
    • add the security repository
    • copy /etc/apt/sources.list /opt/ltsp/i386/etc/apt/sources.list #so your chroot uses the same repositories as your server.

cp /etc/apt/sources.list /opt/ltsp/i386/etc/apt/sources.list
  1. aptitude update; aptitude upgrade #incase you haven't already.

aptitude update
aptitude upgrade
  1. Then run the command /usr/sbin/ltsp-make-client This will adapt your chroot /opt/ltsp/i386 to diskless workstation, and install the packages needed for a workstation there. If it fails for some reason you can run it with sh -x /usr/sbin/ltsp-make-client to get a more verbose output. (run outside the chroot)

/usr/sbin/ltsp-make-client
  1. add nfsroot=/opt/ltsp/i386 to the end of the append line in /var/lib/tftpboot/pxelinux.cfg/default

    • if you don't you'll get an error on the client about not being able to mount /var/lib
  2. edit your main dhcpd.conf file located on tjener.intern:/etc/dhcp3/dhcpd.conf, you'll need
    • a next-server line pointing to the server serving diskless workstation root. ie the ltsp-server where you ran ltsp-make-client
    • a filename to boot from the server. For pxebooting clients this should allways be pxelinux.0
    • remember to restart the dhcp service
  3. Connect your diskless workstation to your workstation network 10.0.2.0/23
    • The same client can function as thinclient or diskless workstation, depending on where you connect it. 10.0.2.0/23 for workstations, 192.168.0.0/24 for thin clients.

This is setup in the file /opt/ltsp/i386/etc/init.d/ltsp_set_runlevel If you want your diskless workstation on the 192.168.0.0/24 network, you may change this here

  1. boot your client.
    • if all went well you should be looking at the kdm login screen
  2. login and use your system
    • /!\ keep in mind your diskless workstations need to be added to your ldap netgroups, just like any other workstation. Otherways it wont be able to mount your HOME dir, and you won't be able to login.

example /var/lib/tftpboot/pxelinux.cfg/default

prompt 0
default ltsp
label ltsp
  kernel vmlinuz
  append initrd=initrd.img root=/dev/nfs ip=dhcp  nfsroot=/opt/ltsp/i386

(you can only add a boot option for booting a locally installed operating system)

example dhcpd.conf snippet

shared-network INTERNAL {

  default-lease-time 1800; #30 m
  max-lease-time     3600; #1 h

  option subnet-mask            255.255.254.0;
  option broadcast-address      10.0.3.255;
  option routers                gateway;
  option domain-name-servers    tjener;
  option domain-name            "intern";
  option ntp-servers            ntp;
# add these 2 lines for diskless workstations to boot from
  filename                      "/var/lib/tftpboot/pxelinux.0";
  next-server                   ltspserver00;

  # Log to the main server
  option log-servers            tjener;

#  If you use window clients, comment out the following lines.
#  Samba wins support has to be turned on (wins support = yes)
#
#  # WINS server
  option netbios-name-servers   tjener;
  option netbios-node-type              8;

example /etc/exports

  /opt/ltsp/i386 *(ro,async,no_root_squash,subtree_check)

Upgrade the kernel from 2.4.27 to 2.6.8

chroot /opt/ltsp/i386 
mount /proc
apt-get update
apt-get install kernel-image-2.6-386
exit

Then you must prepare the system to use the new kernel

/usr/sbin/ltsp-update-kernels

Further Reading

Confirmation

These people have followed these instructions successfully:

Name

Date

Remark

NigelB

Oct2006

USB drives close when you try to descend into folders on them


?CategoryHowto