Add m1n1-aurora and the silent uboot-asahi for Apple Silicon, aarch64 and edge only
Ported from the asahi-quattro lane. Both are pinned by hand like linux-aurora and restricted to aarch64 and the edge channel from their first merge, since merging publishes. pkgrel sits one above the fork lanes' builds so the same filename never carries two sets of bytes.
This commit is contained in:
1 parent
ed6a3869c7
commit
d7906a4b1a
28 files changed
+3769
No files matched your search
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"source": "local",
|
||||
"channels": ["edge"]
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
# m1n1 for linux-aurora. Aurora's device trees name the USB4 aliases
|
||||
# usb4-N-acio, usb4-N-nhi and usb4-N-pcie-adapter; m1n1 v1.6.1 only looks up
|
||||
# the usb4_N_* names, so without the alias fallback the USB4 tunables are
|
||||
# never applied. The Asahi m1n1 stays with linux-asahi.
|
||||
pkgname=m1n1-aurora
|
||||
pkgver=1.6.1.aurora1
|
||||
pkgrel=3
|
||||
pkgdesc='Omarchy Aurora m1n1 with compatible USB4 tunable aliases'
|
||||
arch=('aarch64')
|
||||
url='https://github.com/aurora-silicon/m1n1'
|
||||
license=('MIT' 'CC0-1.0' 'OFL-1.1-RFN' 'Zlib' 'BSD-2-Clause OR GPL-2.0-or-later' 'BSD-3-Clause OR GPL-2.0-or-later' 'MIT OR Apache-2.0')
|
||||
provides=("m1n1=$pkgver")
|
||||
conflicts=('m1n1')
|
||||
makedepends=('clang' 'lld' 'llvm' 'rustup' 'make' 'patch')
|
||||
options=('!strip' '!debug')
|
||||
_commit=06a4601a351ebfd1abb6abba9a44c34e40d94776
|
||||
source=("m1n1-${_commit}.tar.gz::https://github.com/aurora-silicon/m1n1/archive/${_commit}.tar.gz"
|
||||
aurora-cio-aliases.patch
|
||||
bootlogo_48.bin
|
||||
bootlogo_128.bin
|
||||
bootlogo_256.bin
|
||||
)
|
||||
sha256sums=('9d6972d3edaff856e985f2b1feb64fcf9b42fc5eecda7be64a242b49bbbe636d'
|
||||
'4345a4e431642c4316595bdf023bc67d5c72e0374f3c8d59be81318710138f32'
|
||||
'6668050653645711ad7523fe2abeb4cbe85a92c875f3eec754b6db23cea2191c'
|
||||
'b19cb017645c7a9068ea0be9b6bb394131d7ca11b28093cf6caa1ffca74b0a4e'
|
||||
'9c659b392aacfa31c62c638003d2257abfdbe17919b5c90cde4c4e62f87addab')
|
||||
|
||||
prepare() {
|
||||
cd "m1n1-$_commit"
|
||||
patch -p1 < "$srcdir/aurora-cio-aliases.patch"
|
||||
for size in 48 128 256; do
|
||||
cp "$srcdir/bootlogo_$size.bin" "data/bootlogo_$size.bin"
|
||||
done
|
||||
rustup toolchain install 1.89.0 --profile minimal --target aarch64-unknown-none-softfloat
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "m1n1-$_commit"
|
||||
RUSTUP_TOOLCHAIN=1.89.0 make RELEASE=1 USE_CLANG=1 ARCH=aarch64-linux-gnu \
|
||||
M1N1_VERSION_TAG=v1.6.1-omarchy.aurora1
|
||||
}
|
||||
|
||||
package() {
|
||||
# asahi-scripts (update-m1n1 and its pacman hook) only exists in the
|
||||
# asahi-alarm repository, which the builder does not configure. Declared
|
||||
# here so makepkg does not try to install it at build time.
|
||||
depends=('asahi-scripts>=20260127.1')
|
||||
|
||||
cd "m1n1-$_commit"
|
||||
install -Dm644 build/m1n1.bin "$pkgdir/usr/lib/asahi-boot/m1n1.bin"
|
||||
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||
install -m644 3rdparty_licenses/* "$pkgdir/usr/share/licenses/$pkgname/"
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
# m1n1-aurora
|
||||
|
||||
m1n1 v1.6.1 from aurora-silicon/m1n1 (06a4601a351ebfd1abb6abba9a44c34e40d94776) with RC, NHI and PCIe adapter alias fallbacks for the USB4 tunables, plus the Omarchy boot logos. Aurora's device trees name those aliases `usb4-N-acio`, `usb4-N-nhi` and `usb4-N-pcie-adapter`; stock m1n1 only looks up the `usb4_N_*` names. Latest Aurora m1n1 main is not qualified.
|
||||
|
||||
## Pairing with linux-aurora
|
||||
|
||||
- It provides `m1n1=1.6.1.aurora1`, which satisfies linux-aurora's `m1n1>=1.6.1`, and conflicts with asahi-alarm's `m1n1`. pacman prefers a package literally named `m1n1` over a provider, so an Aurora transaction names `m1n1-aurora` explicitly.
|
||||
- It owns `/usr/lib/asahi-boot/m1n1.bin`. asahi-scripts' `95-m1n1-install.hook` runs `update-m1n1` when that file, `/usr/lib/modules/*/dtbs/*` or U-Boot changes. `update-m1n1` writes m1n1, the device trees and gzipped U-Boot into `m1n1/boot.bin` on the system ESP. asahi-alarm's default takes the device trees from the newest `/lib/modules/*-ARCH/dtbs`, which is where linux-aurora installs its Apple DTBs. `/etc/default/update-m1n1` overrides are left alone.
|
||||
- Raising linux-aurora's `_m1n1_version` above 1.6.1 needs an m1n1-aurora whose provided version satisfies it, released first.
|
||||
|
||||
## Qualification
|
||||
|
||||
Each bump is cold-boot qualified on the M1 Pro and M2 Max: package installation, the hook rebuilding `boot.bin`, the logo, physical boot and two external displays. A successful build is not hardware acceptance.
|
||||
@@ -0,0 +1,28 @@
|
||||
diff --git a/src/kboot.c b/src/kboot.c
|
||||
index a5bd4f1..1089666 100644
|
||||
--- a/src/kboot.c
|
||||
+++ b/src/kboot.c
|
||||
@@ -1249,17 +1249,23 @@ static int dt_set_acio_tunables(void)
|
||||
|
||||
memset(fdt_alias, 0, sizeof(fdt_alias));
|
||||
snprintf(fdt_alias, sizeof(fdt_alias), "usb4_%d_rc", i);
|
||||
+ if (!fdt_get_alias(dt, fdt_alias))
|
||||
+ snprintf(fdt_alias, sizeof(fdt_alias), "usb4-%d-acio", i);
|
||||
dt_copy_acio_tunables(adt_path, fdt_alias, usb4_rc_tunables,
|
||||
sizeof(usb4_rc_tunables) / sizeof(*usb4_rc_tunables));
|
||||
|
||||
memset(fdt_alias, 0, sizeof(fdt_alias));
|
||||
snprintf(fdt_alias, sizeof(fdt_alias), "usb4_%d_pcie_adapter", i);
|
||||
+ if (!fdt_get_alias(dt, fdt_alias))
|
||||
+ snprintf(fdt_alias, sizeof(fdt_alias), "usb4-%d-pcie-adapter", i);
|
||||
dt_copy_acio_tunables(adt_path, fdt_alias, usb4_pcie_adapter_tunables,
|
||||
sizeof(usb4_pcie_adapter_tunables) /
|
||||
sizeof(*usb4_pcie_adapter_tunables));
|
||||
|
||||
memset(fdt_alias, 0, sizeof(fdt_alias));
|
||||
snprintf(fdt_alias, sizeof(fdt_alias), "usb4_%d_nhi", i);
|
||||
+ if (!fdt_get_alias(dt, fdt_alias))
|
||||
+ snprintf(fdt_alias, sizeof(fdt_alias), "usb4-%d-nhi", i);
|
||||
dt_copy_acio_tunables(adt_path, fdt_alias, usb4_nhi_tunables,
|
||||
sizeof(usb4_nhi_tunables) / sizeof(*usb4_nhi_tunables));
|
||||
dt_copy_usb4_drom(adt_path, fdt_alias);
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻j�榻jLine truncated
|
||||
Binary file not shown.
Reference in new issue
Block a user