operating-system: HAOS fails to start with NVMe connected on on Waveshare IO
Describe the issue you are experiencing
HAOS stops booting when NVMe SSD is attached. Without an NVMe SSD, HA works perfectly My configuration: Rassperry CM4 4GB RAM / 8 GB eMMC on Waveshare IO base https://www.waveshare.com/CM4-IO-BASE-B.htm HAOS 7.4 64 bit on eMMC NVMEe Hynix M.2 NVMe 512GB with latest firmware CM4 has latest bootloader
What operating system image do you use?
rpi4-64 (Raspberry Pi 4/400 64-bit OS)
What version of Home Assistant Operating System is installed?
7.4
Did you upgrade the Operating System.
Yes
Steps to reproduce the issue
- Install HAOS 7.4 on eMMC (without a NVMe SSD attached)
- Start HA, upgrade all Core, Supervisor etc.
- Attach NVMe SSD
- HAOS stops starting … …
Anything in the Supervisor logs that might be useful for us?
HAOS Debug message on Serial with insterted SSD (HDMI display does not show anything):
-Boot 2021.10 (Mar 28 2022 - 11:43:41 +0000)
DRAM: 3.9 GiB
RPI Compute Module 4 (0xc03140)
MMC: mmcnr@7e300000: 1, mmc@7e340000: 0
Loading Environment from nowhere… OK
In: serial
Out: serial
Err: serial
Net: eth0: ethernet@7d580000
PCIe BRCM: link up, 5.0 Gbps x1 (SSC)
PCI: Failed autoconfig bar 10
PCI: Failed autoconfig bar 14
PCI: Failed autoconfig bar 18
PCI: Failed autoconfig bar 1c
PCI: Failed autoconfig bar 20
PCI: Failed autoconfig bar 24
PCI: Failed autoconfig bar 10
PCI: Failed autoconfig bar 14
PCI: Failed autoconfig bar 18
PCI: Failed autoconfig bar 1c
PCI: Failed autoconfig bar 20
PCI: Failed autoconfig bar 24
PCI: Failed autoconfig bar 10
PCI: Failed autoconfig bar 14
PCI: Failed autoconfig bar 18
PCI: Failed autoconfig bar 1c
PCI: Failed autoconfig bar 20
PCI: Failed autoconfig bar 24
PCI: Failed autoconfig bar 10
PCI: Failed autoconfig bar 14
PCI: Failed autoconfig bar 18
PCI: Failed autoconfig bar 1c
PCI: Failed autoconfig bar 20
PCI: Failed autoconfig bar 24
PCI: Failed autoconfig bar 10
PCI: Failed autoconfig bar 14
PCI: Failed autoconfig bar 18
PCI: Failed autoconfig bar 1c
PCI: Failed autoconfig bar 20
PCI: Failed autoconfig bar 24
PCI: Failed autoconfig bar 10
PCI: Failed autoconfig bar 14
PCI: Failed autoconfig bar 18
PCI: Failed autoconfig bar 1c
PCI: Failed autoconfig bar 20
PCI: Failed autoconfig bar 24
PCI: Failed autoconfig bar 10
PCI: Failed autoconfig bar 14
PCI: Failed autoconfig bar 18
PCI: Failed autoconfig bar 1c
PCI: Failed autoconfig bar 20
PCI: Failed autoconfig bar 24
PCI: Failed autoconfig bar 10
PCI: Failed autoconfig bar 14
PCI: Failed autoconfig bar 18
PCI: Failed autoconfig bar 1c
PCI: Failed autoconfig bar 20
PCI: Failed autoconfig bar 24
starting USB…
No working controllers found
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1…
Found U-Boot script /boot.scr
2411 bytes read in 13 ms (180.7 KiB/s)
Executing script at 02400000
switch to partitions #0, OK
mmc0(part 0) is current device
loading env…
MMC read: dev # 0, block # 1214464, count 32 … 32 blocks read: OK
Trying to boot slot A, 2 attempts remaining. Loading kernel …
23079424 bytes read in 1328 ms (16.6 MiB/s)
storing env…
MMC write: dev # 0, block # 1214464, count 32 … 32 blocks written: OK
Starting kernel
Moving Image from 0x80000 to 0x200000, end=1950000
Flattened Device Tree blob at 2eff2c00
Booting using the fdt blob at 0x2eff2c00
Using Device Tree in place at 000000002eff2c00, end 000000002f002f38
Starting kernel …
*****************************************************************************
HAOS Debug message on Serial without SSD (HAOS starts fine):
U-Boot 2021.10 (Mar 28 2022 - 11:43:41 +0000)
DRAM: 3.9 GiB
RPI Compute Module 4 (0xc03140)
MMC: mmcnr@7e300000: 1, mmc@7e340000: 0
Loading Environment from nowhere… OK
In: serial
Out: serial
Err: serial
Net: eth0: ethernet@7d580000
PCIe BRCM: link down
starting USB…
No working controllers found
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1…
Found U-Boot script /boot.scr
2411 bytes read in 13 ms (180.7 KiB/s)
Executing script at 02400000
switch to partitions #0, OK
mmc0(part 0) is current device
loading env…
MMC read: dev # 0, block # 1214464, count 32 … 32 blocks read: OK
Trying to boot slot A, 1 attempts remaining. Loading kernel …
23079424 bytes read in 1327 ms (16.6 MiB/s)
storing env…
MMC write: dev # 0, block # 1214464, count 32 … 32 blocks written: OK
Starting kernel
Moving Image from 0x80000 to 0x200000, end=1950000
Flattened Device Tree blob at 2eff2c00
Booting using the fdt blob at 0x2eff2c00
Using Device Tree in place at 000000002eff2c00, end 000000002f002f38
Starting kernel .
Anything in the Host logs that might be useful for us?
No, the system does not start and does not log
System Health information
No response
Additional information
Raspberry Pi OS 64-bit RPI starts and works with the NVMe SSD properly
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Reactions: 1
- Comments: 62 (11 by maintainers)
@maxromanovsky the Raspberry Pi OS does not use u-boot and that’s why there are no issues there.
So I’ve approached this as if it was a new pi/nvme/carrier board.
I used Jeff Geerlings guide on updating the cm4 bootloader and changing the boot order. https://www.jeffgeerling.com/blog/2022/how-update-raspberry-pi-compute-module-4-bootloader-eeprom
in boot.conf I set the boot order to: BOOT_ORDER=0xf25416
I replaced pieeprom.original.bin in the recovery folder with the latest pieeprom.bin https://github.com/raspberrypi/rpi-eeprom/releases/download/v2022.04.26-138a1/rpi-boot-eeprom-recovery-2022-04-26-vl805-000138a1.zip
Then ran ./update-pieeprom.sh to create the new pieeprom.bin
To flash the new eeprom I used “rpiboot -d recovery” with the carrier board connected via USB C and the switch set to 1.
To install the OS I put the nvme drive into a USB carrier and used RPI Imager to install the latest 9.2 x64 OS https://github.com/home-assistant/operating-system/releases/download/9.2/haos_rpi4-64-9.2.img.xz
Set the carrier board switch back to 0. Install the NVME drive and it booted hasos first time.
@xyklex hm seems like the U-Boot NVMe implementation isn’t able to detect that particular NVMe, for some reason. Can you open a new issue along with information what NVMe you are using?
For anybody still interested in this issue, I have created this issue in upstream rpi firmware repo: https://github.com/raspberrypi/firmware/issues/1800
Same board. No success with the Samsung EVO 870 512GB or the NVMEe Hynix M.2 NVMe 512GB:-(
Confirming this has fixed the issue for me. CM4 + Waveshare IO base + NVMe SSD. Failed with 8.1 but works flawlessly with 8.2.