Skip to content

RPi 5 firmware update via ha os boards raspberrypi firmware update rewrites BOOT_ORDER to SD-first - Pi stops booting from NVMe #4811

Description

@msnapka

Describe the issue you are experiencing

On a Pi 5 booting from NVMe, running ha os boards raspberrypi firmware update followed by a reboot caused the system to boot from a bootable microSD card that was present in the slot, instead of from the NVMe it had been running on previously.

There were no hardware errors and no LED flash codes - the Pi booted cleanly, just from the wrong device. After the update the active BOOT_ORDER was 0xf461 (SD → NVMe → USB), i.e. SD-first.

The fix was simply to remove the SD card and power on again - HAOS then booted from NVMe normally.

Why this is a boot-order change caused by the update (not a pre-existing config)

The same bootable SD card had been sitting in the slot the entire time the system was booting from NVMe normally, for a long period before the firmware update. If BOOT_ORDER had been SD-first (0xf461) all along, the SD would have won on every boot - but it never did; the Pi consistently booted from NVMe with that card in place.

After the firmware update, with nothing else changed, the same card suddenly took priority. The only thing that changed was the bootloader firmware. Therefore the effective boot order was NVMe-first before the update and SD-first (0xf461) after it - the update rewrote it.

This contradicts the assumption that HAOS / the firmware update does not modify BOOT_ORDER.

###Expected behaviour
A system booting from NVMe should continue to boot from NVMe after a firmware update. The update must preserve the existing BOOT_ORDER, or at minimum warn the user that the boot order will be reset and that any bootable medium in the SD/USB slot may take priority afterwards.

What operating system image do you use?

HAOS for RPi - installed via RPi Imager

What version of Home Assistant Operating System is installed?

18

Did the problem occur after upgrading the Operating System?

No

Hardware details

  • Board: Raspberry Pi 5 (rpi5-64), Argon ONE V3 case, NVMe (Samsung SSD 970 EVO 500GB)
  • Home Assistant OS: 18.0
  • Home Assistant Core: 2026.6.4
  • Bootloader before update: 2024-06-05 → after: 2026-05-11
  • BOOT_ORDER observed after update: 0xf461 (default) — changed to 0xf416 as workaround

Steps to reproduce the issue

  1. Pi 5 with HAOS booting from NVMe, with a bootable microSD also present in the slot, booting from NVMe consistently.
  2. Run ha os boards raspberrypi firmware update.
  3. Run ha host reboot.
  4. System now boots from the SD card instead of NVMe (active BOOT_ORDER=0xf461, SD-first).

Anything in the Supervisor logs that might be useful for us?

not relevant

Anything in the Host logs that might be useful for us?

not relevant

System information

No response

Additional information

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions