unset LC_CTYPE
unset LANG
-handle_crosscompile()
-{
- if [ "`uname -m`" != 'aarch64' ]; then
- export ARCH=arm64
- export CROSS_COMPILE=aarch64-linux-gnu-
- sudo apt install -y libc6-dev-arm64-cross
- fi
-}
+export M1N1_VERSION=1.4.11
+export KERNEL_VERSION=asahi-6.6-14
+export UBOOT_VERSION=asahi-v2023.07.02-4
build_linux()
{
(
- handle_crosscompile
test -d linux || git clone https://github.com/AsahiLinux/linux
cd linux
git fetch -a -t
- git reset --hard asahi-6.2-rc3-2;
+ git reset --hard $KERNEL_VERSION
+ git clean -f -x -d > /dev/null
cat ../../config.txt > .config
- make LLVM=${CLANG_VERSION} rustavailable
- make LLVM=${CLANG_VERSION} olddefconfig
- make -j `nproc` LLVM=${CLANG_VERSION} V=0 bindeb-pkg > /dev/null
+ make LLVM=-15 rustavailable
+ make LLVM=-15 olddefconfig
+ make -j `nproc` LLVM=-15 V=0 bindeb-pkg > /dev/null
)
}
test -d m1n1 || git clone --recursive https://github.com/AsahiLinux/m1n1
cd m1n1
git fetch -a -t
- git reset --hard v1.2.3;
- curl -sL https://tg.st/u/272.patch | git am -
+ git reset --hard v${M1N1_VERSION};
+ git clean -f -x -d > /dev/null
make -j `nproc`
)
}
build_uboot()
{
(
- handle_crosscompile
test -d u-boot || git clone https://github.com/AsahiLinux/u-boot
cd u-boot
git fetch -a -t
- git reset --hard asahi-v2022.10-1;
+ git reset --hard $UBOOT_VERSION
+ git clean -f -x -d > /dev/null
make apple_m1_defconfig
make -j `nproc`
package_boot_bin()
{
(
- export M1N1_VERSION=1.2.3-6
rm -rf m1n1_${M1N1_VERSION}_arm64
mkdir -p m1n1_${M1N1_VERSION}_arm64/DEBIAN m1n1_${M1N1_VERSION}_arm64/usr/lib/m1n1/
cp u-boot.bin m1n1_${M1N1_VERSION}_arm64/usr/lib/m1n1/boot.bin
Next to m1n1 this also contains the device trees and u-boot.
EOF
- cat > m1n1_${M1N1_VERSION}_arm64/DEBIAN/postinst <<EOF
+ cat > m1n1_${M1N1_VERSION}_arm64/DEBIAN/postinst <<'EOF'
#!/bin/bash
export PATH=/bin
)
}
-if type clang-15; then
- export CLANG_VERSION=-15
-elif type clang-11; then
- export CLANG_VERSION=-11
-fi
-
mkdir -p build
cd build