]> git.zerfleddert.de Git - m1-debian/blame - gpu.sh
make m1n1 package compatible with new way to package things
[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
59b40e06 35 git reset --hard v1.2.3;
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(
b5a41dd1 57 export M1N1_VERSION=1.2.3-2
59b40e06
TG
58 rm -rf m1n1_${M1N1_VERSION}_arm64
59 mkdir -p m1n1_${M1N1_VERSION}_arm64/DEBIAN m1n1_${M1N1_VERSION}_arm64/usr/lib/m1n1/
60 cp u-boot.bin m1n1_${M1N1_VERSION}_arm64/usr/lib/m1n1/boot.bin
61 cat <<EOF > m1n1_${M1N1_VERSION}_arm64/DEBIAN/control
ce492006
TG
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
59b40e06 72 cat > m1n1_${M1N1_VERSION}_arm64/DEBIAN/postinst <<EOF
ce492006
TG
73#!/bin/bash
74
75export PATH=/bin
b5a41dd1
TG
76if [ -f /boot/efi/m1n1/boot.bin ]; then
77 cp /boot/efi/m1n1/boot.bin /boot/efi/m1n1/`date +%Y%m%d%H%M`.bin
78fi
79mkdir -p /boot/efi/m1n1/
ce492006
TG
80cp /usr/lib/m1n1/boot.bin /boot/efi/m1n1/
81EOF
82
59b40e06
TG
83 chmod 755 m1n1_${M1N1_VERSION}_arm64/DEBIAN/postinst
84 dpkg-deb --build m1n1_${M1N1_VERSION}_arm64
cd6d1106 85)
ce492006
TG
86}
87
9ac5deac
TG
88mkdir -p build
89cd build
90
5a6d8c66 91build_linux
9ac5deac
TG
92build_m1n1
93build_uboot
ce492006 94package_boot_bin
Impressum, Datenschutz