Nixos, Raspberry Pi-4, USB SSD and a second HDD

Hi everyone,

Bit of a long story but I’ll try to summarise. I’ve been running NixOS on my Raspberry Pi4 for a while now, it has an SSD plugged in via USB for /, and a second larger HDD for /home also plugged in via USB. This setup works fine, but when I reboot I have to unplug the HDD because the Raspberry Pi boot sequence doesn’t allow which USB device to boot from, and for whatever reason it’ll always choose the HDD first and fail to boot. As this is a server with automatic upgrades, it does get annoying sometimes to wake up and find it’s rebooted and then gotten stuck in this state.

So I thought the best way to resolve this would be to put /boot onto an SD card, and just boot off that, instead of worrying about booting off USB. However, I have done this, and run “nixos-rebuild --install-bootloader” with a FAT32 partition on the SD card set to /boot in my configuration, and I can’t seem to make it go anywhere. The bootloader boots correctly (and I’ve tested a couple of different ones, including UEFI/Grub) but then it never gets past there, and no error messages appear onscreen.

Relevant configuration.nix files are here:

Has anyone got a setup like this working, or even have a better way of doing it?

EDIT: When booting past GRUB in this way, this is the error I see onscreen:

It may only be some firmwares, so I don’t know that this is useful: Remember to check the Pi’s other HDMI output through a boot. Sometimes “Where do errors go” is weird for me.

1 Like

The pi completely stops booting. I can’t SSH into it, and my keyboard’s numlock light stops being toggleable. I’ll try another HDMI port just in case but not sure how that’d help unless the HDMI output is crashing the machine entirely?

EDIT: Tried a different HDMI as well as no HDMI at all, no dice. Same error comes up on my screen and then my keyboard numlock stops toggling, which makes me think the machine crashed entirely.