From 73882115c01e4a954412e3bb12dad0d9124262e1 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 31 May 2026 13:58:46 +0300 Subject: [PATCH 1/2] doc/rl-2605: document `/dev/root` unavailability with systemd stage 1 Signed-off-by: NotAShelf Change-Id: I25f6196bc5af3a6cadff1972c1ab1f9b6a6a6964 --- nixos/doc/manual/release-notes/rl-2605.section.md | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index 70c6cdd2d0d6..7abb090aa47e 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -13,6 +13,7 @@ - If you use LUKS disk encryption, ensure that `fileSystems."/".device` is set to `"/dev/mapper/"`, where `` matches the name in your `boot.initrd.luks.devices.` definition, to avoid systemd timing out while prompting for a passphrase. If you have a more complex setup, e.g. with LVM on top of LUKS, you may need to add `"x-systemd.device-timeout=infinity"` to `fileSystems."/".options` instead. If you need to disable the timeout before you can boot into the system, pass `systemd.default_device_timeout_sec=infinity` on the kernel command line. - The `cryptsetup-askpass` program is not available; use `systemctl default` instead, which will prompt for passphrases as necessary. If you pipe password responses into SSH over stdin, use `ssh -o RequestTTY=force` to ensure `systemctl default` gets a TTY to prompt on. - Many kernel parameters have been replaced with native systemd versions; see [](#sec-boot-problems). + - `/dev/root` is not available with the systemd stage 1. In the old scripted stage 1, `/dev/root` was a symlink created by the init script from the `root=` kernel command line. With systemd stage 1, this symlink is not provided. If your configuration uses `/dev/root` in `fileSystems`, replace it with a stable device path such as `/dev/disk/by-label/...`, `/dev/disk/by-uuid/...`, or the appropriate `/dev/mapper/...` path. - The system.nix file has been added as an alternative entry point to configuration.nix (and flake.nix) that allows configuring NixOS without using `nix-channel`. This file must evaluate to a NixOS system derivation or an attribute set of such derivations, in which case the attribute to build has to be selected with the `--attr` option of `nixos-rebuild` or `nixos-install`. From 7b7b68f76c725c85bb1018f5698f277eaaa70dc2 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 31 May 2026 14:35:46 +0300 Subject: [PATCH 2/2] nixos/iso-image: update comment to reflect systemd and scripted initrd paths Signed-off-by: NotAShelf Change-Id: Iaaa48d692e400cf17e1ec7ad82e656716a6a6964 --- nixos/modules/installer/cd-dvd/iso-image.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index c42fd64824aa..59e6c3be2d99 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -787,9 +787,10 @@ in options = [ "mode=0755" ]; }; - # Note that /dev/root is a symlink to the actual root device - # specified on the kernel command line, created in the stage 1 - # init script. + # With systemd stage 1, the ISO is identified by its volume label. + # With the scripted stage 1, /dev/root is a symlink to the actual + # root device specified on the kernel command line, created by the + # stage 1 init script. "/iso" = lib.mkImageMediaOverride { device = if config.boot.initrd.systemd.enable then