3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/nixos/modules
nikstur 0bdba6c99b nixos/qemu-vm: use persistent block device names
This change removes the bespoke logic around identifying block devices.
Instead of trying to find the right device by iterating over
`qemu.drives` and guessing the right partition number (e.g.
/dev/vda{1,2}), devices are now identified by persistent names provided
by udev in /dev/disk/by-*.

Before this change, the root device was formatted on demand in the
initrd. However, this makes it impossible to use filesystem identifiers
to identify devices. Now, the formatting step is performed before the VM
is started. Because some tests, however, rely on this behaviour, a
utility function to replace this behaviour in added in
/nixos/tests/common/auto-format-root-device.nix.

Devices that contain neither a partition table nor a filesystem are
identified by their hardware serial number which is injecetd via QEMU
(and is thus persistent and predictable). PCI paths are not a reliably
way to identify devices because their availability and numbering depends
on the QEMU machine type.

This change makes the module more robust against changes in QEMU and the
kernel (non-persistent device naming) and by decoupling abstractions
(i.e. rootDevice, bootPartition, and bootLoaderDevice) enables further
improvement down the line.
2023-06-16 19:36:03 +02:00
..
config refactor: Use dummy variable name for unused value 2023-06-08 15:11:35 +12:00
hardware Merge pull request #236048 from rnhmjoj/pr-fix-i2c 2023-06-07 10:22:18 +02:00
i18n/input-method treewide: use more lib.optionalString 2023-04-07 13:38:33 +02:00
installer nixos-generate-config: Fix generated hostPlatform.system 2023-06-11 19:28:51 +02:00
misc nixos: fix typos 2023-05-19 22:31:04 -04:00
profiles nixos/installer: update getty help message 2023-04-08 20:18:28 +02:00
programs Merge pull request #220481 from uoleg/master 2023-06-06 21:35:26 +02:00
security nixos/pam: support Kanidm 2023-06-11 17:17:42 +02:00
services Merge pull request #219791 from emilylange/nixos-caddy 2023-06-12 22:40:54 +02:00
system nixos/nspawn: fix spelling of systemd.nspawn MachineID option 2023-06-12 12:08:15 +02:00
tasks nixos: Use systemd-growfs for autoResize 2023-06-04 22:57:22 -04:00
testing nixos: fix typos 2023-05-19 22:31:04 -04:00
virtualisation nixos/qemu-vm: use persistent block device names 2023-06-16 19:36:03 +02:00
module-list.nix nixos/wyoming/faster-whisper: init 2023-06-12 18:44:44 +02:00
rename.nix nixos: fix typos 2023-05-19 22:31:04 -04:00