all: switch bootloader from syslinux -> systemd-boot (except for moby -- TODO)

This commit is contained in:
2025-08-13 17:53:46 +00:00
parent a1ba78c69f
commit 61b30678c4
5 changed files with 11 additions and 2 deletions

View File

@@ -57,6 +57,9 @@
## IMPROVEMENTS: ## IMPROVEMENTS:
- servo: expand /boot to 2 GiB like all other hosts
- moby: port to systemd-boot
- image builder: make sure i distribute EFI/BOOT/BOOTX64.efi (as systemd-boot)
- sane-deadlines: show day of the week for upcoming items - sane-deadlines: show day of the week for upcoming items
- and only show on "first" terminal opened; not on Ctrl+N terminals - and only show on "first" terminal opened; not on Ctrl+N terminals
- curlftpfs: replace with something better - curlftpfs: replace with something better

View File

@@ -60,4 +60,8 @@
# /boot space is at a premium, especially with uncompressed kernels. default was 20. # /boot space is at a premium, especially with uncompressed kernels. default was 20.
# boot.loader.generic-extlinux-compatible.configurationLimit = 10; # boot.loader.generic-extlinux-compatible.configurationLimit = 10;
# TODO: switch to systemd-boot
boot.loader.generic-extlinux-compatible.enable = true;
boot.loader.systemd-boot.enable = false;
} }

View File

@@ -37,7 +37,8 @@
boot.consoleLogLevel = 7; boot.consoleLogLevel = 7;
boot.loader.grub.enable = lib.mkDefault false; boot.loader.grub.enable = lib.mkDefault false;
boot.loader.generic-extlinux-compatible.enable = lib.mkDefault true; # boot.loader.generic-extlinux-compatible.enable = lib.mkDefault true;
boot.loader.systemd-boot.enable = lib.mkDefault true;
hardware.enableAllFirmware = true; # firmware with licenses that don't allow for redistribution. fuck lawyers, fuck IP, give me the goddamn firmware. hardware.enableAllFirmware = true; # firmware with licenses that don't allow for redistribution. fuck lawyers, fuck IP, give me the goddamn firmware.
# hardware.enableRedistributableFirmware = true; # proprietary but free-to-distribute firmware (extraneous to `enableAllFirmware` option) # hardware.enableRedistributableFirmware = true; # proprietary but free-to-distribute firmware (extraneous to `enableAllFirmware` option)

View File

@@ -382,6 +382,7 @@ in
'' ''
); );
# TODO: generalize this beyond just `generic-extlinux-compatible`. use `system.build.installBootLoader`?
sane.image.extraBootFiles = lib.optionals config.boot.loader.generic-extlinux-compatible.enable [ sane.image.extraBootFiles = lib.optionals config.boot.loader.generic-extlinux-compatible.enable [
(pkgs.runCommandLocal "populate-extlinux" {} '' (pkgs.runCommandLocal "populate-extlinux" {} ''
${config.boot.loader.generic-extlinux-compatible.populateCmd} -c ${config.system.build.toplevel} -d "$out" ${config.boot.loader.generic-extlinux-compatible.populateCmd} -c ${config.system.build.toplevel} -d "$out"

View File

@@ -302,7 +302,7 @@ proc deployOneHost (; nixcfg) {
# try to switch to that profile _now_, but allow this to be fallible # try to switch to that profile _now_, but allow this to be fallible
# so as to support `--force-reboot` CLI option: # so as to support `--force-reboot` CLI option:
try { try {
destructive runOnTarget "$netHost" sudo "$myStorePath/bin/switch-to-configuration" "$[nixcfg.action]" destructive runOnTarget "$netHost" sudo NIXOS_INSTALL_BOOTLOADER=1 "$myStorePath/bin/switch-to-configuration" "$[nixcfg.action]"
} }
var fail = false var fail = false
if failed { setvar fail = true } # XXX: `failed` special variable is only readable via `if failed` if failed { setvar fail = true } # XXX: `failed` special variable is only readable via `if failed`