Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian....@packages.debian.org
Usertags: pu
X-Debbugs-Cc: l...@packages.debian.org, alk...@gmail.com, vagr...@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 <sunwea...@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....@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.gabr...@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 via email to