[[!meta title="NetBSD/evbarm on Apple Silicon"]] 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: to get the "UEFI environment" - Uncompress 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 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) - 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`) # Back to MacOS # Commits Add some missing barriers: - - Support EL2 host mode: - - 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: - - Add mailbox and power-domain support: - EFI boot from 4K devices support: - - Sync DART and PCIE with OpenBSD: - - Power domain controller support: - GPIO controller support: - Mailbox and RTKit OS communications protocol support: - Pointer Authentication fix: - NVME support: -