Skip to content

Instantly share code, notes, and snippets.

@joske
Last active May 14, 2025 08:01
Show Gist options
  • Select an option

  • Save joske/8d2fda2c65922f84ee685e3edfcfd969 to your computer and use it in GitHub Desktop.

Select an option

Save joske/8d2fda2c65922f84ee685e3edfcfd969 to your computer and use it in GitHub Desktop.
Firmware update on asahi

Firmware update

  • boot into Linux
  • edit /etc/fstab and comment out the line with /boot/efi
  • reboot into macOS
  • mount the EFI partition of your linux install with diskutil mount 'EFI - LINUX' or similar (check the correct name with diskutil list)
  • copy the contents of this partition (using finder or cp) somewhere in macOS
  • unmount the partition again with diskutil umount 'EFI - LINUX'
  • wipe the APFS container (2.5 GB) using diskutil apfs deleteContainer disk0s3 !! double and triple check the device id !!
  • wipe the EFI partition (500MB) using diskutil eraseVolume free free disk0s4
  • you should now have 3 GB free between the macOS APFS container and the 'Linux Filesystem' with your rootfs
  • start the asahi installer and choose the option 'UEFI environment only'
  • the installer will ask to shutdown and reboot into the recovery of the stub partition
  • follow the steps inside recovery until the point it asks to reboot, don't reboot, but press Ctrl-C to exit the script
  • go to the Apple logo in the top left corner and choose 'Startup Disk'
  • set your macOS disk as startup disk and reboot into macOS
  • mount the EFI partition again using diskutil mount (note that the name may be different from above if you chose a different name for the UEFI install)
  • copy the EFI and m1n1 folders from your backup over the new EFI partition
  • reboot into Linux by setting the Startup Disk back to Linux or by holding the power button at boot
  • check the UUID of the EFI partition with lsblk -f. Look for the one which is short (XXXX-XXXX)
  • edit /etc/fstab, uncomment the /boot/efi line and replace the UUID with the new one
  • reboot again and you should now be on latest firmware and back where you were
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment