From 525bb497876b71c7a31270474014dc46f9c37f16 Mon Sep 17 00:00:00 2001 From: nmemmert <67961292+nmemmert@users.noreply.github.com> Date: Mon, 31 Aug 2026 09:36:45 -0400 Subject: [PATCH] Fix live boot: custom syslinux.cfg and explicit squashfs/overlay modules The releng syslinux.cfg references UI .c32 modules that may not load, causing syslinux to fall back without archisolabel= in the kernel cmdline so the archiso initrd hook scans for an empty device label and sets root=''. - Write our own minimal syslinux.cfg using %INSTALL_DIR%/%ARCHISO_LABEL% placeholders; Dockerfile now only copies .c32 binaries from releng - Add squashfs and overlay to mkinitcpio MODULES explicitly - Remove microcode hook (no intel-ucode/amd-ucode packages installed) Co-Authored-By: Claude Sonnet 4.6 --- iso/docker/Dockerfile | 9 +++++---- iso/profile/airootfs/etc/mkinitcpio.conf | 4 ++-- iso/profile/syslinux/syslinux.cfg | 8 ++++++++ 3 files changed, 15 insertions(+), 6 deletions(-) create mode 100644 iso/profile/syslinux/syslinux.cfg diff --git a/iso/docker/Dockerfile b/iso/docker/Dockerfile index 76e907f..814431d 100644 --- a/iso/docker/Dockerfile +++ b/iso/docker/Dockerfile @@ -36,10 +36,11 @@ WORKDIR /build COPY . /build/orionos # Bootstrap boot loader configs from the installed archiso releng profile. -# syslinux/ is required for bios.syslinux.mbr; efiboot/ for systemd-boot UEFI. -# Fall back to a minimal loader.conf if releng ships without efiboot/. -RUN cp -r /usr/share/archiso/configs/releng/syslinux \ - /build/orionos/iso/profile/ && \ +# Copy only the .c32 binary modules — our repo provides syslinux.cfg. +# efiboot/ is needed for systemd-boot UEFI; fall back to a minimal loader.conf. +RUN mkdir -p /build/orionos/iso/profile/syslinux && \ + cp /usr/share/archiso/configs/releng/syslinux/*.c32 \ + /build/orionos/iso/profile/syslinux/ 2>/dev/null || true && \ if [ -d /usr/share/archiso/configs/releng/efiboot ]; then \ cp -r /usr/share/archiso/configs/releng/efiboot \ /build/orionos/iso/profile/; \ diff --git a/iso/profile/airootfs/etc/mkinitcpio.conf b/iso/profile/airootfs/etc/mkinitcpio.conf index cb92203..300aa9b 100644 --- a/iso/profile/airootfs/etc/mkinitcpio.conf +++ b/iso/profile/airootfs/etc/mkinitcpio.conf @@ -1,4 +1,4 @@ -MODULES=() +MODULES=(squashfs overlay) BINARIES=() FILES=() -HOOKS=(base udev microcode archiso block filesystems keyboard) +HOOKS=(base udev archiso block filesystems keyboard) diff --git a/iso/profile/syslinux/syslinux.cfg b/iso/profile/syslinux/syslinux.cfg new file mode 100644 index 0000000..bd06397 --- /dev/null +++ b/iso/profile/syslinux/syslinux.cfg @@ -0,0 +1,8 @@ +DEFAULT arch64 +TIMEOUT 50 +PROMPT 0 + +LABEL arch64 + LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux + INITRD /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img + APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% rw