]> cvs.zerfleddert.de Git - m1-debian/blobdiff - README.md
bump kernel to not crosscompiled version
[m1-debian] / README.md
index 13ee08bf050695fa1b893cda81fa8a2b977ee8dc..0544e1838fd9d1750f3cf55b6e26cb90c183f589 100644 (file)
--- a/README.md
+++ b/README.md
@@ -11,10 +11,14 @@ problematic if you're using multiple ESP partitions for example when having
 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
 
@@ -38,7 +42,7 @@ The kernel header files can be found here: <https://thomas.glanzmann.de/asahi/>
 * 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
@@ -116,7 +120,7 @@ Than open a terminal, and run the following commands:
 
 # FAQ
 
-*  If I install Debian, will it still be relatively easy to update the Asahi work as it develops?
+## If I install Debian, will it be easy to update the Asahi work as it develops?
 
 Yes, long answer below.
 
@@ -139,3 +143,63 @@ 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
+
+- Build a kernel that is not cross compiled. Because the cross compiled header
+  package does contain the fixtool for the wrong architecture at the moment and
+  install the resulting kernel deb and headers and boot into it:
+
+        ./m1n1_uboot_kernel.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.
Impressum, Datenschutz