The graphical and minimal ARM images listed in the NixOS download page do not have partition tables included, the x86_64 images do have partition tables included and seem to function correctly.
I have tried using the x86_64 images to create an ARM image but I am out of my depth here, am I misunderstanding how the ARM images are supposed to be used or are these images not functional?
For example, try flashing the x86_64 minimal image to a Usb stick. It flashes just fine and boots. Try flashing the ARM minimal image and depending on the program you use you will get one of these outcomes:
A warning saying that the image is not bootable as there is no partition table (force continuing results in an unbootable image)
Unsuccessfully flashes stating “an unknown error has occured”
Successfully flashes, then fails verifying that the drive matches the image. Drive contains a single partition and is not bootable.
Successfully flashes, no error, drive has no partitions allocated
This occurs on drives that are confirmed as working for another ARM image, on a device that can boot off those ARM imaged drives, and attempting to image the drives on two different machines which both work for other imagea and do not work for the NixOS ARM images.
EDIT: apologies, the first paragraph initially stated the opposite of what is actually the case.
It should also work with a recent enough upstream version of u-boot (yes, it can boot in uefi mode and I’ve used it to install my NixOS system from ISO to my rpi4).
The ISO image is doing the cursed hybrid CD-ROM / MBR / GPT thing, which means its partitioning is really strange. Just dd’ing the image to a drive and booting it on a UEFI capable device should work fine. This, unfortunately, does not include most Arm devices though. Most Arm devices needed a custom image to boot, e.g. the sd_image is the one that works on the RPi.
Thank you both, I am currently trying to get around the “firmware not found” issue on an RPi4B install with the SD image (the “tricks” I have found online have not worked) and just tried the ARM image but couldn’t get it to burn to a USB drive. It was also not booting on a Beaglebone Black but the SD image is so I guess that’s the solution there as well.
The errors i was getting when burning the image to a USB drive do not occur for any other images I have tried so I am still not sure what I am doing wrong with those ARM images, but seen as they will not be helpful to me and it is working for you, I will leave it there.
The latest image from there “nixos-sd-image-24.05.4326.36bae4507766-aarch64-linux.img” is the one i used before getting the “firmware not found” error. I found another possible solution but it is midnight here so it’s definitely a tomorrow job, if i don’t succeed I’ll document what I have and ask for help.