[[!meta title="NetBSD/evbarm on Apple Silicon"]] Initial support was added to NetBSD -current for Apple M1 systems on Aug 30, 2021. # Installation 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 will be installed to `/usr/pkg/share/u-boot/apple-m1/u-boot.macho`. - 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.macho -C -v /Volumes/Macintosh\ HD/` - Reboot with a USB drive plugged in. # Supported hardware - Apple Mac mini (M1, 2020) - SMP - Interrupt controller - IOMMU - PCIe - USB - Ethernet - Framebuffer console # 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: -