Contents
Intro/status
MacBook Air and Pro, Mac Mini and Studio devices since the end of 2020 have been based on the ARM architecture (arm64). They all use variants of ARM chips commonly referred to as Apple Silicon.
Debian can be installed on ARM M1 and M2 Apple computers using open source software not yet included in the Debian archive. To do so, you need a Linux kernel with the patches written and maintained by the Asahi Linux project, the team working on reverse-engineering these platforms and porting Linux to them. At this point in time, both entry-level and professional users have been using ARM Macs with the Asahi port of Linux installed as their daily driver for years. Adding up all distribution stats, the total number of installations is in the tens of thousands. The port is considered to be mature, but the required kernel patches are not upstreamed yet, so Debian cannot officially support these platforms.
The Debian Bananas Team (pun intended) is the Debian team responsible for packaging and maintaining the software needed to run Debian on Apple Silicon machines. You can reach out to them on IRC/Matrix at #debian-bananas and/or by sending an email to the Debian ARM Apple porter mailing list.
The Bananas Team maintains an unofficial Debian repository, https://bananas-archive.debian.net, which contains all the software not already included in the Debian archive needed to run Debian on Apple Silicon. It also maintains an installer which can be used to install Debian on Apple machines relying on this repository. For information on how to use the repository and/or on how to install the Bananas port of Debian on Apple Silicon, see below.
Apple M3 and M4 Macs are not supported yet. For M1 and M2 device support, see this page.
The Asahi Linux project publishes in-detail documentation of the Apple Silicon platform at https://asahilinux.org/docs.
Software not packaged in Debian
Linux kernel
As of Linux 6.16, the Asahi fork of the Linux kernel includes slightly less than 1000 patches on top of the mainline kernel. Its source code lives at https://github.com/AsahiLinux/linux.
u-boot bootloader
While Debian does distribute a build of the u-boot bootloader compatible with Apple Silicon machines, the build in the Debian archive does not include a limited number of downstream patches needed for:
- installing more than one Linux operating systems on a single Mac,
- having a functional built-in keyboard on M2 laptops during the early boot stages (the keyboard works fine afterwards),
- having functional USB-A ports (thus, e.g., USB-A keyboards) on M2 Minis and Studios during the early boot stages (USB-A works fine afterwards).
If you have an M2 Mac and/or if you intend to install more than one Linux OS on your machine, you should consider installing the downstream Asahi fork of u-boot. Its source code lives at https://github.com/AsahiLinux/u-boot.
Mesa drivers
The Mesa drivers required for graphical acceleration using the M1/M2 GPUs were upstreamed in mesa 25.1 and included in the corresponding Debian package shortly afterwards (see this closed bug). Unfortunately, they missed Trixie by a couple of weeks. If you want to install Debian Trixie on your Apple machine, you'll need to build Mesa v25.1 or higher from source, or to rebuild the corresponding Debian package for Trixie.
Gaming stack
Work has not started on porting the Asahi gaming stack (libkrun + muvm + FEX + Steam) to Debian yet. If you're interested in working on it, feel free to get in touch with the Bananas Team.
The Bananas port
The Bananas Team distributes all software needed to run Debian on Apple Silicon -- but not upstreamed yet, and thus not suitable for inclusion in Debian proper -- in an unofficial deb repository called the Bananas archive. Just like the ordinary Debian archive, the Bananas archive is split up into multiple suites. There you will find both source and binary deb packages.
Installing and uninstalling
Installing the Bananas port using the Asahi installer
To install Debian on your Apple Silicon machine using the packages in the Bananas archive, you can use the Asahi installer distributed by the Bananas Team. Steps:
- Boot macOS.
- Open the Terminal application and execute the command
curl -L https://bananas.debian.net/install | sh
or, equivalently,curl -L https://bananas-archive.debian.net/install | sh
- Carefully follow the instructions displayed by the installer. When asked, choose how much space you want to free up from the macOS partition, what kind of OS you want to install (GNOME, KDE or console-only) and what name you want to give the new Linux entry in the Startup Disk selector.
- At the end of partitioning and image flashing, turn off the computer by hitting Enter when prompted and make sure it is actually off.
- Turn on the computer by pressing and holding down the power button until "Loading startup options" appears.
- Select the newly installed Debian startup disk.
- Enter your credentials if needed. Follow the instructions displayed by the installer and complete the installation. The computer will reboot to Debian.
Installing the Bananas port using the debian-installer
Official support for Apple Silicon machines cannot be added to the debian-installer until all the required kernel patches are merged upstream. Work is ongoing to build an unofficial debian-installer relying on the Bananas archive, but you should not hold your breath.
Installing alternative desktop environments
At this time only the GNOME and KDE desktop environments are officially supported. If you want to install an alternative desktop environment you are free to do so, but you will receive little to no support. Please note that X11 sessions -- thus X11 desktops -- are entirely unsupported on these platforms. If you decide to install an X11 desktop environment, you're on your own.
If you intend to install an alternative desktop environment on your Mac using the Bananas port, the best way to do so is to start from the minimal (console) installation, use the preinstalled tasksel program to install the desktop environment and then install the asahi-platform metapackage. This is needed to add audio support to minimal installations.
Uninstalling
See the Partitioning Cheatsheet included in the Asahi docs.
Bananas Archive
Contents
The Bananas archive contains source and binary deb packages of
Debian kernel's + the Asahi patches, see linux-asahi,
Debian's u-boot + the Asahi patches, see u-boot-asahi,
the Mesa drivers for Trixie, see mesa-asahi,
- various stuff needed for our experimental debian-installer, not used in the actual operating system nor in the Asahi installer.
We commit to keeping these buildable using the Debian toolchain, no external software needed.
Signing key
You will find the Bananas archive's public signing key at https://bananas-archive.debian.net/bananas-archive.
Bananas suites (for users)
trixie-bananas
To be used in addition to the Debian Trixie (13) sources. Add
Types: deb deb-src URIs: https://bananas-archive.debian.net/bananas-archive Suites: trixie-bananas Components: main Signed-By: /etc/apt/keyrings/bananas-archive-keyring.gpg
to your apt sources (e.g. to /etc/apt/sources.list.d/bananas.sources) and
Package: * Pin: release n=trixie-bananas Pin-Priority: 1050
to your apt preferences (e.g. to /etc/apt/preferences.d/bananas.pref).
unstable-bananas
To be used in addition to the Debian Testing sources. Add
Types: deb deb-src URIs: https://bananas-archive.debian.net/bananas-archive Suites: unstable-bananas Components: main Signed-By: /etc/apt/keyrings/bananas-archive-keyring.gpg
to your apt sources (e.g. to /etc/apt/sources.list.d/bananas.sources) and
Package: * Pin: release a=unstable-bananas Pin-Priority: 1050
to your apt preferences (e.g. to /etc/apt/preferences.d/bananas.pref).
Bananas suites (for developers and power testers)
Packages in these suites may be broken (even more or less intentionally). Only use them if you are a developer or power tester. If you use them, you are assumed to be able to recover from breakage on your own.
experimental-bananas
To be used in addition to the Debian Testing and unstable-bananas sources. Add
Types: deb deb-src URIs: https://bananas-archive.debian.net/bananas-archive Suites: experimental-bananas Components: main Signed-By: /etc/apt/keyrings/bananas-archive-keyring.gpg
to your apt sources (e.g. to /etc/apt/sources.list.d/bananas.sources) and
Package: * Pin: release a=experimental-bananas Pin-Priority: 1050
to your apt preferences (e.g. to /etc/apt/preferences.d/bananas.pref).
Reporting bugs
Bugs affecting the Bananas port (kernel, u-boot, Mesa drivers, installation images) must be reported to the Bananas Team. If you have even the slightest indication that your bug is not a generic Debian bug, but only affects the port, you must not use the Debian Bug Tracking System (https://bugs.debian.org). Instead, you should use the following bug trackers:
If you're not sure what component is responsible for the bug, feel free to use our generic Bananas Tracker.
Known issues (Bananas-port-only)
Despite downstream u-boot carrying patches for dealing with this, USB-A is currently broken at early boot time on some M2 desktops.
Identical OS images cannot be installed multiple times on the same machine.
Known issues
- X11 sessions are not and will never be supported. You may be able to install and use your favorite X11 desktop environment, but if it breaks you're on your own.
snapd was reported to cause soft kernel lockups on M2 Minis.
