{"id":13386276,"url":"https://github.com/AsahiLinux/m1n1","last_synced_at":"2025-03-13T10:31:25.011Z","repository":{"id":37036542,"uuid":"329707886","full_name":"AsahiLinux/m1n1","owner":"AsahiLinux","description":"A bootloader and experimentation playground for Apple Silicon","archived":false,"fork":false,"pushed_at":"2025-03-02T17:36:49.000Z","size":3017,"stargazers_count":3719,"open_issues_count":41,"forks_count":219,"subscribers_count":75,"default_branch":"main","last_synced_at":"2025-03-09T23:15:29.257Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AsahiLinux.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-14T18:59:03.000Z","updated_at":"2025-03-09T19:54:41.000Z","dependencies_parsed_at":"2023-02-19T12:46:10.933Z","dependency_job_id":"b224c691-c9d6-46c3-b0d1-2a82a96f64ba","html_url":"https://github.com/AsahiLinux/m1n1","commit_stats":null,"previous_names":[],"tags_count":53,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsahiLinux%2Fm1n1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsahiLinux%2Fm1n1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsahiLinux%2Fm1n1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsahiLinux%2Fm1n1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AsahiLinux","download_url":"https://codeload.github.com/AsahiLinux/m1n1/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243345578,"owners_count":20275870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T11:01:43.688Z","updated_at":"2025-03-13T10:31:25.005Z","avatar_url":"https://github.com/AsahiLinux.png","language":"Python","funding_links":[],"categories":["C","Python","others","HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"# m1n1: an experimentation playground for Apple Silicon\n\n(And to some extent a Linux bootloader)\n\n## Building\n\nYou need an `aarch64-linux-gnu-gcc` cross-compiler toolchain (or a native one, if running on ARM64).\n\n```shell\n$ git clone --recursive https://github.com/AsahiLinux/m1n1.git\n$ cd m1n1\n$ make\n```\n\nThe output will be in build/m1n1.macho.\n\nTo build on a native arm64 machine, use `make ARCH=`.\n\nTo build verbosely, use `make V=1`.\n\nBuilding on ARM64 macOS is supported with clang and LLVM; you need to use Homebrew to\ninstall the required dependencies:\n\n```shell\n$ brew install llvm lld\n```\n\nAfter that, just type `make`.\n\n### Building using the container setup\n\nIf you have a container runtime installed, like Podman or Docker, you can make use of the compose setup, which contains all build dependencies.\n\n```shell\n$ git clone --recursive https://github.com/AsahiLinux/m1n1.git\n$ cd m1n1\n$ podman-compose run m1n1 make\n$ # or\n$ docker-compose run m1n1 make\n```\n\n## Usage\n\nOur [wiki](https://github.com/AsahiLinux/docs/wiki/m1n1%3AUser-Guide) has more information on how to\nuse m1n1.\n\nTo install on an OS container based on macOS \u003c12.1, use `m1n1.macho`:\n\n```shell\nkmutil configure-boot -c m1n1.macho -v \u003cpath to your OS volume\u003e\n```\n\nTo install on an OS container based on macOS \u003e=12.1, use `m1n1.bin`:\n\n```shell\nkmutil configure-boot -c m1n1.bin --raw --entry-point 2048 --lowest-virtual-address 0 -v \u003cpath to your OS volume\u003e\n```\n\n## Payloads\n\nm1n1 supports running payloads by simple concatenation:\n\n```shell\n$ cat build/m1n1.macho Image.gz build/dtb/apple-j274.dtb initramfs.cpio.gz \u003e m1n1-payload.macho\n$ cat build/m1n1.bin Image.gz build/dtb/apple-j274.dtb initramfs.cpio.gz \u003e m1n1-payload.bin\n```\n\nSupported payload file formats:\n\n* Kernel images (or compatible). Must be compressed or last payload.\n* Devicetree blobs (FDT). May be uncompressed or compressed.\n* Initramfs cpio images. Must be compressed.\n\nSupported compression formats:\n\n* gzip\n* xz\n\n## License\n\nm1n1 is licensed under the MIT license, as included in the [LICENSE](LICENSE) file.\n\n* Copyright The Asahi Linux Contributors\n\nPlease see the Git history for authorship information.\n\nPortions of m1n1 are based on mini:\n\n* Copyright (C) 2008-2010 Hector Martin \"marcan\" \u003cmarcan@marcan.st\u003e\n* Copyright (C) 2008-2010 Sven Peter \u003csven@svenpeter.dev\u003e\n* Copyright (C) 2008-2010 Andre Heider \u003ca.heider@gmail.com\u003e\n\nm1n1 embeds libfdt, which is dual [BSD](3rdparty_licenses/LICENSE.BSD-2.libfdt) and\n[GPL-2](3rdparty_licenses/LICENSE.GPL-2) licensed and copyright:\n\n* Copyright (C) 2014 David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n* Copyright (C) 2018 embedded brains GmbH\n* Copyright (C) 2006-2012 David Gibson, IBM Corporation.\n* Copyright (C) 2012 David Gibson, IBM Corporation.\n* Copyright 2012 Kim Phillips, Freescale Semiconductor.\n* Copyright (C) 2016 Free Electrons\n* Copyright (C) 2016 NextThing Co.\n\nThe ADT code in mini is also based on libfdt and subject to the same license.\n\nm1n1 embeds [minlzma](https://github.com/ionescu007/minlzma), which is\n[MIT](3rdparty_licenses/LICENSE.minlzma) licensed and copyright:\n\n* Copyright (c) 2020 Alex Ionescu\n\nm1n1 embeds a slightly modified version of [tinf](https://github.com/jibsen/tinf), which is\n[ZLIB](3rdparty_licenses/LICENSE.tinf) licensed and copyright:\n\n* Copyright (c) 2003-2019 Joergen Ibsen\n\nm1n1 embeds portions taken from\n[arm-trusted-firmware](https://github.com/ARM-software/arm-trusted-firmware), which is\n[BSD](3rdparty_licenses/LICENSE.BSD-3.arm) licensed and copyright:\n\n* Copyright (c) 2013-2020, ARM Limited and Contributors. All rights reserved.\n\nm1n1 embeds [Doug Lea's malloc](ftp://gee.cs.oswego.edu/pub/misc/malloc.c) (dlmalloc), which is in\nthe public domain ([CC0](3rdparty_licenses/LICENSE.CC0)).\n\nm1n1 embeds portions of [PDCLib](https://github.com/DevSolar/pdclib), which is in the public\ndomain ([CC0](3rdparty_licenses/LICENSE.CC0)).\n\nm1n1 embeds the [Source Code Pro](https://github.com/adobe-fonts/source-code-pro) font, which is\nlicensed under the [OFL-1.1](3rdparty_licenses/LICENSE.OFL-1.1) license and copyright:\n\n* 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.\n* This Font Software is licensed under the SIL Open Font License, Version 1.1.\n\nm1n1 embeds portions of the [dwc3 usb linux driver](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/usb/dwc3/core.h?id=7bc5a6ba369217e0137833f5955cf0b0f08b0712), which was [BSD-or-GPLv2 dual-licensed](3rdparty_licenses/LICENSE.BSD-3.dwc3) and copyright\n* Copyright (C) 2010-2011 Texas Instruments Incorporated - http://www.ti.com\n\nm1n1 embeds portions of [musl-libc](https://musl.libc.org/)'s floating point library, which are MIT licensed and copyright\n* Copyright (c) 2017-2018, Arm Limited.\n\nm1n1 embeds some rust crates. Licenses can be found in the vendor directory for every crate.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAsahiLinux%2Fm1n1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAsahiLinux%2Fm1n1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAsahiLinux%2Fm1n1/lists"}