This guide will help you in installing a Debian or Ubuntu-based Linux distro that does not have a modified ISO with T2 support.
Some popular distros include:
- Linux Mint (Ubuntu-based | Debian-based if using LMDE)
- Pop!_OS (Ubuntu-based)
- elementary OS (Ubuntu-based)
- Debian (Debian)
- Zorin OS (Ubuntu-based)
- Kali Linux (Debian-based)
- Other Ubuntu flavours like Kubuntu, Ubuntu Unity etc. (Ubuntu-based)
-
USB-C to USB-A adapter
May be required to connect various hardware (e.g. a wire to your phone, wireless Wi-Fi dongle etc.)
-
Internet connection - either wired (using an USB Ethernet dongle or USB tethering from a phone) or wireless (using a Linux-compatible Wi-Fi adapter)
The internal Wi-Fi does not work without the T2 kernel. Note that you will be able to setup internal Wi-Fi after you install and setup the T2 kernel. More on this later in the guide.
-
External keyboard and mouse
Required as the internal keyboard and trackpad do not work without the T2 kernel.
!!! Warning "Installation fails when installing the bootloader (e.g. GRUB)"
It is possible that during installation, when the bootloader (GRUB in most cases) is being installed, the installation may fail. This is because the distro's ISO is using an old Linux kernel which doesn't support writing to the NVRAM of T2 Macs. In such a case, boot into the ISO again. When the initial menu gets displayed having options to try/install the distro, press "e" on the option you otherwise would have chosen to install. This will open the command line. Add efi=noruntime to the command line and press "F10" to boot. This should fix the issue.
!!! Warning "Pop!_OS incorrect partition sizes" Due to a bug in the Pop!_OS installer, the partition sizes shown by it are incorrect when using manual partitioning. As a workaround you may follow the instructions given in this GitHub issue in the live ISO environment to fix the installer and then start the installation.
- Follow the Pre-installation steps to prepare your Mac for installation.
- Flash your chosen Debian or Ubuntu-based distro to a USB drive.
-
First steps
- Boot into the Live ISO. In the GRUB boot menu, select the option relevant to you.
- Start the installer and go through it like normal. When you get the option to, make sure to select manual partitioning! (instead of letting the installer automatically manage partitions for you)
-
Partitioning
Find the partition you made for Linux during the Pre-installation step and delete it to make free space. (WARNING: MAKE SURE TO SELECT THE RIGHT PARTITION OR YOU MAY LOSE YOUR DATA. )
You will then need to follow these steps:
-
You must create a
/("root") partition formatted as ext4 or btrfs. -
You may optionally make separate partitions for
/home,/boot, swap etc. as you would normally. -
If
ubiquityis the installer used by your distro (used by Ubuntu, Linux Mint and other similar distros), then you can leave EFI Boot alone. If you are usiwant to use a separate EFI partition, then you have to separate it after installation by following this guide.For other installers, you need to mount either
nvme0n1p1or your separate EFI partition at/boot/efi. If the installer supports thebootflag, set it as well for your EFI partition.
-
-
Continuing the installation
Continue with the rest of the installation. Once it successfully finishes, shutdown. You may remove your installation media.
Hold down Option (⌥) while booting, then select EFI Boot (make sure it has the internal disk icon) and press enter.
After installation, you need to install a kernel with patches with T2 support (needed for the internal keyboard, trackpad, touchbar, audio, Wi-Fi etc. to work).
Steps:
-
Boot into your new installation.
-
Connect to the internet using Ethernet / USB tethering / an external Wi-Fi adapter.
-
Add the t2-ubuntu-repo apt repo by running:
curl -s --compressed "https://adityagarg8.github.io/t2-ubuntu-repo/KEY.gpg" | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/t2-ubuntu-repo.gpg >/dev/null sudo curl -s --compressed -o /etc/apt/sources.list.d/t2.list "https://adityagarg8.github.io/t2-ubuntu-repo/t2.list" sudo apt update
-
Install the kernel upgrade script:
- If your distro is Ubuntu-based, run
sudo apt install t2-kernel-script - If your distro is Debian-based, run
sudo apt install t2-kernel-script-debian
- If your distro is Ubuntu-based, run
-
Then upgrade your kernel to a T2 kernel by running
update_t2_kernel -
Install the audio configuration files by running
sudo apt install apple-t2-audio-configNote: If your distro is using PulseAudio by default, consider switching to PipeWire for a better experience. For this, follow the audio guide.
-
Follow the Wi-Fi guide to get internal Wi-Fi working.
After installing the T2 kernel, follow the Basic setup guide. You mainly have to follow the Add necessary kernel parameters and Make modules load on boot sections. If using disk encryption (LUKS), then follow the Make modules load on early boot section as well. The rest has been set up automatically by the kernel upgrade script.