ltsp-build-client fails when specifying old distros

Bug #1048699 reported by Colin Scott
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ltsp (Ubuntu)
Won't Fix
Undecided
Unassigned

Bug Description

This bug report comes after a lot of frustration with trying to create an LTSP “hardy” chroot for some old systems with now unsupported Graphics chipsets and researching this issue. I’m using Edubuntu 12.04. The command I’m using is “ltsp-build-client --arch i386 --dist hardy --chroot 8.04-i386 --copy-package-lists --keep-packages --purge-chroot” which I understand will never succeed unless the package ltsp-client-core_5.0.40~bzr20080212-0ubuntu7_i386.deb is made installable.

Until recently any version of client package ltsp-client-core was not installable on “regular machines”, it could only be installed chrooted “because it required special changes to the operating system done by ltsp-build-client”. From Edubuntu 12.04 / LTSP 5.3 the situation has been reversed i.e. the newer versions are installable on “regular machines” and the older ones can’t be installed chrooted.

Bug #936810 gives some background to this problem:

“In LTSP 5.3, most of those changes were moved from the chroot build phase to the client boot phase (/sbin/init-ltsp).”

ltsp-build-client failure text:

"Unpacking ltsp-client (from .../ltsp-client_5.0.40~bzr20080212-0ubuntu7_all.deb) ...
Errors were encountered while processing:
 /var/cache/apt/archives/ltsp-client-core_5.0.40~bzr20080212-0ubuntu7_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
"

Manually run dpkg command failure text:

chroot /opt/ltsp/8.04-i386 dpkg -i /var/cache/apt/archives/ltsp-client-core_5.0.40~bzr20080212-0ubuntu7_i386.deb
(Reading database ... 14566 files and directories currently installed.)
Unpacking ltsp-client-core (from .../ltsp-client-core_5.0.40~bzr20080212-0ubuntu7_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/ltsp-client-core_5.0.40~bzr20080212-0ubuntu7_i386.deb (--install):
 subprocess pre-installation script returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/ltsp-client-core_5.0.40~bzr20080212-0ubuntu7_i386.deb

Prompt appears as follows:

"Installation aborted

ltsp-client cannot be installed in a regular machine. This package provides the basic structure for a LTSP terminal. . Please read the package description to understand what it means"

Please understand that my primary goal is to save others a lot of frustration as I have now actually given up on the ltsp-client-core_5.0.40~bzr20080212-0ubuntu7_i386.deb not installable issue. I guess I will have to download and install Edubuntu 11.04, which I hope is the version before these changes were made, in order to just create an 8.04 chroot environment and then I guess I can transfer the chroot to 12.04 and destroy the temporary Edubuntu 11.04 installation?

What we absolutely need at a minimum is for ltsp-build-client to generate an error that older distros are no longer supported in order to save folks hours of research on this problem and maybe stop some more duplicates of Bug 936810 being reported! I guess all the old distro links / scripts in “/usr/share/debootstrap/scripts” can be removed from the relevant packages as well in order to clean things up?

If there is a workaround for the ltsp-client-core_5.0.40~bzr20080212-0ubuntu7_i386.deb not being installable using the latest ltsp-build-client then I would be interested in knowing what that is.

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

Hi Colin,

older ltsp-client versions were looking for a (chroot)/etc/ltsp-chroot file, and if they didn't find it, they aborted the installation. That file was put there by older ltsp-build-client versions. That's why running ltsp-build-client on 12.04 to generate an 8.04 chroot doesn't work.
You could work around that by creating a plugin in (server)/usr/share/ltsp/plugins/ltsp-build-client/... that creates that file.

But that's the least of your problems.

The squashfs format was changed between 8.04 and 12.04. So, you won't be able to run `ltsp-update-image` from 12.04 on a 8.04 chroot, the client initramfs won't be able to mount it. You'd have to keep an 8.04 ltsp installation around just to be able to run ltsp-update-image there, and then transfer the result to your 12.04 server.

And that's not all.

In 12.04, nbd-server is now using the IANA assigned port 10809 instead of the old 2000. But it also uses "name based export" instead of "port based exports", which means that nbd-client communicates with the server with a different protocol. To work around that, you'd have to emulate the old port-based behavior by running nbd-server with different parameters, just for that chroot.

So I'll mark that bug as "won't fix", I don't see any easy ways to solve those problems, especially the squashfs one.

On a side note, we have many ancient labs here ourselves, so if you want, mention the specific problems you have with the older hardware, maybe there are workround to run 12.04 (or 11.10 chroots) on them.
Also, for 486 machines (no PAE support etc), the easiest path might be to create a wheezy debian chroot (which is compatible with 12.04) and transfer it to 12.04, and then maintain it there.

Changed in ltsp (Ubuntu):
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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