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
+}
+
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.1-rc8-3;
+ git reset --hard origin/asahi-wip;
+ curl -sL https://tg.st/u/5ec32cdb6555bf935fd621ef8923410a1f51b5b9.patch | git am -
cat ../../config.txt > .config
- make LLVM=-15 rustavailable
- make LLVM=-15 olddefconfig
- make -j `nproc` LLVM=-15 V=0 bindeb-pkg > /dev/null
+ make LLVM=${CLANG_VERSION} rustavailable
+ make LLVM=${CLANG_VERSION} olddefconfig
+ make -j `nproc` LLVM=${CLANG_VERSION} 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;
+ git reset --hard v1.2.6;
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 asahi-v2023.01-3;
make apple_m1_defconfig
make -j `nproc`
package_boot_bin()
{
(
- export M1N1_VERSION=1.2.3-2
+ export M1N1_VERSION=1.2.6-3
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