-
Notifications
You must be signed in to change notification settings - Fork 24
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
U-Boot NVMe broken on Ventura (13.0 beta) firmware #6
Comments
@ivabus When did you install Asahi? Was it quite early after the alpha release? Early U-Boot builds had an exceedingly short timeout and didn't work on 4T+ machines, and I wouldn't be surprised if a firmware update made it slower to the extent where it stopped working on smaller models too. Though we definitely upgraded that (if you ever pacman upgraded your Asahi install you should have it). |
@kettenis @svenpeter42 I think we might have to consider improving U-Boot's RTKit/NVMe support to stop making so many assumptions about the bootup flow and work more like m1n1's implementation; I think this stuff is going to keep biting us otherwise and it's no fun for users to end up with broken boot :/ |
I installed Asahi in early May. I have a screenshot of it running 5.17.0-rc7-asahi-next-20220310-5-2-ARCH. But I upgraded by pacman sometimes after |
Also |
If necessary, I can provide additional information. |
@marcan so m1n1 works fine with the new firmware? I'll take a look at what m1n1 does different then. |
Issue seems to be missing sart support in u-boot. ASC trace stop after sending 0 as crashlog buffer dva. |
I’d like to provide some information. I installed macOS 13 Beta on a separate APFS volume (Apple official instructions) alongside my main macOS 12 Monterey, then ran Asahi Linux install from the Beta. I get this image on boot: Maybe I read @marcan ’s tweets wrong but I thought firmware wasn’t persistent? Unless it was my mistake to install Asahi from the 13 Beta instead of the Monterey partition. |
Update: I uninstalled Asahi Linux, then reinstalled from my macOS 12 Partition. Same issue. |
No need to provide more information, we know this is outright broken. U-Boot's NVMe implementation tried to be too smart for its own good in the name of simplicity and it backfired. m1n1's driver works fine. Some firmware is systemwide, like NVMe, for obvious reasons. If you install a beta macOS then that updates your systemwide firmware to that version. Systemwide firmware is backwards compatible if the driver is doing things properly, but U-Boot's isn't. |
A fix is under development and the proof of concept already restores NVMe function in u-boot. There is still work to be done to make it a proper upstreamable commit. |
u-boot and kernel fixes are tested Following steps will be required to fix broken installations:
On user side the |
@jannau are we able to just download a fixed boot.bin then mount the EFI partition and copy over then reboot and upgrade using pacman? or do we need to somehow create a new boot.bin using the u-boot from git? If the latter how do we do that please? I really appreciate your help I had Asahi going for only two days or so then decided to put Ventura on here and messed it up. |
@stevena1844 fixing this is unfortunately a little bit more complicated since there are two issues. We will provide the necessary binaries and a description to restore affected systems when the fixes are in place. I can't give an ETA because @marcan needs to handle most of it. The second issue is that the SMC driver in our current kernel causes the macOS 13 beta SMC firmware to crash. This results a reboot after a minute or so. We can disable SMC easily with a modified device tree but SMC is required for turning the wifi device on. Devices which require wifi for connectivity will not be able to download fixed u-boot and kernel packages. Packages have to be downloaded beforehand and installed manually. If you don't need wifi for connectivity https://www.jannau.net/asahi/boot.bin_2022-06-12_macos13_nvme_no_smc is a preview of the fixup |
@jannau When do you think the fix will be completed? |
Curious question: How would said firmware that is persistent be downgraded and where is it stored? |
System firmware is stored in NOR flash and possibly the iBootSystemContainer partition. Downgrading requires a full DFU erase restore (i.e. complete machine wipe). For fairly obvious reasons, even if you could downgrade iBoot et al somehow (which you can't), SSD/NVMe firmware in particular is impossible to downgrade without a full wipe, on any SSD, for the same reason you can't downgrade a database server or an Android version and keep your data (without the chance of everything exploding). |
I just gave this a spin.
So maybe there is more to it, or I misunderstood what the steps to do would entail. |
Package updates have not been pushed yet. |
Same issue. Updated to Ventura, wiped all volumes/containers, re-installed Monterey. |
I posted the fixup instructions into the slightly wrong ticket, see AsahiLinux/asahi-installer#100 (comment) |
Updated packages are pushed to the |
Worked. Thank you |
The fixes are now in mainline U-Boot and will be in U-Boot 2022.07. |
Was the installer rebuilt after fixes? |
@ivabus the installer has not yet been refreshed. |
The installer has now fixed packages and the |
I upgraded to first beta of macOS Ventura on my MacBook Air (8/8/512) with M1 and have problem with booting into Asahi.
Upgraded from 12.4
One macOS and one Asahi.
The default boot volume after update was macOS.
Asahi boot stuck at U-Boot with:
Originally posted by @ivabus in AsahiLinux/asahi-installer#100 (comment)
The text was updated successfully, but these errors were encountered: