When I use the release NixOS ISOs to make a USB boot disk, it is not recognised by my 12th-gen Intel NUC at boot time; this is also the case for hand-rolled ISOs. My working hypothesis is that the machine (which does not support legacy boot at all) will only recognise GPT-formatted USB boot devices.
From what I can tell, the iso produced by nix-build -A config.system.build.isoImage -I nixos-config=modules/installer/cd-dvd/installation-cd-minimal.nix
has a hybrid partitioning scheme: when I dd it to a disk, it shows as MBR, and the disk is not recognised at boot time. This is also the case with the release ISO images.
$ sudo dd if=result/iso/nixos-23.11pre-git-x86_64-linux.iso of=/dev/sda bs=1G
$ sudo parted -l
Model: Corsair Force 3 SSD (scsi)
Disk /dev/sda: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
If I write out an Ubuntu boot disk (which uses GPT), and then dd
the partitions (root and EFI) from the NixOS boot disk over the Ubuntu partitions, the disk is recognised at boot time and boots correctly into the installer.
This is pretty hacky, but it seems to confirm the hypothesis that it is only the partitioning scheme which is the problem.
Is there a way to generate an ISO file which will use GPT partitioning when written to a USB boot disk?