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 (Linux Mint Debian Edition))
- 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
- Internet connection - either wired (using an USB Ethernet dongle or USB tethering from a phone) or wireless (using a Linux-compatible Wi-Fi adapter)
- External keyboard and mouse
!!! 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.
-
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. Make sure to select manual partitioning instead of letting the installer automatically manage partitions for you!
-
WARNING: MAKE SURE TO SELECT THE RIGHT PARTITION OR YOU MAY LOSE YOUR DATA. Find the partition you made for Linux during the Pre-installation step and delete it to make free space. You'll need to make these partitions:
-
You must create a
/("root") partition formatted as ext4 or btrfs. -
You may opt to 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 using a separate EFI partition, then you shall have to separate it out after installation by following this guide.For other installers, you need to mount
nvme0n1p1, or your separate EFI partition (whatever case applies to you) at/boot/efi. If the installer supports thebootflag, set it as well for your EFI partition.
-
-
Continue with the rest of the installation.
-
Once it's finished, reboot. You may remove your installation media. Hold down Option (⌥) while booting, then select EFI Boot 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
-
Now 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
-
-
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-config
Note: If your distro is using PulseAudio by default, consider switching to PipeWire as mentioned in the audio guide.
-
Follow the Wi-Fi guide to get internal Wi-Fi working.
After installing the new 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.