fix: install live-boot via apt after debootstrap, remove partition_offset

Two boot fixes:
- live-boot package must be installed via chroot apt-get, not debootstrap
  --include (minbase resolver can't handle its deps). Verified initrd was
  missing scripts/live* entirely.
- Remove -partition_offset 16 from xorriso — it was designed for the
  original Debian Live MBR, not the standard ISOLINUX isohdpfx.bin.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-27 19:11:54 +00:00
parent 709c135fab
commit 540438296e

View File

@@ -461,10 +461,22 @@ debootstrap --variant=minbase --arch=${DEB_ARCH} \
kmod,procps,iproute2,ca-certificates,gdisk,\
cryptsetup,cryptsetup-initramfs,parted,dosfstools,e2fsprogs,\
linux-image-${DEB_ARCH},grub-efi-${DEB_ARCH},grub-pc-bin,\
live-boot,live-boot-initramfs-tools,\
pciutils,usbutils,less,nano \
bookworm /installer http://deb.debian.org/debian
# Install live-boot separately — debootstrap minbase resolver can't handle it
echo " [container] Installing live-boot for squashfs root support..."
chroot /installer apt-get update -qq
chroot /installer apt-get install -y --no-install-recommends live-boot live-boot-initramfs-tools
chroot /installer apt-get clean
# Verify live-boot hooks are in place
if [ -d /installer/usr/share/initramfs-tools/scripts/live ]; then
echo " [container] live-boot initramfs hooks: OK"
else
echo " [container] WARNING: live-boot hooks not found!"
ls /installer/usr/share/initramfs-tools/scripts/ 2>/dev/null
fi
echo " [container] Configuring installer environment..."
# Set hostname
@@ -2556,7 +2568,6 @@ if [ ! -f "$EFI_IMG" ]; then
-c isolinux/boot.cat \
-b isolinux/isolinux.bin \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-partition_offset 16 \
"$INSTALLER_ISO"
else
xorriso -as mkisofs -o "$OUTPUT_ISO" \
@@ -2571,7 +2582,6 @@ else
-e boot/grub/efi.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
-partition_offset 16 \
"$INSTALLER_ISO"
fi