]> cvs.zerfleddert.de Git - m1-debian/blobdiff - README.md
bump rust version
[m1-debian] / README.md
index dc36cf7aae512581a46a743ae2d8b17499112da5..f9813ee845a9a7d7df48510dbe6fba131fa13ab7 100644 (file)
--- a/README.md
+++ b/README.md
@@ -2,13 +2,23 @@ This pages explains how to install Debian on Apple Silicon machines.
 
 # Tripwires
 The USB-A Port on the Mac Mini will not work in u-boot and grub.  The two
 
 # Tripwires
 The USB-A Port on the Mac Mini will not work in u-boot and grub.  The two
-additional USB-3 ports on the iMac 4 port model also don't work in u-boot, grub
+additional USB-3 ports on the iMac 4 port model don't work in u-boot, grub
 and Linux. In order to install Linux on a FileVault-enabled Mac run the
 installer from Recovery open Disk Utility > Expanding "Macintosh HD" >
 and Linux. In order to install Linux on a FileVault-enabled Mac run the
 installer from Recovery open Disk Utility > Expanding "Macintosh HD" >
-Selecting locked volume > click "Mount".
+Selecting locked volume > click "Mount". Debian does not include the choosen
+EFI patch. As a result it will always pick the first ESP partition. This can be
+problematic if you're using multiple ESP partitions for example when having
+multiple Linux and BSD installations.
 
 # Artefacts
 
 # 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:
+
+        - 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
 
 
 # Asahi installer
 
@@ -32,7 +42,7 @@ If you don't want to use the prebuild artefacts, you can build them yourself usi
 * 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
 * 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
         vi /etc/network/interfaces
 
 * Reboot to see if grub was correctly installed
@@ -41,6 +51,7 @@ If you don't want to use the prebuild artefacts, you can build them yourself usi
 
 * Install a desktop environment for example blackbox
 
 
 * Install a desktop environment for example blackbox
 
+        apt-get update
         apt-get install -y xinit blackbox xterm firefox-esr lightdm
 
 * Create yourself an unprivileged user
         apt-get install -y xinit blackbox xterm firefox-esr lightdm
 
 * Create yourself an unprivileged user
@@ -70,14 +81,13 @@ If you don't want to use the prebuild artefacts, you can build them yourself usi
 
         # Identify the usb stick device
         lsblk
 
         # Identify the usb stick device
         lsblk
+
         DEVICE=/dev/sdX
         parted -a optimal $DEVICE mklabel msdos
         parted -a optimal $DEVICE mkpart primary fat32 2048s 100%
         mkfs.vfat ${DEVICE}1
         DEVICE=/dev/sdX
         parted -a optimal $DEVICE mklabel msdos
         parted -a optimal $DEVICE mkpart primary fat32 2048s 100%
         mkfs.vfat ${DEVICE}1
-
-        mount /dev/sdX1 /mnt
-        cd /mnt
-        curl -sL https://tg.st/u/asahi-debian-live.tar | tar -xf -
+        mount ${DEVICE}1 /mnt
+        curl -sL https://tg.st/u/asahi-debian-live.tar | tar -C /mnt -xf -
         umount /mnt
 
 In order to format the usb stick under Macos, open the disk utility, right-click on the usb stick (usually the lowest device in the list) and select erase. Choose the following options:
         umount /mnt
 
 In order to format the usb stick under Macos, open the disk utility, right-click on the usb stick (usually the lowest device in the list) and select erase. Choose the following options:
@@ -94,7 +104,7 @@ Than open a terminal, and run the following commands:
 
 * You need to run the asahi installer and have either an OS installed or m1n1+UEFI.
 
 
 * You need to run the asahi installer and have either an OS installed or m1n1+UEFI.
 
-* If you have a EFI binary on the NVMe and want to boot from the usb stick, you need to interrupt u-boot on the countdoun by pressing any key and run the following comamnd to boot from usb:
+* If you have a EFI binary on the NVMe and want to boot from the usb stick, you need to interrupt u-boot on the countdown by pressing any key and run the following comamnd to boot from usb:
 
         run bootcmd_usb0
 
 
         run bootcmd_usb0
 
@@ -110,16 +120,23 @@ Than open a terminal, and run the following commands:
 
 # FAQ
 
 
 # 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.
 
 To update the kernel to the lastest "stable" asahi branch you need to run
 as root:
 
 
 Yes, long answer below.
 
 To update the kernel to the lastest "stable" asahi branch you need to run
 as root:
 
-        curl -sL https://tg.st/u/ksh | bash
+        apt update
+        apt upgrade
+
+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:
 
 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:
 
@@ -130,3 +147,57 @@ 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.
 
 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.
Impressum, Datenschutz