On Saturday 07 April 2007 21:52, Jumako wrote: > After years of using LTSP (<= v4.2) I decided to try LTSP 5. I built a new
Here is an updated version "LTSP 5 and Debian Etch", now with fuse support. -- So long! Jumako After years of using LTSP (<= v4.2) I decided to try LTSP 5. I built a new server with the upcoming Debian Etch release. Therefore I bought some pretty nice hardware: a amd64x2 cpu, a asus m2n-sli deluxe mobo, 2 gigs DDR2 - RAM and two harddisks with nearly 1 TB space. The Debian installer runs smooth and after that I started to go for LTSP 5. The basic LTSP 5 installation worked perfect. Thanks to the LTSP people! After all, the combination of Etch and LTSP 5 needs some make-up. Here is a solution that works for me (everything is stolen and nothing is mine, sources/references at the end): A.) Setup a Debian Etch server. There are a lot of good instructions around. B.) We need root permissions to do all the next steps. C.) Get the basic packages. Open an xterm (or equivalent): apt-get install ltsp-server openssh-server D.) Built the ltsp client in the same xterm (I only use i386 clients with my amd64 server): ltsp-build-client --dist etch --arch i386 Optional, you can use your own mirror (or local mirror) with an additional parameter (e.g. this is my local mirror, you have to pick another one): ltsp-build-client --dist etch --arch i386 --mirror http://192.168.0.11/mirrors/etch The ltsp-build-client script needs a lot of time (especially with a non local mirror). E.) If you want to have local device access you need some Debian Sid (= Debian unstable) packages. These packages are at the moment not available for Etch (as of april 2007). Don't care about "unstable", they worked fine for me. Point your favorite browser to: http://packages.debian.org/unstable/net/ltspfs and get the package for your server (!!!) architecture (for me it is amd64 = ltspfs_0.4.3+debian2_amd64.deb). Then go for: http://packages.debian.org/unstable/net/ltspfsd and get the package for your clients (!!!) architecture (for me it is i386 = ltspfsd_0.4.3+debian2_i386.deb) F.) Install the ltspfs server (!!!) package: In an xterm as root go to the just downloaded ltspfs server package and type (remember, amd64 is my server architecture, you may have another one): dpkg -i ltspfs_0.4.3+debian2_amd64.deb G.) Copy the ltspfsd client package into your chroot: In an xterm as root go to the just downloaded ltspfsd client (!!!) package and type: cp ltspfsd_0.4.3+debian2_i386.deb /opt/ltsp/i386/root H.) Now we do some action in the chroot: You are root and type in an xterm: chroot /opt/ltsp/i386 >From now you are in the client environment (!!!), go to: cd /root and there install the client ltspfsd package: dpkg -i ltspfsd_0.4.3+debian2_i386.deb I.) Sound needs some extra help, so type in the same client environment (chroot): apt-get install libasound2 libesd-alsa0 alsa-oss alsa-base linux-sound-base aumix J.) We are already in the same client environment (chroot). The sound volume is 0 as default so we need a little pump up: cd /etc Here you have to create a file named "aumixrc" with this content: vol:84:84:P pcm:85:85:P line:0:0:P mic:0:0:P cd:0:0:P pcm2:85:85:P igain:0:0:P line1:0:0:P dig1:0:0:P You can do that with: vi aumixrc Pressing "i" (only the letter i) and pasting the above lines. Pressing of the esc - key and ":x" will save the file. K.) There is one package missing. As of april 2007 the package "lsof" (part of local cdrom) is absent by default, so in the same client environment (chroot): apt-get install lsof L.) Remote logging is not working and need to be fixed, so in the same client environment (chroot): cd /etc/rc2.d mv K10sysklogd S10sysklogd mv K11klogd S11klogd M.) Delete all (!) entries in /etc/hostname in the chroot, then you have the right terminal name (from dhcpd) and everything works fine: cd /etc rm hostname touch hostname N.) Leaving the chroot, type: exit O.) We're back onto the server and enabling remote logging: cd /etc/default Edit the file "syslogd" to make sure the the following line is present: SYSLOGD="-r" Then restart the logging with: /etc/init.d/sysklogd restart P.) NFS configuration: cd /etc Make sure that in the file "exports" the following line is present: /opt/ltsp 192.168.0.0/255.255.255.0 (ro,no_root_squash,async,subtree_check) You have to adapt the 192.168.0.0 to your network settings! Restart the nfs - server: /etc/init.d/nfs-kernel-server restart Q.) At least, the dhcpd configuration: cd /etc/dhcp3 You have to edit the file "dhcpd.conf". This may be very tricky, because this depends on your hardware situation. Here is a part of my configuration, you have to adapt it: ddns-update-style none; default-lease-time 21600; max-lease-time 21600; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.100; option domain-name-servers 192.168.0.100; option domain-name "YourDomain"; option root-path "/opt/ltsp/i386"; option option-128 code 128 = string; option option-129 code 129 = text; option option-128 e4:45:74:68:00:00; option option-129 "MOPTS=nolock,ro,wsize=2048,rsize=2048"; authoritative; log-facility local7; subnet 192.168.0.0 netmask 255.255.255.0 { use-host-decl-names on; option log-servers 192.168.0.11; host x04 { hardware ethernet XX:XX:XX:XX:XX:XX; fixed-address 192.168.0.54; next-server 192.168.0.11; if substring (option vendor-class-identifier, 0, 9) = "PXEClient" { filename "/ltsp/i386/eb-5.4.3-via-rhine.zpxe"; } else if substring (option vendor-class-identifier, 0, 9) = "Etherboot" { filename "/ltsp/i386/pxelinux.0"; } } } XX:XX ... must change to your hardware. You can get the *.zpxe files from http://rom-o-matic.net/ After all, restart dhcp with: /etc/init.d/dhcp3-server restart R.) Fuse support for local device access. Be sure that the packages fuse-utils & libfuse2 are installed (on the server): apt-get install fuse-utils libfuse2 Load the fuse module in a console (server): modprobe fuse Then go to /etc/modules on the server and add one line with: fuse After that run this command (in the same console): update-modules S.) So far you are ready, I only have some little hints: If you are low on client memory you can save some kilobytes by deactivating useless tty's. Switch to chroot and edit /etc/inittab: comment out the lines: #2:23:respawn:/sbin/getty 38400 tty2 #3:23:respawn:/sbin/getty 38400 tty3 #4:23:respawn:/sbin/getty 38400 tty4 #5:23:respawn:/sbin/getty 38400 tty5 #6:23:respawn:/sbin/getty 38400 tty6 If something goes wrong, it may help switching to the first tty and login at the client as root. To do that you need to give root a password. So switch to chroot and type "passwd" and enter a password. Booting the client takes a lot of time now (since LTSP 5), you can improve that by optimizing the lts.conf file (e.g. naming a xorg.conf file). I will post a lts.conf file in the future. References: LTSP 5: http://www.ltsp.org Debian: http://www.debian.org Ubuntu: http://www.ubuntu.com LTSP/Howto: http://wiki.debian.org/LTSP/Howto NO remote - logging, BUG: #410485: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=410485 -- So long! Jumako ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _____________________________________________________________________ Ltsp-discuss mailing list. To un-subscribe, or change prefs, goto: https://lists.sourceforge.net/lists/listinfo/ltsp-discuss For additional LTSP help, try #ltsp channel on irc.freenode.net
