Unable to use different lts.conf with different images
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ltsp (Ubuntu) |
Expired
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: ltsp-client-core
When using ltsp with multiple images, for example one image for thin clients and one image for fat clients, you cannot have different lts.conf files for the different images. The problem seems to be that ltsp_nbd does not care what tftp path the kernel comes from, it will just go for what is stored in the "filename" varaible. This filename variable can be changed on a per-mac basis in dhcpd.conf, but I don't always know what image the user decides to boot in the pxelinux boot menu.
I suggest that instead of the line:
tftpath=$(echo ${filename%/*}|tr -d '"')
use the following:
tftpath=$(echo ${initrd%/*})
This way we would read lts.conf from the same directory as the initrd image was downloaded from.
Ubuntu release: 9.10
package: ltsp-client-core 5.1.90-0ubuntu3
In my default LTSP installation, echo $initrd gives "initrd.img", without the /ltsp/i386 tftp path in front of it.
How's this going to help in having different lts.conf files per chroot?
If you have already have a pxelinux menu, you could pass e.g. tftppath= /ltsp/fati386 as a kernel parameter for one of those entries. This way, if we changed the ltsp_nbd code from: (.*/\)[ ^/]*,\1, p')" "${tftppath: -$(echo "$filename" | sed -n 's,\"*\ (.*/\)[ ^/]*,\1, p')}"
ftppath="$(echo "$filename" | sed -n 's,\"*\
(note that that particular line has changed a little) to:
tftppath=
then the kernel tftppath parameter would be preferred, and so you could have different lts.conf files per chroot.
Would that work for you?
Note though that you *can* use the same chroot for both thin and fat clients. Any particular reason why you need 2 different chroots?