wrong location of lts.conf for amd64

Bug #1594840 reported by GE3K.me
34
This bug affects 4 people
Affects Status Importance Assigned to Milestone
LTSP5
Fix Released
Low
Alkis Georgopoulos

Bug Description

In our environment we use 2 images, the i386 and amd64 images for ltsp. While trying to configure the lts.conf file for both images I found that both image architectures point to the /var/lib/tftpboot/ltsp/i386 directory for the lts.conf file. This causes an issue when using both images separately as there is no way to specify which config file to use when they are in the same directory.

My work around is to modify the i386 lts.conf to point the MAC addresses for the different machines to their respective images.

Tags: precise
Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

The lts.conf file location is determined by the dhcp server "boot filename" option.
So if the boot filename points to /ltsp/i386/pxelinux.0, then /ltsp/i386/lts.conf is fetched.
It's your responsibility to configure the dhcp server to point to a different boot filename on amd64 clients.

Note that there are 2 different dhcp requests;
one from the BIOS that sends the identifier "PXEClient",
and one from initramfs that sends the identifier "Linux ipconfig" or "udhcp version".

The second one is what affects the lts.conf path.

The respective script is at /usr/share/ltsp/init-ltsp.d/05-getltsconffile, you can read it yourself.

Changed in ltsp:
status: New → Invalid
Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

Hmm actually I'll mark this as Triaged, in the following sense:

As shown with this bug report, using the DHCP server's boot filename option is a bit confusing.
I'll change the code to use the BOOT_IMAGE option instead, read from /proc/cmdline.
It'll even be more cross-distro, instead of having to rely on net-eth0.conf which is specific to klibc/initramfs-tools.

Changed in ltsp:
assignee: nobody → Alkis Georgopoulos (alkisg)
importance: Undecided → Low
status: Invalid → Triaged
Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

Fix committed in http://bazaar.launchpad.net/~ltsp-upstream/ltsp/ltsp-trunk/revision/2742

It's possible that neither BOOT_IMAGE nor $filename are defined (e.g. booting a non-debian distro with uboot), but it's better than what we previously had.

Changed in ltsp:
status: Triaged → Fix Committed
Norbert (nrbrtx)
tags: added: precise
Revision history for this message
Norbert (nrbrtx) wrote :

Got this bug in Ubuntu 12.04.5 LTS amd64 server with amd64 clients.

Server log:
...
Feb 6 11:59:56 hostname dnsmasq-tftp[14463]: file /var/lib/tftpboot/ltsp/i386/lts.conf not found
...

ltsp-client-core is 5.3.7-0ubuntu2.8.

Fixed on server with:
sudo mkdir /var/lib/tftpboot/ltsp/i386
sudo ln -s /var/lib/tftpboot/ltsp/amd64/lts.conf /var/lib/tftpboot/ltsp/i386/lts.conf

Please ensure that other Ubuntu LTS versions have correct versions of /usr/share/ltsp/init-ltsp.d/05-getltsconffile file.

summary: - amd64 lts.conf file location
+ wrong location of lts.conf for amd64
Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

Hi Norbert,

to backport this to older Ubuntu versions, someone needs to do the steps of the "SRU" process:
https://wiki.ubuntu.com/StableReleaseUpdates

Feel free to do an SRU for this issue.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ltsp (Ubuntu):
status: New → Confirmed
Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

Fix released in LTSP 5.5.9.

Changed in ltsp:
status: Fix Committed → Fix Released
Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

Closing the Ubuntu task too, as LTSP 5.5.9 is available in Zesty.

Changed in ltsp (Ubuntu):
assignee: nobody → Alkis Georgopoulos (alkisg)
importance: Undecided → Low
status: Confirmed → Fix Released
Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

Reopening as there's still an issue:
BOOT_IMAGE only contains a path if pxelinux.cfg/default also contains a path, which isn't true by default.
The code should prefer $filename from net-*.conf if BOOT_IMAGE doesn't contain a path, otherwise it falls back to the default path of /ltsp/$ARCH/lts.conf.

Changed in ltsp:
status: Fix Released → Triaged
no longer affects: ltsp (Ubuntu)
Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

Hi, can anyone affected test the attached 05-getltsconffile?
Put it in ($CHROOT)/usr/share/ltsp/init-ltsp.d/05-getltsconffile, run ltsp-update-image, and see if it works fine for your use case.
If noone complains, I'll commit it in a few days.

Revision history for this message
Norman Gaywood (ngaywood) wrote :

Poster of duplicate bug #1814006 here
The new 05-getltsconffile from comment #10 works for me.

The only change is that, with my UEFI booting machines, the file /ltsp/amd64/efi64/lts.conf
is TFTP'ed instead of /ltsp/amd64/lts.conf (with my patched 05-getltsconffile in bug #1814006)

The change is probably "more correct" anyway. So I'm happy with the new 05-getltsconffile

I have not tested, but if someone is booting UEFI and using TFTP to transfer the vmlinuz and intitrd files (I use HTTP) they should check that they are are getting the lts.conf file.

Revision history for this message
Alkis Georgopoulos (alkisg) wrote :
Changed in ltsp:
status: Triaged → Fix Committed
Changed in ltsp:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.