I have a Raspberry Pi 5 with a SSD on a Raspberry Pi Official M.2 HAT+ and a USB Stick attached.
I want to run the OS from the USB Stick and use the SSD exclusively for storage. So I formatted the SSD and installed the OS on my USB Stick. Next I set the boot order to NVMe/USB first. When I restart the Raspi it boots from USB stick and mounts the SSD as storage just fine. I can work with it just as intended. Even reboots work. The problem arises when I power off the system. Next time I power on, the Raspi tries to boot from SD again. If I let it, and then reboot, it will boot from USB. So the problem is only the first boot after power off.
What I have checked so far and some more info:
Updated eeprom to latest version
sudo rpi-eeprom-update BOOTLOADER: up to date CURRENT: Wed Oct 8 16:19:18 UTC 2025 (1759940358) LATEST: Wed Oct 8 16:19:18 UTC 2025 (1759940358) RELEASE: latest (/usr/lib/firmware/raspberrypi/bootloader-2712/latest) ... Changed boot order with raspi-config.
Originally the config looks like this:
[all] BOOT_UART=1 BOOT_ORDER=0xf461 NET_INSTALL_AT_POWER_ON=1 After I change the boot order:
[all] BOOT_UART=1 BOOT_ORDER=0xf146 NET_INSTALL_AT_POWER_ON=1 If I then power off, and the RPI boots back from SD, the Boot order stays at 0xf146 so I guess the boot order was set correctly but the RPI somehow can’t execute that order after power off. It does after reboot.
Partition table looks like this when booting from SD
lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS loop0 swap 1 sda |-sda1 vfat FAT32 system-boot 8AA8-96C7 `-sda2 ext4 1.0 writable 9276ecfd-6dd5-4e22-9a91-2afafd0a53a3 mmcblk0 |-mmcblk0p1 vfat FAT32 bootfs 1C94-4EC3 435.3M 15% /boot/firmware `-mmcblk0p2 ext4 1.0 rootfs f0abac56-08be-42e2-8726-9baa083e8685 106G 3% / zram0 swap 1 zram0 a569e03a-83db-4e92-a57c-0940f9df07ef [SWAP] nvme0n1 `-nvme0n1p1 ext4 1.0 nvme0n1 d23dd420-76b6-484a-9f4a-ee2d502aa4da And like this after I reboot from USB
lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS sda ├─sda1 vfat FAT32 system-boot 8AA8-96C7 319.9M 37% /boot/firmware └─sda2 ext4 1.0 writable 9276ecfd-6dd5-4e22-9a91-2afafd0a53a3 52.8G 5% / mmcblk0 ├─mmcblk0p1 vfat FAT32 bootfs 1C94-4EC3 └─mmcblk0p2 ext4 1.0 rootfs f0abac56-08be-42e2-8726-9baa083e8685 nvme0n1 └─nvme0n1p1 ext4 1.0 nvme0n1 d23dd420-76b6-484a-9f4a-ee2d502aa4da 1.7T 0% /storage fstab looks like this
more /etc/fstab LABEL=writable / ext4 defaults 0 1 LABEL=system-boot /boot/firmware vfat defaults 0 1 If I remove the SD card and power off and on again, the RPI does not boot at all. And not that it should matter, but I have the latest Raspberry Pi OS on my SD and Ubuntu Server LTS on my USB Stick.
Any help would be much appreciated.