Differences between revisions 1 and 38 (spanning 37 versions)
Revision 1 as of 2007-03-13 02:59:14
Size: 519
Editor: ?VagrantCascadian
Comment: basics of configuring ltsp
Revision 38 as of 2008-04-04 22:50:06
Size: 5679
Editor: ?VagrantCascadian
Comment: explicitly install ltsp-server and note version
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
if you have a DHCP server already: = On a Debian 4.0 (Etch) or newer system: =
Line 3: Line 3:
 apt-get install ltsp-server openssh-server 1. If you have a DHCP server already up and running on your network:
Line 5: Line 5:
if you want your LTSP server to function as an DHCP server:
Line 7: Line 6:
 apt-get install ltsp-server-standalone openssh-server {{{
apt-get install ltsp-server openssh-server   }}}
Line 9: Line 10:
build the LTSP client environment: Otherwise, if you want your LTSP server to function as the DHCP server:
Line 11: Line 12:
 ltsp-build-client {{{
apt-get install ltsp-server-standalone openssh-server
}}}
Line 13: Line 16:
configure dhcpd.conf: 2. Build the LTSP client environment:
Line 15: Line 18:
 see example /usr/share/doc/ltsp-server/examples/dhcpd.conf or /etc/ltsp/dhcpd.conf and adapt to your network. {{{
ltsp-build-client
}}}
Line 17: Line 22:
configure /etc/exports: If you're installing a different debian distribution than what's on the server, you will need to specify the --dist xxx commandline option. where xxx is your Debian distribution (e.g. lenny, etch). See /usr/share/debootstrap/scripts/.
Line 19: Line 24:
 /opt/ltsp *(ro,no_root_squash) ltsp-build-client will download a complete Debian filesystem into /opt/ltsp/i386 (or specify an alternate location with '--base') and install the ltsp-client and ldm packages (the LTSP Display Manager). Typically, you will need a desktop environment like gnome or xfce, or a window manager such as icewm installed on the server (NOT in the chroot).
Line 21: Line 26:
boot a PXE or etherboot capable machine and enjoy. The 2 ltsp configuration files inside the client are /etc/lts.conf and /etc/default/ltsp-client-setup. See the examples in /usr/share/doc/ltsp-client*. Also see the Edubuntu wiki http://doc.ubuntu.com/edubuntu/edubuntu/handbook/C/customizing-thin-client.html (note: Debian LTSP still uses NFS by default).

If you change the IP data after you have done the initial setup and run `ltsp-update-sshkeys` on the server.

The files the client will boot are installed on the server into/var/lib/tftpboot.

3. Configure /etc/dhcp3/dhcpd.conf:

See examples in /usr/share/doc/ltsp-server/examples/dhcpd.conf or /etc/ltsp/dhcpd.conf and adapt to your network.

etch is still affected by: http://bugs.debian.org/416868 so you need to add this line if the dhcp server and tftp server are the same:

{{{
next-server ip.address.of.server;
}}}

lenny also requires the next-server option, but is included in the example dhcpd.conf file.

Restart dhcp3-server:

{{{
invoke-rc.d dhcp3-server restart
}}}

Alternately, configure /etc/dnsmasq.conf:

See example in /usr/share/doc/ltsp-server/examples/dhcpd-dnsmasq and adapt to your network.
 
Restart dnsmasq:

{{{
invoke-rc.d dnsmasq restart
}}}

4. Configure /etc/exports:

{{{
/opt/ltsp *(ro,no_root_squash,no_subtree_check)
}}}

5. Start tftpd. By default, tftpd-hpa is started from inetd. you may need to restart inetd after installing tftpd-hpa.

{{{
invoke-rc.d openbsd-inetd restart
}}}

Alternately, edit /etc/default/tftpd-hpa to have tftpd-hpa start on it's own.

{{{
RUN_DAEMON="yes"
}}}

and restart tftpd-hpa

{{{
invoke-rc.d tftpd-hpa restart
}}}

6. Boot a PXE or Etherboot capable machine and enjoy. note that some older versions of etherboot do not support ELF images, and may not work without additional configuration.


== Backported packages for etch ==

If you want to use newer LTSP related packages (with ltspfs and pulseaudio sound):

1. Add the key(s) for the repository to your keyring(after verifying that you trust them):

 1. wget http://pkg-ltsp.alioth.debian.org/debian/pkg-ltsp-keyring
 
 2. apt-key add pkg-ltsp-keyring

2. Add to /etc/apt/sources.list:

 deb http://pkg-ltsp.alioth.debian.org/debian etch-ltsp-backports main

3. Update:

 apt-get update

4. Install new packages:

 apt-get install ltsp-server-standalone ltsp-server

make sure the version ltsp-server is 5.0.40~ or greater:

{{{
dpkg -l ltsp-server | awk '/^ii/{print $2" "$3}'
}}}

5. When building a chroot, you'll need to tell it to use the backport sources:

{{{
 ltsp-build-client \
  --extra-mirror "http://pkg-ltsp.alioth.debian.org/debian etch-ltsp-backports main" \
  --apt-key /etc/apt/trusted.gpg
}}}


to get sound working with pulseaudio+alsa:

 /usr/share/doc/ltsp-server/README.Debian.sound


to get local devices working with ltspfs (usb sticks, cdrom, floppy):

1. echo fuse >> /etc/modules

2. modprobe fuse (or reboot your server)

3. adduser fuse USER

for some additional troubleshooting, try: http://wiki.ubuntu.com/DebugLocalDev


=== Known issues with etch ltsp backports ===

1. ldm: login screen shows white background (background image is hidden). no known workaround at this time.

2. ltspfs: mounts appear strange when running df. util-linux 2.13 fixed this bug, however it is still present in etch. workaround is to make /etc/mtab a symlink to /proc/mounts:

{{{mv /etc/mtab /etc/mtab.old ; ln -s /proc/mounts /etc/mtab}}}

3. ltsp-client: hostname displays as (none). workaround set up dns on the thin-client network, or:

{{{echo ltsp > /opt/ltsp/i386/etc/hostname}}}

4. ldm: support for mostly insecure logins (LDM_DIRECTX) requires getting /root to be writeable:

{{{echo 'copy_dirs="$copy_dirs /root"' >>/opt/ltsp/i386/etc/default/ltsp-client-setup}}}

if X doesn't automatically configure properly (it uses X.org's built-in configuration, which doesn't work as well on the version on X.org in etch), you may want to switch back to the slower but more reliable X configuration using xdebconfigurator:

1. chroot /opt/ltsp/i386 apt-get install xdebconfigurator

2. cp /opt/ltsp/i386/usr/share/doc/ltsp-client-core/examples/configure-x-xdebconfigurator.gz /opt/ltsp/i386/etc/

3. gunzip /opt/ltsp/i386/etc/configure-x-xdebconfigurator.gz

4. chmod +x /opt/ltsp/i386/etc/configure-x-xdebconfigurator

5. echo CONFIGURE_X_COMMAND=/etc/configure-x-xdebconfigurator >> /opt/ltsp/i386/etc/lts.conf

6. echo 'copy_dirs="$copy_dirs /var/cache/debconf"' >> /opt/ltsp/i386/etc/default/ltsp-client-setup

7. echo 'temp_copy_dirs=" "' >> /opt/ltsp/i386/etc/default/ltsp-client-setup

On a Debian 4.0 (Etch) or newer system:

1. If you have a DHCP server already up and running on your network:

apt-get install ltsp-server openssh-server  

Otherwise, if you want your LTSP server to function as the DHCP server:

apt-get install ltsp-server-standalone openssh-server 

2. Build the LTSP client environment:

ltsp-build-client

If you're installing a different debian distribution than what's on the server, you will need to specify the --dist xxx commandline option. where xxx is your Debian distribution (e.g. lenny, etch). See /usr/share/debootstrap/scripts/.

ltsp-build-client will download a complete Debian filesystem into /opt/ltsp/i386 (or specify an alternate location with '--base') and install the ltsp-client and ldm packages (the LTSP Display Manager). Typically, you will need a desktop environment like gnome or xfce, or a window manager such as icewm installed on the server (NOT in the chroot).

The 2 ltsp configuration files inside the client are /etc/lts.conf and /etc/default/ltsp-client-setup. See the examples in /usr/share/doc/ltsp-client*. Also see the Edubuntu wiki http://doc.ubuntu.com/edubuntu/edubuntu/handbook/C/customizing-thin-client.html (note: Debian LTSP still uses NFS by default).

If you change the IP data after you have done the initial setup and run ltsp-update-sshkeys on the server.

The files the client will boot are installed on the server into/var/lib/tftpboot.

3. Configure /etc/dhcp3/dhcpd.conf:

See examples in /usr/share/doc/ltsp-server/examples/dhcpd.conf or /etc/ltsp/dhcpd.conf and adapt to your network.

etch is still affected by: http://bugs.debian.org/416868 so you need to add this line if the dhcp server and tftp server are the same:

next-server ip.address.of.server;

lenny also requires the next-server option, but is included in the example dhcpd.conf file.

Restart dhcp3-server:

invoke-rc.d dhcp3-server restart

Alternately, configure /etc/dnsmasq.conf:

See example in /usr/share/doc/ltsp-server/examples/dhcpd-dnsmasq and adapt to your network.

Restart dnsmasq:

invoke-rc.d dnsmasq restart

4. Configure /etc/exports:

/opt/ltsp *(ro,no_root_squash,no_subtree_check)

5. Start tftpd. By default, tftpd-hpa is started from inetd. you may need to restart inetd after installing tftpd-hpa.

invoke-rc.d openbsd-inetd restart

Alternately, edit /etc/default/tftpd-hpa to have tftpd-hpa start on it's own.

RUN_DAEMON="yes"

and restart tftpd-hpa

invoke-rc.d tftpd-hpa restart

6. Boot a PXE or Etherboot capable machine and enjoy. note that some older versions of etherboot do not support ELF images, and may not work without additional configuration.

Backported packages for etch

If you want to use newer LTSP related packages (with ltspfs and pulseaudio sound):

1. Add the key(s) for the repository to your keyring(after verifying that you trust them):

  1. wget http://pkg-ltsp.alioth.debian.org/debian/pkg-ltsp-keyring

  2. apt-key add pkg-ltsp-keyring

2. Add to /etc/apt/sources.list:

3. Update:

  • apt-get update

4. Install new packages:

  • apt-get install ltsp-server-standalone ltsp-server

make sure the version ltsp-server is 5.0.40~ or greater:

dpkg -l ltsp-server | awk '/^ii/{print $2" "$3}'

5. When building a chroot, you'll need to tell it to use the backport sources:

 ltsp-build-client \
  --extra-mirror "http://pkg-ltsp.alioth.debian.org/debian etch-ltsp-backports main" \
  --apt-key /etc/apt/trusted.gpg

to get sound working with pulseaudio+alsa:

  • /usr/share/doc/ltsp-server/README.Debian.sound

to get local devices working with ltspfs (usb sticks, cdrom, floppy):

1. echo fuse >> /etc/modules

2. modprobe fuse (or reboot your server)

3. adduser fuse USER

for some additional troubleshooting, try: http://wiki.ubuntu.com/DebugLocalDev

Known issues with etch ltsp backports

1. ldm: login screen shows white background (background image is hidden). no known workaround at this time.

2. ltspfs: mounts appear strange when running df. util-linux 2.13 fixed this bug, however it is still present in etch. workaround is to make /etc/mtab a symlink to /proc/mounts:

mv /etc/mtab /etc/mtab.old ; ln -s /proc/mounts /etc/mtab

3. ltsp-client: hostname displays as (none). workaround set up dns on the thin-client network, or:

echo ltsp > /opt/ltsp/i386/etc/hostname

4. ldm: support for mostly insecure logins (LDM_DIRECTX) requires getting /root to be writeable:

echo 'copy_dirs="$copy_dirs /root"' >>/opt/ltsp/i386/etc/default/ltsp-client-setup

if X doesn't automatically configure properly (it uses X.org's built-in configuration, which doesn't work as well on the version on X.org in etch), you may want to switch back to the slower but more reliable X configuration using xdebconfigurator:

1. chroot /opt/ltsp/i386 apt-get install xdebconfigurator

2. cp /opt/ltsp/i386/usr/share/doc/ltsp-client-core/examples/configure-x-xdebconfigurator.gz /opt/ltsp/i386/etc/

3. gunzip /opt/ltsp/i386/etc/configure-x-xdebconfigurator.gz

4. chmod +x /opt/ltsp/i386/etc/configure-x-xdebconfigurator

5. echo CONFIGURE_X_COMMAND=/etc/configure-x-xdebconfigurator >> /opt/ltsp/i386/etc/lts.conf

6. echo 'copy_dirs="$copy_dirs /var/cache/debconf"' >> /opt/ltsp/i386/etc/default/ltsp-client-setup

7. echo 'temp_copy_dirs=" "' >> /opt/ltsp/i386/etc/default/ltsp-client-setup