# Crate a 1GB efi partition parted /dev/nvme0n1 ... # Mark it as boot and esp parted /dev/nvme0n1 set X esp on # It should look like that in the end: (air) [~] parted /dev/nvme0n1 print Model: APPLE SSD AP0512Q (nvme) Disk /dev/nvme0n1: 500GB Sector size (logical/physical): 4096B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags ... 6 403GB 404GB 1074MB fat32 boot, esp ... mkfs.vfat /dev/nvme0nX mkdir /boot/efi # Put that in /etc/fstab: /dev/nvme0n1p6 /boot/efi vfat defaults 0 0 mount /boot/efi apt-get install grub-efi update-grub dpkg-reconfigure grub-efi-arm64 # When prompted for 'Force extra installation to the EFI removable media path?', say yes. # See also: https://wiki.debian.org/UEFI#Force_grub-efi_installation_to_the_removable_media_path # There are also reports for manjaro that required grub-install --removable /dev/nvme0nX # At the end you need this file (capitalization does not matter) for u-boot to pick up grub: /boot/efi/EFI/BOOT/BOOTAA64.EFI # Now Debian install a file called fbaa64.efi. Delete it otherwise, u-boot will be unable to boot grub: find /boot/efi -name fbaa64.efi | xargs rm # I compiled u-boot on aarch64 linux: git clone https://github.com/kettenis/u-boot cd u-boot/ git checkout apple-m1-m1n1-nvme make apple_m1_defconfig make cd .. # Also build m1n1 git clone --recursive https://github.com/AsahiLinux/m1n1.git cd m1n1 make -j cd .. # Concat u-boot. It incldues the dtb for all suppported models cat m1n1/build/m1n1.macho `find u-boot -name \*.dtb` u-boot/u-boot-nodtb.bin > u-boot.macho # Upload u-boot.macho somewhere # Boot into recovery # download the file # run kmutil configure-boot -c u-boot.macho -v /Volumes/Linux Tripwires: # 17:28 < kov> Glanzmann, so, fun discovery, removing this file makes it work it seems fbaa64.efi