Initial support was added to NetBSD -current for Apple M1 systems on Aug 30, 2021.
Installation
As of April 2022 it is best to use the Asahi installer.
Follow instruction as documented here: https://asahilinux.org/2022/03/asahi-linux-alpha-release/ to get the "UEFI environment"
Uncompress http://nycdn.netbsd.org/pub/NetBSD-daily/HEAD/latest/evbarm-aarch64/binary/gzimg/arm64.img.gz and write it to a USB drive. Make sure this file was built after May 7th, 2022
Reboot with an arm64.img USB drive plugged into a USB C port.
The old installation instructions are:
Please note that installation on an Apple M1 requires macOS 11.2 or later to be installed first.
Uncompress http://nycdn.netbsd.org/pub/NetBSD-daily/HEAD/latest/evbarm-aarch64/binary/gzimg/arm64.img.gz and write it to a USB drive. Make sure this file was built after Aug 30, 2021!
Build and install
sysutils/u-boot-apple-m1
from pkgsrc.- The bootloader for the Mac mini (M1, 2020) will be installed to
/usr/pkg/share/u-boot/apple-m1/u-boot-t8103-j274.macho
. - j274 - Mac mini (M1, 2020)
- j293 - MacBook Pro (13-inch, M1, 2020)
- The bootloader for the Mac mini (M1, 2020) will be installed to
Boot the M1 system into 1TR mode by holding the power button at startup. Until the "Loading startup options..." message is displayed, then select Options.
- In the Utilities menu, select Terminal to bring up a root shell.
Downgrade security and disable SIP. (If you get any errors while doing this, first run
csrutil clear
, reboot, and try again)# bputil -nkcas
# csrutil disable
Copy the u-boot.macho from pkgsrc to the mini over the network (curl, sftp, etc).
Install the new bootloader:
# kmutil configure-boot -c u-boot-t8103-j274.macho -C -v /Volumes/Macintosh\ HD/
Reboot with an arm64.img USB drive plugged in.
Supported hardware
- Apple Mac mini (M1, 2020)
- SMP
- Interrupt controller
- IOMMU
- PCIe
- USB (Type-A ports)
- Ethernet
- USB (Type-C ports)
- Framebuffer console
- X11 (requires
startx -- -depth 30
)
- X11 (requires
Back to MacOS
Commits
Add some missing barriers:
- https://mail-index.netbsd.org/source-changes/2021/08/30/msg131945.html
- https://mail-index.netbsd.org/source-changes/2021/08/30/msg131946.html
Support EL2 host mode:
- https://mail-index.netbsd.org/source-changes/2021/08/30/msg131947.html
- https://mail-index.netbsd.org/source-changes/2021/08/30/msg131948.html
Add 10-bit pixel format support:
Fix bus_dmamap_sync usage in bge(4):
Fix PCI resource allocation:
Disable dwc3 when iommu support is required:
Do not touch CNTCTL_IMASK in generic timer driver:
Fix incorrect KASSERT in cpu_lwp_fork:
Add IOMMU support to arm bus_dma:
Identify M1 CPU IDs:
Support 64-bit cpu-release-addr for spin-table:
Add support for FIQs:
Initial Apple M1 support:
Make scheduler aware of efficiency and performance cores:
Support 8-bit ASID field in pmap:
- https://mail-index.netbsd.org/source-changes/2021/10/10/msg132887.html
- https://mail-index.netbsd.org/source-changes/2021/10/10/msg132889.html
Add mailbox and power-domain support:
EFI boot from 4K devices support:
- https://mail-index.netbsd.org/source-changes/2022/04/24/msg138177.html
- https://mail-index.netbsd.org/source-changes/2022/04/24/msg138178.html
Sync DART and PCIE with OpenBSD:
- https://mail-index.netbsd.org/source-changes/2022/04/27/msg138239.html
- https://mail-index.netbsd.org/source-changes/2022/04/27/msg138242.html
Power domain controller support:
GPIO controller support:
Mailbox and RTKit OS communications protocol support:
Pointer Authentication fix:
NVME support: