multiple Linux and BSD installations.
# Artefacts
-If you don't want to use the prebuild artefacts, you can build them yourself using the [bootstrap.sh](https://git.zerfleddert.de/cgi-bin/gitweb.cgi/m1-debian/blob_plain/refs/heads/master:/bootstrap.sh) script.
+If you don't want to use the prebuild artefacts, you can build them yourself
+using the following scripts:
-# Kernel header files
-The kernel header files can be found here: <https://thomas.glanzmann.de/asahi/>
+ - prepare_rust.sh - Prepares a rust installation suitable for kernel compilation
+ - m1n1_uboot_kernel.sh - Builds m1n1, u-boot and the kernel including gpu support.
+ - mesa.sh - Creates mesa packages
+ - bootstrap.sh - Creates Debian root and live filesystem
+ - meta.sh - Meta package which makes sure that we always get latest and greatest kernel.
# Asahi installer
* Configure wifi by editing the wpa_supplicant.conf, enabling the interface and remove the # before allow-hotplug to enable it during boot.
vi /etc/wpa_supplicant/wpa_supplicant.conf
- ifup wlp1s0f0
+ ifup wlan0
vi /etc/network/interfaces
* Reboot to see if grub was correctly installed
# FAQ
-* If I install Debian, will it still be relatively easy to update the Asahi work as it develops?
+## Are you still maintaining this?
+
+Yes, I do and will continue doing this until there is an official Debian installer.
+
+## If I install Debian, will it be easy to update the Asahi work as it develops?
Yes, long answer below.
For installations before 2022-12-12, see <https://thomas.glanzmann.de/asahi/README.txt>
-Later it might be necessary to upgrade the stub parition in order to
+Later it might be necessary to upgrade the stub partion in order to
support the GPU code. As soon as that happens, I'll add the
instructions and a video in order to do so, but short version is:
So, you never need to reinstall Debian. Kernel updates are easy, stub
updates are a little bit more cumbersome but also seldom.
+
+## How do I compile zfs on apple silicon debian?
+
+- In order to build zfs you need the rust environment. So from the m1-debian
+ repository you have to run these scripts:
+
+ ./dependencies.sh
+ ./prepare_rust.sh
+
+- Prepare your zfs build environment. You need to replace
+ /home/sithglan/work/m1-debian with your path to
+ your m1-debian checkout:
+
+ export CARGO_HOME="/home/sithglan/work/m1-debian/build/cargo"
+ export RUSTUP_HOME="/home/sithglan/work/m1-debian/build/rust"
+ source "/home/sithglan/work/m1-debian/build/cargo/env"
+
+- You have to specify the default rust version:
+
+ rustup default 1.68.2
+
+- Tell zfs which version of clang you use to compile the kernel:
+
+ export KERNEL_LLVM=-15
+
+- Checkout ZFS:
+
+ git clone https://github.com/openzfs/zfs
+ cd ./zfs
+ git checkout master
+
+- Apply the following patch:
+
+ diff --git a/META b/META
+ index 3919b0d..67c9f7d 100644
+ --- a/META
+ +++ b/META
+ @@ -4,7 +4,7 @@ Branch: 1.0
+ Version: 2.2.99
+ Release: 1
+ Release-Tags: relext
+ -License: CDDL
+ +License: GPL
+ Author: OpenZFS
+ Linux-Maximum: 6.4
+ Linux-Minimum: 3.10
+
+- Build ZFS:
+
+ sh autogen.sh
+ ./configure
+ make -s -j$(nproc)
+
+- Follow the instructions on <https://openzfs.github.io/openzfs-docs/Developer%20Resources/Building%20ZFS.html> how to install it.