+
+# FAQ
+
+## Why has there been no kernel update?
+
+For Debian stable I'm currently unable to update the kernel due to the fact
+that the kernel requires new mesa packages and the new mesa package needs too
+many dependencies which are not in Debian stable and I'm not willing to add
+that many new packages. So I recommend that if you want the latest asahi
+kernel, mesa, sound and other packages, switch to testing and use Thomas
+Renards packages for testing. <https://wiki.debian.org/Teams/Bananas>
+
+## How to enable spakers?
+
+Currently speakers are only supported on M1 air. Install the necessary packages:
+
+ apt update
+ apt upgrade -y
+ apt dist-upgrade -y
+ apt install -y alsa-ucm-conf-asahi speakersafetyd
+ reboot
+
+After the reboot I need to restart the speakersafetyd in order to hear sound out of the speakers:
+
+ sudo systemctl restart speakersafetyd
+
+## Does it work on M2?
+
+Yes, M3 is not yet supported.
+
+## 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:
+
+ 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 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:
+
+ - Backup /boot/efi/EFI
+ - Delete the old stub and efi/esp partition
+ - Rerun the asahi installer with m1n1+u-boot option
+ - Put the /boot/efi/EFI back
+
+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"
+
+- 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.
+
+## What about gnome?
+
+You need an unpriviledged user to log in. You should delete /etc/network/interfaces in order to manage the network under gnome. If you don't have an US keyboard, you can change the settings in Gnome > Settings > Keyboard.
+