AsahiLinux / asahi-installer

Asahi Linux installer
MIT License
815 stars 107 forks source link

[Tracker] Issues caused by macOS upgrades #100

Closed marcan closed 1 year ago

marcan commented 2 years ago

If you experience an issue after a macOS update, please leave a comment here describing in detail:

TL;DR is Apple's upgrade process has been known to screw up OS boot policies sometimes. #82 is the issue for providing a fixup process on our end. We're not sure how to reproduce this, so it would be helpful if we could figure it out so we can report the issue to Apple.

At this time there is no reason to believe that Apple is deliberately blocking Asahi Linux in any way, shape, or form. This is just about macOS updater bugs screwing up the boot configuration for the other OS.

ivabus commented 2 years ago

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:

Device 0: unknown device
Failed to boot from ESP with UUID <UUID>
Trying to boot from USB ...

Device 0: unknown device
Failed to find boot partition 'run distro_bootcmd' to boot from any partition
=>

image

marcan commented 2 years ago

Well, that's interesting. It looks like U-Boot's NVMe support broke (again), but m1n1's still works fine. Opened AsahiLinux/u-boot#6 to track that one.

s3thi commented 2 years ago

After updating both Asahi and macOS about two weeks ago, I've been seeing this error on boot:

Starting version 251-1-arch
[ 0.606570 ] nvme0: Identify(0x6), Invalid Namespace or Format (sct 0x0 / sc 0xb)
[ 0.606704 ] nvme0: Identify(0x6), Invalid Namespace or Format (sct 0x0 / sc 0xb)
asahi-root: clean, 223406/5800080 files, 2556595/23407616 blocks
[ 2.627767 ] ieee80211 phy0: brcmf_p2p_send_action_frame: Unknown Frame: category 0x5, action 0x4
[ 38.774685 ] ieee80211 phy0: brcmf_p2p_send_action_frame: Unknown Frame: category 0x5, action 0x4

The computer just sits there after this message shows up, refusing to boot. Unfortunately, I couldn't tell you which of the updates caused the issue. I updated both macOS and Asahi over the weekend and didn't check to see if the Asahi update had broken anything.

Hoping there's a fix for this. If not, I can always reinstall since I don't have any useful data Asahi.

Screenshot of the boot screen attached:

IMG_0201

jannau commented 2 years ago

@s3thi this looks a like broken X11 due to libunwind. Is it possible that the 2 weeks are more like 4 weeks? That issue was fixed with https://github.com/AsahiLinux/PKGBUILDs/pull/14 26 days ago. If that's the case you should be able to switch console terminal with Ctrl + Alt (Command) + F2 (on a device with touchbar Fn + Ctrl + Alt + 2). There you can log in with usual credentials and update the system with pacman -Syu.

s3thi commented 2 years ago

@jannau that was it! Thank you :)

To those coming here from a search engine, I had to hit Cmd + Option + Fn + F2 to get to tty2 on my 14" M1 MacBook Pro.

jannau commented 2 years ago

Package updates are now available. I hope the following instructions are clear enough to "rescue" the affected systems:

# download updated packages from asahi linux repo, integrated wlan will not work
curl -O https://de.mirror.asahilinux.org/aarch64/asahi-dev/linux-asahi-5.19rc5.asahi6-1-aarch64.pkg.tar.xz
curl -O https://de.mirror.asahilinux.org/aarch64/asahi-dev/m1n1-1.1.2-1-aarch64.pkg.tar.xz
curl -O https://de.mirror.asahilinux.org/aarch64/asahi-dev/uboot-asahi-2022.07_rc99.20220712-1-aarch64.pkg.tar.xz

# download temporary boot.bin with fixed u-boot and disabled smc
curl -O https://www.jannau.net/asahi/asahi-macos13-no-smc-boot.bin

#########################################################
# intermission: asahi-macos13-no-smc-boot.bin can be created by
#                      the actual binary was prepared with earlier versions
#
# mkdir fixup
# cd fixup
# #dtbs built from https://github.com/jannau/linux/tree/asahi-macos13-no-smc
# curl https://www.jannau.net/asahi/asahi-macos13-no-smc-dtbs.tar.xz | tar -Jx
# tar -xJf ../uboot-asahi-2022.07_rc99.20220712-1-aarch64.pkg.tar.xz
# tar -xJf ../m1n1-1.1.2-1-aarch64.pkg.tar.xz
#
# cat usr/lib/asahi-boot/m1n1.bin \
#     asahi-macos13-no-smc-dtbs/*.dtb \
#     <(gzip -c usr/lib/asahi-boot/u-boot-nodtb.bin) \
#     > asahi-macos13-no-smc-boot.bin
#
# intermission end
#########################################################

# copy packages to ESP partition (or USB stick, ...)

# replace m1n1/boot.bin with asahi-macos13-no-smc-boot.bin

# reboot into asahi
# asahi should boot but with limited HW support, no wifi, real time clock, power-off, ...

# if the computer has no internet connectivity install downloaded packages
pacman -U /boot/efi//linux-asahi-5.19rc5.asahi6-1-aarch64.pkg.tar.xz
pacman -U /boot/efi/m1n1-1.1.2-1-aarch64.pkg.tar.xz
pacman -U /boot/efi/uboot-asahi-2022.07_rc99.20220712-1-aarch64.pkg.tar.xz

# or

# with internet connectivity:
# edit /etc/pacman.conf
# replace '[asahi]' with '[asahi-dev]'
# update system with pacman -Syu

# reboot
gjsman commented 2 years ago

I just restored with your instructions, worked well.

For anyone trying to do the above steps, some additional information if you are trying to restore from macOS: You should run diskutil list and find a ~512MB EFI partition and note the identifier (e.g. disk0s4 in my case). You can run mkdir ~/Downloads/efi && sudo mount -t msdos /dev/disk0s4 ~/Downloads/efi to mount that EFI partition containing firmware and m1n1 to a place where Finder can open it. You can then put the m1n1-1.0.3-1-aarch64.pkg.tar.xz, uboot-asahi-2022.07_rc4.20220621-1-aarch64.pkg.tar.xz, and linux-asahi-5.18.asahi3-1-aarch64.pkg.tar.xz into that root EFI folder. As for the asahi-macos13-no-smc-boot.bin, place it in the m1n1 folder and rename it to boot.bin to replace the old one. From there, follow the above instructions for replacing the packages to get WiFi, and then sudo pacman -Syu your way forward.

7urtles commented 2 years ago

The instructions above worked, thank you.

themagicalmammal commented 2 years ago

Can you create a asahi-dev.sh for Ventura users.

jannau commented 2 years ago

The main installer has now fixed packages and can be be used to install AsahiLinux on systems which have been updated to a Venturi beta release. The asahi repo has fixed packages as well. Who switched to asahi-dev for the fixed packages can now switch back to asahi.

DaveFlashNL commented 2 years ago

Asahi boot stuck at U-Boot with:

(...)
Trying to boot from USB ...

Device 0: unknown device
Failed to find boot partition 'run distro_bootcmd' to boot from any partition
=>

yup same issue here, i just updated both my Monterey partition to 12.5.1 and Ventura beta partition to beta 6. I thought, I'd then go to Asahi to run updates there too, but it won't boot and comes with the exact msg as ivabus

DaveFlashNL commented 2 years ago

so if anyone's got a script to run all these fixes above in one go, that would be helpful, preferably at an easy url to enter in u boot, but also, does u-boot even have access to wifi? as i'm on a macbook.

jannau commented 2 years ago

It's not really possible t provide a script. This steps have do be manually in 2 different OS environments:

Updated Instructions for the current state of events.

  1. In MacOS: download https://www.jannau.net/asahi/asahi-macos13-no-smc-boot.bin, https://de.mirror.asahilinux.org/aarch64/asahi/linux-asahi-5.19.asahi5-1-aarch64.pkg.tar.xz, https://de.mirror.asahilinux.org/aarch64/asahi/m1n1-1.1.4-1-aarch64.pkg.tar.xz and https://de.mirror.asahilinux.org/aarch64/asahi/uboot-asahi-2022.07_rc100.asahi3-1-aarch64.pkg.tar.xz and save them on the EFI system partition (FAT32 partition of 500MB)
  2. replace m1n1/boot.bin with asahi-macos13-no-smc-boot.bin on the EFI system partition
  3. reboot into asahi (limited HW support, no wifi, real time clock, power-off, ...)
  4. install the downloaded packages with pacman -U /boot/efi/linux-asahi-5.19.asahi5-1-aarch64.pkg.tar.xz pacman -U /boot/efi/lm1n1-1.1.4-1-aarch64.pkg.tar.xz and pacman -U /boot/efi/luboot-asahi-2022.07_rc100.asahi3-1-aarch64.pkg.tar.xz
  5. reboot and update the asahi linux system with pacman -Syu
marcan commented 1 year ago

I'm going to close this since I think we're past the Ventura issues and we also now have a tool to re-create boot policies in case an upgrade really screws that up. We can open new separate issues if new problems arise.

DaveFlashNL commented 1 year ago

I'm still on Monterey, and plan to be for a long while, is this new tool available to me too? or should i stick with the above instructions?

DaveFlashNL commented 1 year ago

~512MB EFI partition

this one? 4: EFI ⁨EFI - ASAHI⁩ 500.2 MB disk0s4

and then like this: Schermafbeelding 2022-11-13 om 11 30 24 or must they go into the EFI folder?

DaveFlashNL commented 1 year ago

so something rather unexpected has happened, i placed the files, rebooted into asahi, and it immediately booted into the kde graphical interface greeting me with the full linux asahi experience, but when going to the konsole, i couldn't do the pacman thing, because it needed a password, but i don't think i had set a password for my user, nor for root, how do i set that or reset it? (as in, it logged into the full graphical linux, without asking for passwords at all).

So im not sure as to what to do now... i did do sudo passwd root, but then it asked for a password, which i don't know.

marcan commented 1 year ago

You definitely set a password, even if you enabled autologin. If you forgot your password you can reset it by following these instructions.

DaveFlashNL commented 1 year ago

You definitely set a password, even if you enabled autologin. If you forgot your password you can reset it by following these instructions.

thanks, and yes, i can't remember it, i set it up once, and only infrequently booted into it, so that's why I couldn't remember it.

sh4tteredd commented 1 year ago

What version of macOS you had previously: 12.6 or 13 not sure What version you upgraded to: 13 or 13.0.1 not sure What you had installed exactly (one or multiple macOS installs, one or multiple Asahi Linux installs): one macOS installation and one Asahi installation What you default boot volume was at the time of the macOS upgrade: macOS volume Any errors or issues you encountered during the upgrade: none

macOS works but I can't boot into asahi because the system resets immediatly (I can't even see the U-Boot screen)

I've also tried the @jannau fix but nothing

marcan commented 1 year ago

@sh4tteredd Do you get the Asahi logo at all? If not, that sounds like a broken boot policy. Try running curl -L https://alx.sh/dev | sh from macOS and see if it prompts you to repair an incomplete Asahi Linux install, or otherwise shows anything weird about it in the OS list.

sh4tteredd commented 1 year ago

you're right, it shows incomplete install.

Screenshot 2022-11-17 at 17 11 29

I confirm that I don't get the Asahi logo at all, is there anything that I can do in order to fix it?

btw another bug report: the "dev" script that you suggested to use it doesn't work on my machine, but the "release" one from the website works

Screenshot 2022-11-17 at 17 15 23
marcan commented 1 year ago

You need to reboot or sudo rm -rf /tmp/asahi-install when switching between installer versions. The dev installer should give you the option to repair the install.

marcan commented 1 year ago

Fixed the dev installer script so you don't need to rm the directory any more, it should just work now (though going back to release will have the same problem until the release installer is updated).

sh4tteredd commented 1 year ago

You need to reboot or sudo rm -rf /tmp/asahi-install when switching between installer versions. The dev installer should give you the option to repair the install.

got it, thank you very much for your help, appreciate.

btw just for curiosity, what was specifically the problem? what's the boot policy?

Thanks again

ArmaanAhmed22 commented 1 year ago

What version of macOS you had previously: Unsure, some Monterey version What version you upgraded to: 13.0.1 What you had installed exactly (one or multiple macOS installs, one or multiple Asahi Linux installs): one macOS install, one Asahi linux install What you default boot volume was at the time of the macOS upgrade: Asahi volume Any errors or issues you encountered during the upgrade: None

I have been daily driving Asahi Linux for a couple of months now. Today, I decided to upgrade Asahi Linux and then MacOS to the newest versions. But, with these most recent upgrades, the wlan0 interface doesn't show up and I cannot access wifi on the Asahi install. Booting works, but an warning pops up:


cp: can't stat 'vendorf/.vendorfw.manifest': No such file or directory
[    1.304362] hci_bcm4377 0000:01:00.1: Unable to load firmware; tried 'brcm/brcmbt4378b1-apple,honshu-u.bin' and 'brcm/brcmbt4378b1-apple,honshu.bin'
[    1.305118] hci_bcm4377 0000:01:00.1: Failed to load firmware
marcan commented 1 year ago
cp: can't stat 'vendorf/.vendorfw.manifest': No such file or directory
[    1.304362] hci_bcm4377 0000:01:00.1: Unable to load firmware; tried 'brcm/brcmbt4378b1-apple,honshu-u.bin' and 'brcm/brcmbt4378b1-apple,honshu.bin'
[    1.305118] hci_bcm4377 0000:01:00.1: Failed to load firmware

This has nothing to do with the macOS update. It means you probably uninstalled asahi-meta and therefore lost the ability to upgrade your extracted firmware. Install it again and/or run asahi-fwextract to fix it.

We do not support installs without asahi-meta installed. It's how we make things work seamlessly during major upgrades like this.

DaveFlashNL commented 1 year ago

okay so update: i'm back in asahi, with a new root password, but my ashi has no networking, how do i fix that, i do see wifi and ethernet, but it will not connect to any

cdd1000 commented 7 months ago

Asking for someone who's done it: is it fine to upgrade to 14.4? Will anything break?