Bug#1050090: bookworm-pu: package ltsp/23.02-1+deb12u1
Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: ltsp@packages.debian.org, alkisg@gmail.com, vagrant@debian.org
Control: affects -1 + src:ltsp
While prepare the initial Debian Edu 12 release, we came across a problem in
LTSP. Thin client machines and diskless workstations started failing to boot
from NFS-located chroot environments.
[ Reason ]
The underlying cause is a regression in the linux kernel since version 5.15
(see #1049885 [1]) for details.
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1049885
A workaround could be found for LTSP in Debian 12 (it is not just a
Debian Edu problem). This upload provides this workaround and brings
back above named functionality (PXE-booting Debian systems via LTSP
when the system is a chroot tree on NFS).
[ Impact ]
LTSP with rootfs on NFS stays broken.
[ Tests ]
Manual tests on a Debian Edu 12 network.
[ Risks ]
Another regression might have been introduced into LTSP with that workaround.
[ Checklist ]
[x] *all* changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in (old)stable
[x] the issue is verified as fixed in unstable
[ Changes ]
+ * debian/patches:
+ + Add 0001_Avoid-mv-on-init-symlink-in-order-to-work-around-ove.patch
+ (cherry-picked from upstream). Avoid mv on init symlink in order to
+ work around overlayfs issue. (Closes: #1049397).
[ Other info ]
This issue has been discussed with and approved by LTSP upstream.
See: https://github.com/ltsp/ltsp/issues/860#issuecomment-1682047744
diff -Nru ltsp-23.02/debian/changelog ltsp-23.02/debian/changelog
--- ltsp-23.02/debian/changelog 2023-02-28 04:27:32.000000000 +0100
+++ ltsp-23.02/debian/changelog 2023-08-19 17:33:29.000000000 +0200
@@ -1,3 +1,12 @@
+ltsp (23.02-1+deb12u1) bookworm; urgency=medium
+
+ * debian/patches:
+ + Add 0001_Avoid-mv-on-init-symlink-in-order-to-work-around-ove.patch
+ (cherry-picked from upstream). Avoid mv on init symlink in order to
+ work around overlayfs issue. (Closes: #1049397).
+
+ -- Mike Gabriel <sunweaver@debian.org> Sat, 19 Aug 2023 17:33:29 +0200
+
ltsp (23.02-1) unstable; urgency=medium
* Match both memtest86+x32.bin and memtest86+ia32.bin (#801)
diff -Nru ltsp-23.02/debian/patches/0001_Avoid-mv-on-init-symlink-in-order-to-work-around-ove.patch ltsp-23.02/debian/patches/0001_Avoid-mv-on-init-symlink-in-order-to-work-around-ove.patch
--- ltsp-23.02/debian/patches/0001_Avoid-mv-on-init-symlink-in-order-to-work-around-ove.patch 1970-01-01 01:00:00.000000000 +0100
+++ ltsp-23.02/debian/patches/0001_Avoid-mv-on-init-symlink-in-order-to-work-around-ove.patch 2023-08-19 17:33:29.000000000 +0200
@@ -0,0 +1,31 @@
+From 19ccbb7c4a5daeebacb4157bea772e26c3fb0f44 Mon Sep 17 00:00:00 2001
+From: gber <guido+github.com@berhoerster.name>
+Date: Thu, 17 Aug 2023 09:45:49 +0200
+Subject: [PATCH] Avoid mv on init symlink in order to work around overlayfs
+ issue (#860)
+
+Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+---
+ ltsp/client/initrd-bottom/55-initrd-bottom.sh | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/ltsp/client/initrd-bottom/55-initrd-bottom.sh b/ltsp/client/initrd-bottom/55-initrd-bottom.sh
+index 633ef47..bf68ae0 100644
+--- a/ltsp/client/initrd-bottom/55-initrd-bottom.sh
++++ b/ltsp/client/initrd-bottom/55-initrd-bottom.sh
+@@ -73,8 +73,10 @@ install_ltsp() {
+ fi
+ # To avoid specifying an init=, we override the real init.
+ # We can't mount --bind as it's in use by libraries and can't be unmounted.
+- re mv "$rootmnt/sbin/init" "$rootmnt/sbin/init.ltsp"
+- re ln -s ../../usr/share/ltsp/client/init/init "$rootmnt/sbin/init"
++ # With Linux 6.1 rename(2) on the symlink fails with ENXIO, so do not use
++ # mv for now (see #860).
++ re cp -a "$rootmnt/sbin/init" "$rootmnt/sbin/init.ltsp"
++ re ln -sf ../../usr/share/ltsp/client/init/init "$rootmnt/sbin/init"
+ # Jessie needs a 3.18+ kernel and this initramfs-tools hack:
+ if grep -qs jessie /etc/os-release; then
+ echo "init=${init:-/sbin/init}" >> /scripts/init-bottom/ORDER
+--
+2.39.2
+
diff -Nru ltsp-23.02/debian/patches/README ltsp-23.02/debian/patches/README
--- ltsp-23.02/debian/patches/README 1970-01-01 01:00:00.000000000 +0100
+++ ltsp-23.02/debian/patches/README 2023-08-19 17:33:29.000000000 +0200
@@ -0,0 +1,3 @@
+0xxx: Grabbed from upstream development.
+1xxx: Possibly relevant for upstream adoption.
+2xxx: Only relevant for official Debian release.
diff -Nru ltsp-23.02/debian/patches/series ltsp-23.02/debian/patches/series
--- ltsp-23.02/debian/patches/series 2023-02-28 04:27:32.000000000 +0100
+++ ltsp-23.02/debian/patches/series 2023-08-19 17:33:29.000000000 +0200
@@ -0,0 +1 @@
+0001_Avoid-mv-on-init-symlink-in-order-to-work-around-ove.patch
Reply to: