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 | f9da097042a28c0bdff037b0b53ae20d567cd5c4 (patch) | |
| tree | ce61f6e196875e4457d6dd6714c1040ee77479be /scripts/testing/tests | |
| parent | 70af35d5bd224eeff36958868ec027326c7b910f (diff) | |
| download | archsetup-f9da097042a28c0bdff037b0b53ae20d567cd5c4.tar.gz archsetup-f9da097042a28c0bdff037b0b53ae20d567cd5c4.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 'scripts/testing/tests')
0 files changed, 0 insertions, 0 deletions
