-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fail to boot after Upgrade to 10.0 CM4 NVMe #2479
Comments
This comment was marked as off-topic.
This comment was marked as off-topic.
What carrier board are you running on?
Powering it off and back on three times it should revert to the previous OS version.
True, and I guarantee you that we do not do this intentionally! We test all common configuration: Raspberry Pi 3 Model B/B+, Raspberry Pi 4, Raspberry Pi 400, Yellow etc. etc. and all passed our testing. Furthermore, we have more than 1000 beta testers which tested our release candidates. Something must be special in your setup which causes it to break. |
@littlecake this issue is about Raspberry Pi. Please open a new issue along with all information and if possible screenshot of the system console (screen output). |
I have the same problem! Hardware used:
Further information about my setup:
Can you provide more information about this, e.g. how long to turn on before turning off. How long to wait after the fourth power on, which then should revert the old version? I tried this (turning on, waiting for ~5 seconds, turning off, waiting for ~5 seconds), but nothing changed... |
@agners I'll try a recover to 9.5 tomorrow |
@agners Did the bios change from the rcs to 10.0? I had no issue with any of the rcs. 10.0 did not start for me as well. Similar to the 8.x issues I had. I was able to start by disconnecting my ssd turning off my pi, reconnecting the ssd and restarting. |
The U-Boot phase must complete for this to work, which depends a bit on how fast the Raspberry Pi firmware finds and starts the U-Boot. 5 seconds sounds a bit short, I'd give it more like 10-20s. However, if the system is in such a state that it doesn't even boot U-Boot, then this won't work. Do you happen to have a serial console to check? |
@bschatzow yes, in 10.0.rc4 the fimrware changed to Raspberry Pi's latest release `1.20230405. Do you have a CM4 as well? |
Same problem here: Work-around for now is to connect the NVME with an USB adapter, this starts without a problem. |
Confirming: System boots (with NVMe installed as is) from SD card, so writing the HAOS 9.5 image and restoring a backup was relatively easy. |
Yes to only option that works is to recover all system partions with the 9.5 |
I do not. I have just a rPI 4. I commented as this was the identical issue I and many others had for over a year. No updates worked correctly until a fix in the firmware was made. I asked if the firmware changed (which it did) and wanted to remind you of this issue and maybe it is related to this? |
Confirming with similar hardware: Kernel not loading, no problem with 9.5 |
My config: CM4 4GB w/ 0GB MMC with 512GB NVME on a Oratek Tofuboard - Native NVME boot. Plus one cod.m Zigbee Hat. I faced the same issue after upgrading to HA OS 10 and more or less fixed the situation as follows:
I basically lost 2 weeks of historically data from my energy dashboard / solar system. Everything else what I did in the last 2 weeks, e.g. dashboard changes, should be manually recoverable from the 512GB SSD. Lessons learned:
I think this major bug should have been catched during beta testing. |
I have the same board as ChristianWaechter (Waveshare CM4-IO-BASE-B with NVME), the upgrade to HAOS 10 bricked it. |
@lumilooms what NVMe are you using? |
|
Yesterday I played around a bit to get my stuff back running. The conclusion was, that the whole Home Assistant 10.0 image does not work, even when you flash it directly and not as update from 9.5. This is what I did:
Full Ack, especially as the Home Assistant yellow features a M.2 as well... |
Honestly, I wonder why this release is still available and not pulled back, unless there is an immediate fix available. This will brick more and more HA devices (especially when people have time on the upcoming weekend to click the "update" button), causing those who boot from an NVME a lot of trouble, potential data loss and maybe some frustration. |
The problem is, that there is always a setup which breaks in some weird ways. With more than 150k installations which opt-in to stats, according to analytics.home-assistant.io already 34k upgraded successfully (otherwise the stats would not get updated). If I pull the update for every failing installation I see, we won't be able to publish a new OS release ever. In general: USB SSD boot on Raspberry Pi has always been fragile, and being discouraged for a long time. That the CM4 NVMe boot on certain base boards is unstable is also known for a while, and often required EEPROM updates etc. Ideally, you boot HAOS from a SD-card or from the eMMC, this is known to be much more reliable. The data disk feature then allows to use NVMe or USB attached SSD's still. |
Most likely replacing U-Boot ( |
Well, I think in this case there is no weird way. HA 10 has a 99% chance to not boot when a CM4 is being used together with a NVME as boot drive. So this should be called out as "breaking change", while the release is being fixed. Booting from NVMEs isn't something weird nowadays, it became a norm. Leaving the state like this and watching the number of complains is just killing brand reputation. Why would one risk that? Just my two cents :) I don't understand this way of product management and prefer quality over quantity. |
Not true: One of my Yellow test devices boots from NVMe. Also, there is not a single report where Home Assistant Yellow wouldn't boot from NVMe where it did before. It seems only other boards are affected. I currently don't know why that is. I've been able to reproduce, and to me it seems a EEPROM issue. However, that doesn't really make sense as we don't update the EEPROM. I wonder how this ever worked. I'll continue investigation.
Oh yeah, I am all in for quality over quantity! The problem is, HAOS these days has to support so many weird configurations (RPi 4 + USB S-ATA adapter from brand A/B/C, RPi 4 + USB M.2 adapter from brand A/B/C, CM4 + native NVMe on I/O board X, on I/O board Y, etc. etc.). I can't possible test all these configurations! If we'd really want to increase quality, we should just prevent boot on any board we don't test... But that wouldn't really be the open source spirit. |
FWIW, it HAOS 10 is off the stable channel for RPi 4 devices now: home-assistant/version#288. |
bold move, appreciate that! I am happy to add to testing with my config if that helps and if desired, since I think the TOFU board I am using is a great piece of hardware but less common. To your point:
I think you don't have to go that far, however there should be a hardware compatibility list to which the core team and users can contribute. Is this being considered? |
For most boards things are quite straight forward since folks usually just boot from SD-card. I do have every board we support. But for more advanced/special setup, such a list would be a nice to have indeed! Along with a list of users which are willing to test pre-releases on the beta channel. Maybe a GitHub wiki could do the job? 🤔 In any case, I've found the problem, PR #2493 fixes it. The problem will be fixed in HAOS 10.1. |
Does it means that booting from NVMe is also broken for Yellow?
In the meantime, will replacing
I've updated to the latest EEPROM on CM4 - no changes.
That's the thing, it doesn't work on Waveshare boards #1887 |
No, the configuration was present for Yellow. It just didn't apply for the rpi4/rpi4-64 images.
Yes that should work.
I'll trigger a dev build tonight, it will be available from https://os-builds.home-assistant.io/ tomorrow. |
Okay, some interesting updates :)
Win-win, as long as it won't break later on. In any case, I'll keep current |
Probably still fast enough for the BCM2711 chip (Raspberry Pi SoC).
The system detects the data disk by name. If you have two installation available, the outcome is random.
Hm, so at this point you have a HAOS installation on the internal eMMC, that means you also boot from the eMMC. This use case should already work with HAOS 10.0. U-Boot is only used at boot time, and the bug in OS 10.0 is that U-Boot can't continue booting when booting from the external NVMe SSD. Nit: Technically, there is no such thing as a "M.2 eMMC". That is just a M.2 SSD (solid-state disk). eMMC stands for embedded multimedia card, which is the name of the protocol the CM4 on-board flash storage. The M.2 SSDs on Waveshare/Yelow use NVMe as the protocol (over PCIe), so more precise would be M.2 NVMe SSD. |
Correct (in theory), but previously not possible due to #1887
I'm using Steam Deck marketing lingo here (and they refer to it as
|
This issue is resolved by #2493 and part of HAOS 10.1. |
@agners is the PR #2493 the only change applied to for U-Boot boot the NVMe drive? I'm still trying to find the reason why u-boot can't recognize the NVMe but Linux does. I've used the same config variables you have mentioned in the PR. The output from u-boot I'm getting is:
As you can see, the pci controller is recognized but the nvme driver not. I created a thread in u-boot mail list. |
Describe the issue you are experiencing
I didn't get the note its not bootable with an nvme,
So i use a cm4 with an nvme boot, i Upgrade from 9.5 to 10 in the UI and now it doesnt boot anymore.
Any Options to downgrade via fileswap? E.g.
This is really dangures to provide updates in the UI that breaks some Setups totally
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?
10
Did you upgrade the Operating System.
Yes
Steps to reproduce the issue
Anything in the Supervisor logs that might be useful for us?
Anything in the Host logs that might be useful for us?
System information
CM4 with nvme
Additional information
No response
The text was updated successfully, but these errors were encountered: