No fallback kernel #33
Labels
No labels
P0
P1
P2
P3
audio
bakery
boot
breadbug
bug
build
ci
dependencies
design
disk
docs
encryption
final
firewall
graphics
hardware
idle
installer
keybinds
nvidia
packages
phase-1
polish
recovery
reliability
reproducibility
secure-boot
security
shell
signing
snapshots
supply-chain
swap
tech-debt
theming
ux
website
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Breadway/bos#33
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Only
linuxships. A bad kernel update can only be recovered through snapshots (see BOS-26).Fix
Add
linux-ltsto the installed package set (not needed on the live ISO), and make surebos-copy-kernel, the mkinitcpio presets and grub-mkconfig pick it up. Bear in mind this interacts with BOS-32 (NVIDIA DKMS) and BOS-24 (sign the LTS kernel too).Acceptance
The GRUB menu shows an LTS entry, and it boots.
Source: BOS v0.6.2 source review (tag dated 2026-09-19). Read AGENTS.md first. One issue per branch/PR, match existing style. Verify with
FAST_BUILD=1 sudo ./build-local.shplus a VM install. Add a CHANGELOG[Unreleased]entry.Investigation found an installer design blocker before implementation.
iso/packages.x86_64is also the live ISO package set, so addinglinux-ltsthere installs it on the live medium, contrary to this issue. The only target-side package step is Calamarespackages, which is configured to skip when offline. Addinglinux-ltsthere would leave offline installs without the fallback. That step also currently runs afterpost-install.shhas rebuilt mkinitcpio presets and grub.cfg, so the install flow must be reordered or the target finalization must run after the LTS package is installed.There are two related acceptance dependencies: BOS-24's Secure Boot work currently signs
/boot/vmlinuz-linuxand still lacks fresh-VM acceptance, and BOS-32 will need to account for the additional kernel when choosing an NVIDIA driver. A fallback that only works with Secure Boot disabled or before the NVIDIA setup path is exercised would not satisfy the intended recovery behavior across supported installs.Please decide how BOS installs should obtain target-only packages during offline installs: should the ISO carry an installer-only linux-lts package/cache, or should installing BOS require internet for this package? Once decided, the implementation can place the LTS kernel installation before initramfs/GRUB generation and coordinate its signing and NVIDIA handling. I left BOS-33 in TODO pending that decision and the VM acceptance path.
PR: #66
Implemented the installer-only signed LTS package cache, target installation before initramfs and GRUB generation, and post-finalizer sbctl tracking for the LTS image. The fast ISO build succeeded. An offline extracted-root simulation installed linux-lts, generated its initramfs, and produced LTS GRUB entries. QEMU booted the LTS kernel and initramfs to the BOS tty login prompt.
A full Calamares GUI VM installation was not completed because desktop control could not connect to Hyprland (
hyprctl clients -jfailed). I am leaving BOS-33 in DOING until that installed-VM path is checked. BOS-24 PR #54 is still open; the added signing step runs after its finalizer. BOS-32 follow-up needs DKMS and headers for both installed kernels.PR #66 contains the installer-only linux-lts cache. The implementer verified staged offline install, LTS GRUB entries, and QEMU boot to a tty, but the independent review agent hit its usage limit before reviewing. No CI statuses are configured. Moving to TODO until independent review can run and the VM-install acceptance gap is resolved.
Review of PR #66 found no code defect in the installer-only cache flow, but the stated boot acceptance is not yet demonstrated end to end.
Acceptance mapping:
customize_airootfs.sh:29-45stages the signed package;bos-copy-kernel:67-84installs it;settings.conf:41-59orders that before initcpio and post-install GRUB generation. The recorded offline simulation covers this path.post-install.sh:177-221regenerates GRUB after both kernels are installed, and the recorded test confirms LTS entries in grub.cfg. The test did not exercise the installed GRUB menu.Please verify an installed system in a headless nested VM: install from the ISO, confirm the GRUB menu includes the LTS entry, select it, and reach the tty login. No live desktop session is needed. Keep rework on the existing branch
feature/bos-33-fallback-kerneland PR #66 open; do not open a second PR. No CI statuses are configured.Updated the existing PR #66 branch with current
origin/main(5ae8040) and ran shell syntax plus static package/module-order checks successfully. BOS has no ordinary-push CI configured. The installer acceptance remains incomplete: the existing headless guest reached Calamares Users, but no install completed and the installed GRUB menu was not checked. Root has directed that no further guest input or VM be started, so the required install, GRUB LTS selection, and LTS boot evidence cannot be collected in this run. Leaving this issue in TODO pending that acceptance. Existing guest and scratch artifacts are preserved.PR #66 has the implementation and offline package/initramfs/GRUB checks recorded on the rebased head. The full Calamares install and selecting the LTS entry from installed GRUB remain outstanding; BOS has no ordinary push CI. Moving the implementation to REVIEW for the requested handoff. Do not treat as verified or done until those acceptance checks are recorded.