]> git.zerfleddert.de Git - m1-debian/blame - gpu.sh
package m1n1
[m1-debian] / gpu.sh
CommitLineData
9ac5deac
TG
1#!/usr/bin/env bash
2
3# SPDX-License-Identifier: MIT
4
5set -o errexit
6set -o nounset
7set -o pipefail
8set -o xtrace
9
10cd "$(dirname "$0")"
11
12unset LC_CTYPE
13unset LANG
14
15build_linux()
16{
17(
18 test -d linux || git clone https://github.com/AsahiLinux/linux
19 cd linux
20 git fetch -a -t
22c32429 21 git reset --hard asahi-6.1-rc8-3;
9ac5deac 22 source "$HOME/.cargo/env"
22c32429 23 cat ../../config-gpu.txt > .config
e4d5f3b0
TG
24 make LLVM=-15 olddefconfig
25 make -j `nproc` LLVM=-15 V=0 bindeb-pkg > /dev/null
9ac5deac
TG
26)
27}
28
29build_m1n1()
30{
31(
32 test -d m1n1 || git clone --recursive https://github.com/AsahiLinux/m1n1
33 cd m1n1
34 git fetch -a -t
22c32429 35 git reset --hard v1.2.2;
9ac5deac
TG
36 make -j `nproc`
37)
38}
39
40build_uboot()
41{
42(
43 test -d u-boot || git clone https://github.com/AsahiLinux/u-boot
44 cd u-boot
45 git fetch -a -t
46 git reset --hard asahi-v2022.10-1;
47
48 make apple_m1_defconfig
49 make -j `nproc`
50)
51 cat m1n1/build/m1n1.bin `find linux/arch/arm64/boot/dts/apple/ -name \*.dtb` <(gzip -c u-boot/u-boot-nodtb.bin) > u-boot.bin
9ac5deac
TG
52}
53
ce492006
TG
54package_boot_bin()
55{
56(
57 export M1N1_VERSION=1.2.2-1
58 rm -rf m1n1_${M1N1_VERSION}
59 mkdir -p m1n1_${M1N1_VERSION}/DEBIAN m1n1_${M1N1_VERSION}/usr/lib/m1n1/
60 cp u-boot.bin m1n1_${M1N1_VERSION}/usr/lib/m1n1/boot.bin
61cat > m1n1_${M1N1_VERSION}/DEBIAN/control <<EOF
62Package: m1n1
63Version: $M1N1_VERSION
64Section: base
65Priority: optional
66Architecture: arm64
67Maintainer: Thomas Glanzmann <thomas@glanzmann.de>
68Description: Apple silicon boot loader
69 Next to m1n1 this also contains the device trees and u-boot.
70EOF
71
72cat > m1n1_${M1N1_VERSION}/DEBIAN/postinst <<EOF
73#!/bin/bash
74
75export PATH=/bin
76cp /boot/efi/m1n1/boot.bin /boot/efi/m1n1/`date +%Y%m%d%H%M`.bin
77cp /usr/lib/m1n1/boot.bin /boot/efi/m1n1/
78EOF
79
80chmod 755 m1n1_${M1N1_VERSION}/DEBIAN/postinst
81)
82 dpkg-deb --build m1n1_${M1N1_VERSION}
83}
84
9ac5deac
TG
85mkdir -p build
86cd build
87
5a6d8c66 88build_linux
9ac5deac
TG
89build_m1n1
90build_uboot
ce492006 91package_boot_bin
Impressum, Datenschutz