Debian and Ubuntu/Mint kernel with Apple T2 patches built-in. This repo will try to keep up with kernel new releases.
This project is closely inspired by mikeeq/mbp-fedora-kernel and marcosfad/mbp-ubuntu-kernel. Thank you @mikeeq and @marcosfad for the scripts and setup.
Special thanks to @Redecorating for the CI.
If this repo helped you in any way, consider inviting a coffee to the people in the credits (links given here).
Firstly add the t2-ubuntu-repo apt repo. You need to follow these steps to add it:
-
Identify your release codename. It is:
a)
jammy
for Ubuntu 22.04b)
noble
for Ubuntu 24.04c)
oracular
for Ubuntu 24.10d)
bookworm
for Debian 12e)
sid
for Debian unstableYou can also run
lsb_release -a
to identify your codename. -
Run the following (taking
noble
as the example, just replace it with your release codename in the first line):
CODENAME=noble
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"
echo "deb [signed-by=/etc/apt/trusted.gpg.d/t2-ubuntu-repo.gpg] https://github.com/AdityaGarg8/t2-ubuntu-repo/releases/download/${CODENAME} ./" | sudo tee -a /etc/apt/sources.list.d/t2.list
sudo apt update
Currently, 2 types of kernel variants are available. You can use anyone as per your choice:
-
Mainline kernels:
If you want to install Mainline kernels, install
linux-t2
package:sudo apt install linux-t2
-
LTS kernels:
If you want to install LTS kernels, install
linux-t2-lts
package:sudo apt install linux-t2-lts
-
Mainline Xanmod kernels:
If you want to install Mainline Xanmod kernels, install
linux-t2-xanmod
package:sudo apt install linux-t2-xanmod
-
LTS Xanmod kernels:
If you want to install LTS Xanmod kernels, install
linux-t2-xanmod-lts
package:sudo apt install linux-t2-xanmod-lts
Now, whenever a new kernel is released, you can use Software updater or run sudo apt upgrade
to get it.
If you want to change the kernel variant, say from Mainline to LTS, first install the package of the kernel, and then remove the current kernel. Eg, if you wanna switch to LTS from Mainline, run:
sudo apt install linux-t2-lts
sudo apt remove linux-headers-$(uname -r) linux-image-$(uname -r)
Simply replace linux-t2-lts
in the above command with the kernel variant you want to use.
Download the .deb packages of linux-headers and linux-image of the kernel you wish to install from the releases section.
Install linux-headers first and then linux-image using apt
and restart your Mac. In case you do not know how to do so, follow the instructions given below. Else you are good to go.
On terminal, type sudo apt install
and then drag and drop the linux-headers file to the terminal and press enter/return key.
Do the similar process for linux-images package.
Restart your Mac.
Clone the repo using
git clone https://github.com/t2linux/T2-Debian-and-Ubuntu-Kernel
Open a terminal window and run
cd T2-Debian-and-Ubuntu-Kernel
sudo ./build.sh
The kernel shall take around an hour to compile. After that you shall find three .deb packages in /root/work
.
Install the linux-headers package first using apt
. In case you do not know how to do so, follow the instructions described in the above The easy way section. Similarly install the linux-image package too.
Restart your Mac.
You may then delete the /root/work
directory using sudo rm -r /root/work
to free up space.
- Discord: https://discord.gg/Uw56rqW
- WiFi firmware:
- blog
Installing Fedora 31 on a 2018 Mac mini
: https://linuxwit.ch/blog/2020/01/installing-fedora-on-mac-mini/ - iwd:
- https://wiki.ubuntu.com/KernelTeam/GitKernelBuild
- https://help.ubuntu.com/community/Repositories/Personal
- https://medium.com/sqooba/create-your-own-custom-and-authenticated-apt-repository-1e4a4cf0b864
- https://help.ubuntu.com/community/Kernel/Compile
- https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
- https://www.linux.com/training-tutorials/kernel-newbie-corner-building-and-running-new-kernel/
- https://wiki.ubuntu.com/KernelTeam/KernelMaintenance
- @Redecorating - thanks for editing the scripts and CI for Ubuntu
- @fishpm-anu - thanks for the kernel upgrade script
- @marcosfad - thanks for the original script for Ubuntu
- @MCMrARM - thanks for all RE work
- @ozbenh - thanks for submitting NVME patch
- @roadrunner2 - thanks for SPI (touchbar) driver
- @aunali1 - thanks for ArchLinux Kernel CI and active support
- @jamlam - thanks for providing the Correlium wifi patch
- @ppaulweber - thanks for keyboard and Macbook Air patches
- @mikeeq - thanks for the fedora kernel project and compilation scripts