diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-21 06:50:12 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-21 06:50:12 -0500 |
| commit | 1ca59a335959c607074d68630696864297d2da74 (patch) | |
| tree | ce61f6e196875e4457d6dd6714c1040ee77479be /tests/installer-steps/test_pacman_install.py | |
| parent | 2e65750c5dced78933ab6bd9e7ff78f4fc65115e (diff) | |
| download | archsetup-1ca59a335959c607074d68630696864297d2da74.tar.gz archsetup-1ca59a335959c607074d68630696864297d2da74.zip | |
fix(installer): merge GRUB cmdline instead of overwriting it
configure_grub replaced the whole GRUB_CMDLINE_LINUX_DEFAULT line with a fixed string. A base install that had set cryptdevice=, resume=, zfs=, or any other boot-critical parameter lost it, and the grub-mkconfig that follows baked an unbootable config.
update_grub_cmdline now reads the current value and merges: every existing token survives, archsetup's tokens are added, and where both set the same key archsetup's value wins. A safety check refuses to write when any existing token's key would vanish from the merge, and the write goes through awk + mv so paths with slashes can't break the substitution. The block also backs up /etc/default/grub before editing, which the other system-file edits already did.
Diffstat (limited to 'tests/installer-steps/test_pacman_install.py')
0 files changed, 0 insertions, 0 deletions
