LTSP
From Indie IT Wiki
Introduction
This page provides information on installing the Linux Terminal Server Project, which will enable a thin client system.
Gentoo Linux
Documentation
- http://www.gentoo.org/doc/en/ltsp.xml
- http://en.gentoo-wiki.com/wiki/LTSP
- http://www.vdd-project.org/index.php?option=com_content&view=article&id=27&Itemid=57
Installation
echo "net-misc/ltsp X" >> /etc/portage/package.use emerge ltsp
Configuration
Kernel
Make sure your kernel has NFS Support!
Filesystems --> Network Filesystems --> NFS Server Support CONFIG_NFSD=y CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y CONFIG_NFS_ACL_SUPPORT=y CONFIG_NFS_COMMON=y
Rebuild kernel and reboot.
Trivial FTP
nano /etc/conf.d/in.tftpd INTFTPD_PATH="/tftpboot/" INTFTPD_OPTS="-R 4096:32767 -s ${INTFTPD_PATH}"
Xinetd
nano /etc/xinetd.d/tftp service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot } nano /etc/xinetd.conf # only_from = localhost
DHCPD
nano /etc/dhcp/dhcpd.conf # General Options default-lease-time 21600; max-lease-time 21600; use-host-decl-names on; ddns-update-style ad-hoc; # Bootp Options allow booting; allow bootp; # Network Options option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; option domain-name-servers 192.168.0.1; option log-servers 192.168.0.1; option domain-name "example.com"; # LTSP Path Options option root-path "192.168.0.1:/opt/ltsp-4.2/i386"; filename "/lts/vmlinuz-2.4.26-ltsp-2"; next-server 192.168.0.1; shared-network THINCLIENTS { subnet 192.168.0.0 netmask 255.255.255.0 { range dynamic-bootp 192.168.0.51 192.168.0.61; host client1 { hardware ethernet 00:0D:61:77:C5:A1; fixed-address 192.168.0.51; } } }
PXE Boot / PXE Linux
The /pxelinux.cfg/ directory needs to be moved in order to work.
Before...
/tftpboot/ |-- lts | `-- vmlinuz-2.6.17.8-ltsp-1 `-- pxe | |-- bzImage-2.6.17.8-ltsp-1 | |-- eb-5.0.9-3c905c-tpo.lzpxe | |-- eb-5.0.9-eepro100.lzpxe | |-- eb-5.0.9-rtl8139.lzpxe | |-- initramfs.gz | `-- pxelinux.0 `-- pxelinux.cfg `-- default
cd /tftpboot/ mv pxelinux.cfg/ pxe/
After...
/tftpboot/ |-- lts | `-- vmlinuz-2.6.17.8-ltsp-1 `-- pxe |-- bzImage-2.6.17.8-ltsp-1 |-- eb-5.0.9-3c905c-tpo.lzpxe |-- eb-5.0.9-eepro100.lzpxe |-- eb-5.0.9-rtl8139.lzpxe |-- initramfs.gz |-- pxelinux.0 `-- pxelinux.cfg `-- default
Your /tftpboot/pxe/pxelinux.cfg/default file should look like this...
prompt 0 label linux kernel bzImage-2.6.17.8-ltsp-1 append rw root=/dev/ram0 initrd=initramfs.gz
Test Run #1
Start the software daemons on the server...
/etc/init.d/nfs start /etc/init.d/dhcpd start
Power on the desktop computer thin client. Go into the BIOS and change the settings to...
- Remove the IDE / SATA Hard Drive and CD-ROM
- Set the option for Network Boot capability
- Set the Boot Order to Network only
Save settings and reboot. You should now see the PXE Boot starting, assign an IP Address and load the ROM file from the server. Then it will load the linux kernel.
That's as far as I have got!