Commit Graph
12 Commits
Author SHA1 Message Date
nmemmertandClaude Sonnet 4.6 333eb6bc3e Add mirrorlist and pacman.conf to live airootfs
Without these the live system has no mirrors configured and pacman
refuses to sync. Uses geo.mirror.pkgbuild.com as primary with
kernel.org, rackspace, and MIT as fallbacks.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-31 13:40:07 -04:00
nmemmertandClaude Sonnet 4.6 daf9cb4f96 Fix menu/launcher to use installed apps; add pcmanfm, mousepad, arandr
Menu and launcher fallback pointed to alacritty/firefox/rigel/quill
which are not in the live ISO. Switch to xterm (already installed),
pcmanfm and mousepad (now added to packages). Also add arandr for
display settings.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-31 13:29:45 -04:00
nmemmertandClaude Sonnet 4.6 1fa8f212b1 Auto-start X on boot: autologin root on TTY1, startx from .bash_profile
Also add all OrionOS binaries to file_permissions so archiso sets 755
on them in the squashfs (fixes Permission denied from xinitrc).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-31 13:20:03 -04:00
nmemmertandClaude Sonnet 4.6 689249cf5e Add customize_airootfs.sh to remove root password on live system
Without this, pacstrap locks root's password by default and the live
ISO is unbootable/unloggable-into.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-31 12:55:53 -04:00
nmemmertandClaude Sonnet 4.6 5de7cfec78 archiso hook: replace getarg with direct /proc/cmdline parsing
getarg's trailing-= convention varies by mkinitcpio version and was
returning empty even when archisosearchuuid was present in cmdline.
Parse /proc/cmdline directly in ash — no external tools, no version
sensitivity.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-31 12:39:06 -04:00
nmemmertandClaude Sonnet 4.6 685b725dbb archiso hook: support archisolabel= fallback for syslinux boots
Syslinux passes archisolabel= not archisosearchuuid= (UUID is only in
systemd-boot entries). Add blkid label lookup as fallback so both boot
paths work.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-31 12:32:27 -04:00
nmemmertandClaude Sonnet 4.6 9159626cff Fix archiso initcpio hook: use run_hook+mount_handler override
run_latehook fires after mkinitcpio already attempts to mount root= (empty),
which fails. Switch to run_hook() setting mount_handler=archiso_mount_handler
so mkinitcpio calls our handler instead of the default block-device mount.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-31 12:05:41 -04:00
nmemmertandClaude Sonnet 4.6 ca0e9f7c72 Bundle archiso initcpio hook directly in repo
Current archiso package does not install initcpio hook files (confirmed:
find /usr -path */initcpio/hooks/archiso returns nothing). Write the hook
and its mkinitcpio install script directly into the profile airootfs so
COPY carries them into the image without any package dependency.

Hook finds ISO by archisosearchuuid= kernel param, waits up to 30s for
the device to appear via blkid, mounts iso9660→squashfs→overlay onto
/new_root. mkinitcpio detects /new_root is already mounted and succeeds.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-31 11:34:08 -04:00
nmemmertandClaude Sonnet 4.6 525bb49787 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 <noreply@anthropic.com>
2026-08-31 09:36:45 -04:00
nmemmertandClaude Sonnet 4.6 d6f2cbb2b8 Add archiso package to live ISO for working initrd hook
mkinitcpio runs inside the airootfs chroot, so the archiso hook files
(/usr/lib/initcpio/hooks/archiso) must be installed there. Without this
the hook has no device-scanning logic and boots to an empty root mount.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-31 09:11:12 -04:00
nmemmertandClaude Sonnet 4.6 18d3675368 Fix ISO build pipeline for Docker on macOS
- Disable pacman alpm sandbox in Dockerfile (seccomp blocks it in BuildKit)
- Move mkarchiso from RUN to CMD so it runs with --privileged at docker run time
- Fix output path: mkarchiso now writes to /dist (matches volume mount)
- Add syslinux + imlib2 to Docker build packages and live ISO package list
- Copy syslinux/ and efiboot/ boot configs from archiso releng into profile
- Switch deprecated UEFI grub bootmodes to uefi-x64.systemd-boot
- Fix wrong package names: libpam→pam, light→brightnessctl, remove pkexec
- Set SigLevel=Never and hardcode reliable mirrors in profile pacman.conf
- Add mkinitcpio.conf with archiso hook so initrd can mount the live squashfs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-31 08:27:16 -04:00
Claude a5b2c5aee3 Complete archiso profile for OrionOS ISO build
- iso/profile/profiledef.sh: archiso profile with BIOS+UEFI bootmodes
- iso/profile/packages.x86_64: full package list (X11, audio, OrionOS deps)
- iso/profile/pacman.conf: pacman config for archiso
- iso/profile/airootfs/: live overlay (xinitrc, hostname, skel)
- iso/docker/Dockerfile: builds OrionOS from source, installs into airootfs, runs mkarchiso
2026-08-30 20:49:45 +00:00