LTSP - Lose The Splash Page#
Thu, 29 Nov 2007 06:34:47 +0000
Some notes on the LTSP setup in Ubuntu 7.10 ("Gutless Gibbering" or whatever tf it's called) which may be valuable to anyone else trying to set up a Dell Vostro 200 as a client given that the whole thing is a triumph of packaging over pragmatics and the documentation is infuriatingly crap. If you arrived at this page via Google you presumably knew that already or you wouldn't have been reduced to trying random web pages.
I assume a certain familiarity with Unix, but I think that's more robust than assuming you're an idiot with exactly the same hardware as whatever the person who packaged it had. If you have, of course, then it already works for you and why are you reading this anyway?
- The client boot sequence: address from DHCP, kernel and initramfs from TFTP, then the "proper" root image seems to be served over nbd (network block device)
- General principle seems to be that the "master" for the client root image is in /opt/ltsp/$ARCH/ - but in general, changing files in that tree doesn't change anything until you run some magic copying script or other.
- The DHCP server config is not in /etc, it's in /etc/ltsp (check /etc/init.d/dhcp3-server for the entirely undocumented override that makes that be true). If you have the hardware for it, use a dedicated ethernet device for the clients and configure it as 192.168.0.1 - then you won't need to change the dhcp config except to make it ignore your other network.
- Once an address is assigned, the client will load kernel and initrd
from /var/lib/tftp/... One appears to be expected to populate this
by running
ltsp-update-kernels
, which basically copies files of the same names from /opt/ltsp/$ARCH/boot
- So, if you need to remove the boot splash screen because it's drawing a progress bar and then hanging with no progress and absolutely no indication of what the problem is, you edit /opt/ltsp/$ARCH/boot/pxelinux.cfg/default and do the preceding.
- Or if you need to change the initrd contents (e.g. to add modules)
you first maltreat /opt/ltsp/$ARCH/boot appropriately, then you
chroot into /opt/ltsp/$ARCH/ and run
update-initramfs -u
, then (outside the chroot)ltsp-update-kernels
.
- I mention this because if you have the same Vostro 200 hardware as I
have, you will need to make it load
e1000-ich8
(network card driver) on boot, and you do this by adding said module to /opt/ltsp/$ARCH/etc/initramfs-tools/modules and then following the preceding steps.
- And the same may apply if you want the keyboard and mouse to work -
let me tell you, even after removing the dumb user
firewall^W^W^Wsplash screen it required significant guesswork to
establish the problems here without scrollback. After booting the
client off a Ubuntu CD and running
lshw
, I addedusbcore
,uhch_hcd
anduhci_ecd
- don't dousbhid
, it makes the keyboard horribly laggy.
- Once it's got the initrd it will try and get the full root, which is
served by
nbd
. This is /opt/ltsp/images/... which is created byltsp-update-image
from the contents of /opt/ltsp/$ARCH/ - so, whenever you touch the latter, run the former.
- Note that you can ignore the messages you see about nbd being unable to find its config file, it's optional. Which is lucky as nbd is yet another daemon whose error messages don't include the full pathname of the file it's failing to find.
- Eventually it will reach a gdm-like graphical login screen (ldm).
When you supply a username/password to this it will ssh to the
server, so at this point look in /var/log/auth.log for Stuff.
ltsp-update-sshkeys
is apparently relevant at this stage, I think it's for use when you change the server IP address but I haven't run it yet except in the course of "I give up, let's run everything that looks vaguely relevant" Big Hammer debugging.
- and then if it appears to hang on a blank screen (it did when I tried it), look in ~/.xsession-errors for relevant error messages. I found that installing compiz (wtf? opengl widow manager over a network?) and metacity seemed to help, but didn't actually get me to the point that it opened any windows. Easiest fix is to run tasksel and ask for the 'Ubuntu desktop' package, which you'd think would be a dependency of something in this whole mess, but no.
- Ctrl-Alt-F1 will get you to a text console, but the login process there doesn't auth against the server, so presumably you'd have to look for or create a local user account in /opt/ltsp/$ARCH if you wanted to explore the system in text mode.
Which as far as I've got so far.