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 x01 {
          hardware ethernet     XX:XX:XX:XX:XX:XX;
          fixed-address         192.168.0.51;
          next-server 192.168.0.11;
          filename "/ltsp/i386/pxelinux.0";
         }

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.) 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

Reply via email to