All checks were successful
Mirror to GitHub / mirror (push) Successful in 3s
Boot-critical (each confirmed with a real boot/install cycle, not just code review): - Live ISO's liveuser shell is zsh, but Hyprland autostart was written to .bash_profile (never runs) — moved to .zprofile, and switched to start-hyprland (Hyprland's own watchdog wrapper; raw `exec Hyprland` is no longer the recommended launch method). - copytoram (self-enables on most real hardware: non-optical boot + image < 4GiB + enough free RAM) unmounts /run/archiso/bootmnt, which unpackfs.conf and bos-copy-kernel both hardcoded as their source — broke the installer outright on real hardware, confirmed by forcing copytoram=y. Added a resolver step for unpackfs, and switched the kernel copy to /usr/lib/modules/$(uname -r)/vmlinuz (part of the live squashfs itself, unaffected by copytoram). - BIOS installs got no bootloader — post-install.sh only ever ran the UEFI grub-install path despite BOS shipping bios.syslinux. Added a BIOS branch with disk auto-detection. - @snapshots/@log/@cache were never real: iso/partition.conf's btrfsSubvolumes key isn't part of this Calamares version's partition module schema at all (same class of bug as the userShell fix below — silently ignored). Calamares only natively creates @ and @home. post-install.sh now creates the three subvolumes by hand after unpackfs, migrates existing /var/log + /var/cache content into them before mounting over, and adds the fstab entries — verified end to end on real hardware, including grub-btrfs generating bootable snapshot menu entries. The unmount step in the existing snapper create-config dance also gained retry + lazy-unmount fallback after a real chroot run hit a transient busy-mount race. - Default shell was bash instead of zsh post-install: users.conf's top-level `userShell` key isn't part of this Calamares version's users module schema either — the real key is nested (user.shell). - graphical-session.target ships RefuseManualStart=yes (systemd convention), so the earlier attempt to activate it from hyprland.lua silently failed and breadclipd (WantedBy=graphical-session.target) never started. Starts breadclipd.service directly instead. - /etc/os-release was never set (showed "Arch Linux"); live boot never had quiet/splash/plymouth wired in (raw kernel scroll the whole time) despite BOS already shipping a complete bread-logo+spinner plymouth theme for the installed system. Also: generalized build-local.sh's per-service skel baking (previously only breadd.service was hand-committed; breadbox-sync/breadmill/ breadclipd never shipped), added the four new bakery packages to BREAD_BINS, removed the redundant cliphist/fzf clipboard pipeline in favor of breadclip, mirrored fastfetch's bread-logo config into skel, and fixed a stale bos-update comment.
64 lines
2 KiB
Text
64 lines
2 KiB
Text
---
|
|
modules-search: [/etc/calamares/modules, /usr/lib/calamares/modules]
|
|
|
|
# Second shellprocess instance: copies the live kernel into the target /boot
|
|
# (archiso keeps it out of the squashfs) before the bootloader step runs.
|
|
# Third: resolves the live squashfs's real location before unpackfs runs —
|
|
# copytoram unmounts /run/archiso/bootmnt, so a hardcoded path there can point
|
|
# at nothing depending on how the medium was booted.
|
|
instances:
|
|
- id: kernel
|
|
module: shellprocess
|
|
config: shellprocess-kernel.conf
|
|
- id: resolve-source
|
|
module: shellprocess
|
|
config: shellprocess-resolve-source.conf
|
|
|
|
sequence:
|
|
- show:
|
|
- welcome
|
|
- locale
|
|
- keyboard
|
|
- partition
|
|
- users
|
|
- summary
|
|
- exec:
|
|
- partition
|
|
- mount
|
|
- shellprocess@resolve-source
|
|
- unpackfs
|
|
- machineid
|
|
- fstab
|
|
- locale
|
|
- keyboard
|
|
- localecfg
|
|
- users
|
|
- networkcfg
|
|
- hwclock
|
|
- packages
|
|
# archiso strips the kernel from the squashfs; stage it, drop the archiso
|
|
# initramfs config, and write a stock mkinitcpio preset before initcpio runs.
|
|
- shellprocess@kernel
|
|
# plymouthcfg sets the boot-splash theme and flags plymouth in use, so
|
|
# initcpiocfg adds the plymouth hook to the initramfs that initcpio builds.
|
|
- plymouthcfg
|
|
# Native initramfs generation (works reliably here). The native `bootloader`
|
|
# and `grubcfg` modules do NOT — in this archiso layout they leave the ESP
|
|
# empty and abort the install, so GRUB is installed explicitly in
|
|
# post-install.sh instead (grub-install --removable + NVRAM + grub-mkconfig,
|
|
# the sequence verified to produce a bootable system).
|
|
- initcpiocfg
|
|
- initcpio
|
|
# BOS finalization: GRUB install + cleanup + snapper + services + dotfiles.
|
|
# All fast, and runs after initcpio so /boot has the kernel + initramfs.
|
|
- shellprocess
|
|
- umount
|
|
- show:
|
|
- finished
|
|
|
|
branding: bos
|
|
prompt-install: true
|
|
dont-chroot: false
|
|
oem-setup: false
|
|
disable-cancel: false
|
|
disable-cancel-during-exec: true
|