- Notifications
You must be signed in to change notification settings - Fork0
A bootloader and experimentation playground for Apple Silicon
License
jannau/m1n1
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
(And to some extent a Linux bootloader)
You need anaarch64-linux-gnu-gcc
cross-compiler toolchain (or a native one, if running on ARM64).
$ git clone --recursive https://github.com/AsahiLinux/m1n1.git$cd m1n1$ make
The output will be in build/m1n1.macho.
To build on a native arm64 machine, usemake ARCH=
.
Building on ARM64 macOS is supported with clang and LLVM; you need to use Homebrew toinstall the required dependencies:
$ brew install llvm
After that, just typemake
.
If you have a container runtime installed, like Podman or Docker, you can make use of the compose setup, which contains all build dependencies.
$ git clone --recursive https://github.com/AsahiLinux/m1n1.git$cd m1n1$ podman-compose run m1n1 make$# or$ docker-compose run m1n1 make
Ourwiki has more information on how touse m1n1.
To install on an OS container based on macOS <12.1, usem1n1.macho
:
kmutil configure-boot -c m1n1.macho -v<path to your OS volume>
To install on an OS container based on macOS >=12.1, usem1n1.bin
:
kmutil configure-boot -c m1n1.bin --raw --entry-point 2048 --lowest-virtual-address 0 -v<path to your OS volume>
m1n1 supports running payloads by simple concatenation:
$ cat build/m1n1.macho Image.gz build/dtb/apple-j274.dtb initramfs.cpio.gz> m1n1-payload.macho$ cat build/m1n1.bin Image.gz build/dtb/apple-j274.dtb initramfs.cpio.gz> m1n1-payload.bin
Supported payload file formats:
- Kernel images (or compatible). Must be compressed or last payload.
- Devicetree blobs (FDT). May be uncompressed or compressed.
- Initramfs cpio images. Must be compressed.
Supported compression formats:
- gzip
- xz
m1n1 is licensed under the MIT license, as included in theLICENSE file.
- Copyright The Asahi Linux Contributors
Please see the Git history for authorship information.
Portions of m1n1 are based on mini:
- Copyright (C) 2008-2010 Hector Martin "marcan"marcan@marcan.st
- Copyright (C) 2008-2010 Sven Petersven@svenpeter.dev
- Copyright (C) 2008-2010 Andre Heidera.heider@gmail.com
m1n1 embeds libfdt, which is dualBSD andGPL-2 licensed and copyright:
- Copyright (C) 2014 David Gibsondavid@gibson.dropbear.id.au
- Copyright (C) 2018 embedded brains GmbH
- Copyright (C) 2006-2012 David Gibson, IBM Corporation.
- Copyright (C) 2012 David Gibson, IBM Corporation.
- Copyright 2012 Kim Phillips, Freescale Semiconductor.
- Copyright (C) 2016 Free Electrons
- Copyright (C) 2016 NextThing Co.
The ADT code in mini is also based on libfdt and subject to the same license.
m1n1 embedsminlzma, which isMIT licensed and copyright:
- Copyright (c) 2020 Alex Ionescu
m1n1 embeds a slightly modified version oftinf, which isZLIB licensed and copyright:
- Copyright (c) 2003-2019 Joergen Ibsen
m1n1 embeds portions taken fromarm-trusted-firmware, which isBSD licensed and copyright:
- Copyright (c) 2013-2020, ARM Limited and Contributors. All rights reserved.
m1n1 embeds Doug Lea's malloc (dlmalloc), which is inthe public domain (CC0).
m1n1 embeds portions ofPDCLib, which is in the publicdomain (CC0).
m1n1 embeds theSource Code Pro font, which islicensed under theOFL-1.1 license and copyright:
- Copyright 2010-2019 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries.
- This Font Software is licensed under the SIL Open Font License, Version 1.1.
m1n1 embeds portions of thedwc3 usb linux driver, which wasBSD-or-GPLv2 dual-licensed and copyright
- Copyright (C) 2010-2011 Texas Instruments Incorporated -http://www.ti.com
m1n1 embeds portions ofmusl-libc's floating point library, which are MIT licensed and copyright
- Copyright (c) 2017-2018, Arm Limited.
m1n1 embeds some rust crates. Licenses can be found in the vendor directory for every crate.
About
A bootloader and experimentation playground for Apple Silicon
Resources
License
Stars
Watchers
Forks
Packages0
Languages
- Python54.0%
- C44.3%
- Assembly0.9%
- Rust0.5%
- Makefile0.2%
- Shell0.1%