nixos: Switch to systemd initrd
All checks were successful
CI / Check, build and cache Nix flake (push) Successful in 17m17s
All checks were successful
CI / Check, build and cache Nix flake (push) Successful in 17m17s
This commit is contained in:
parent
c4e6896a0c
commit
373fb45831
@ -31,17 +31,14 @@
|
||||
initrd = {
|
||||
availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "usbhid" "thunderbolt" ];
|
||||
luks = {
|
||||
reusePassphrases = true;
|
||||
devices = {
|
||||
persist = {
|
||||
device = "/dev/disk/by-uuid/27840c6f-445c-4b95-8c39-e69d07219f33";
|
||||
allowDiscards = true;
|
||||
preLVM = false;
|
||||
};
|
||||
home = {
|
||||
device = "/dev/disk/by-uuid/c16c5038-7883-42c3-960a-a085a99364eb";
|
||||
allowDiscards = true;
|
||||
preLVM = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -94,6 +94,7 @@ in
|
||||
"net.ipv6.route.max_size" = mkDefault 16384;
|
||||
};
|
||||
};
|
||||
|
||||
loader = {
|
||||
efi = {
|
||||
efiSysMountPoint = mkDefault "/boot";
|
||||
@ -111,6 +112,14 @@ in
|
||||
memtest86.enable = mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
initrd = {
|
||||
systemd = {
|
||||
enable = mkDefault true;
|
||||
emergencyAccess = mkDefault true;
|
||||
};
|
||||
services.lvm.enable = mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; mkMerge [
|
||||
|
@ -208,7 +208,13 @@ in
|
||||
|
||||
mkdir -p -m 0755 "$root"/sbin "$root"/etc
|
||||
touch "$root"/etc/os-release
|
||||
ln -sf "${containerSystem}"/init "$root"/sbin/init
|
||||
|
||||
if [ -e "${containerSystem}"/prepare-root ]; then
|
||||
initSource="${containerSystem}"/prepare-root
|
||||
else
|
||||
initSource="${containerSystem}"/init
|
||||
fi
|
||||
ln -sf "$initSource" "$root"/sbin/init
|
||||
'';
|
||||
postStop =
|
||||
''
|
||||
|
@ -224,8 +224,9 @@ in
|
||||
|
||||
# Catch non-existent source directories that are needed for boot (see `pathsNeededForBoot` in
|
||||
# nixos/lib/util.nix). We do this by monkey-patching the `waitDevice` function that would otherwise hang.
|
||||
boot.initrd.postDeviceCommands =
|
||||
''
|
||||
# Seems like systemd initrd doesn't care because it uses the systemd.mount units
|
||||
# ("If this mount is a bind mount and the specified path does not exist yet it is created as directory.")
|
||||
boot.initrd.postDeviceCommands = mkIf (!config.boot.initrd.systemd.enable) ''
|
||||
ensurePersistSource() {
|
||||
[ -e "/mnt-root$1" ] && return
|
||||
echo "Persistent source directory $1 does not exist, creating..."
|
||||
|
Loading…
Reference in New Issue
Block a user