T2-Ubuntu
The ISOs from this repo should allow you to install Ubuntu without using an external keyboard or mouse on a T2 Mac.
If this repo helped you in any way, consider inviting a coffee to the people in the credits, link.
Ubuntu ISO with Apple T2 patches built-in. Now we also support kubuntu thanks to @lemmyg!
Apple T2 drivers are integrated with this iso.
This repo is a rework of the great work done by @mikeeq. It originally was @marcosfad's mbp-ubuntu repo and has been transferred to t2linux.
Kernel is being used from - https://github.com/t2linux/T2-Ubuntu-Kernel
Using additional patches to support T2 Macs - https://github.com/t2linux/linux-t2-patches
Bootloader is configure correctly out of the box. No workaround needed.
Installation
- Reduce the size of the mac partition in MacOS
- Download ISO file from releases.
- Copy it to a USB using dd (or gdd if installed over brew):
diskutil list # found which number has the USB
diskutil umountDisk /dev/diskX
sudo gdd bs=4M if=ubuntu-20.04-5.6.10-mbp.iso of=/dev/diskX conv=fdatasync status=progress
- Boot in Recovery mode and allow booting unknown OS
- Restart and immediately press the option key until the Logo come up
- Select "EFI Boot" (the third option was the one that worked for me)
- Launch Ubuntu Live
- Use Ubiquity to install (just click on it)
- Select the options that work for you and use for the partition the following setup:
- Leave the efi boot as preselected by the installer, unless you require a separate efi partition.
- Add a ext4 partition and monted as
/
. - Swap and other partitions are optional.
- Run the installer.
- Shutdown and remove the USB Drive.
- Start again using the option key. Select the new efi boot.
- Enjoy.
Configuration
- See https://wiki.t2linux.org/guides/wifi/
- To install additional languages, install appropriate langpack via apt
sudo apt-get install language-pack-[cod] language-pack-gnome-[cod] language-pack-[cod]-base language-pack-gnome-[cod]-base
- You can change mappings of ctrl, fn, option keys (PC keyboard mappings) by creating
/etc/modprobe.d/hid_apple.conf
file and recreating grub config. All available modifications could be found here: https://github.com/free5lot/hid-apple-patched
# /etc/modprobe.d/hid_apple.conf
options hid_apple swap_fn_leftctrl=1
options hid_apple swap_opt_cmd=1
MISC
Activate Grub Menu
For the people who want to have a menu, they can modify /etc/default/grub
with the following changes:
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
and then:
sudo update-grub
Update to newer kernels
Follow this guide.
Know issues
- Checksum is failing for 2 files: md5sum.txt and /boot/grub/bios.img
Not working (Following the mikeeq/mbp-fedora)
- Dynamic audio input/output change (on connecting/disconnecting headphones jack)
- TouchID
- Thunderbolt (is disabled, because driver was causing kernel panics (not tested with 5.5 kernel))
- Microphone (it's recognised with new apple t2 sound driver, but there is a low mic volume amp)
Known issues
ctrl+x
is not working in GRUB, so if you are trying to change kernel parameters - start your OS by pressingF10
on external keyboard
Docs
- Discord: https://discord.gg/Uw56rqW Shout out to the great community support. If you are not there yet, you must definitely join us.
- Linux on a MBP Late 2016: https://gist.github.com/gbrow004/096f845c8fe8d03ef9009fbb87b781a4
- Repack Bootable ISO: https://wiki.debian.org/RepackBootableISO
- https://github.com/syzdek/efibootiso
Ubuntu
- https://help.ubuntu.com/community/LiveCDCustomization
- https://itnext.io/how-to-create-a-custom-ubuntu-live-from-scratch-dd3b3f213f81
- https://help.ubuntu.com/community/LiveCDCustomizationFromScratch
- https://help.ubuntu.com/community/InstallCDCustomization
- https://linuxconfig.org/legacy-bios-uefi-and-secureboot-ready-ubuntu-live-image-customization
Github
- GitHub issue (RE history): Dunedan/mbp-2016-linux#71
- VHCI+Sound driver (Apple T2): https://github.com/MCMrARM/mbp2018-bridge-drv/
- hid-apple keyboard backlight patch: https://github.com/MCMrARM/mbp2018-etc
- alsa/pulseaudio config files: https://gist.github.com/MCMrARM/c357291e4e5c18894bea10665dcebffb
- TouchBar driver: https://github.com/roadrunner2/macbook12-spi-driver/tree/mbp15
- Kernel patches (all are mentioned in github issue above): https://github.com/aunali1/linux-mbp-arch
- ArchLinux kernel patches: https://github.com/ppaulweber/linux-mba
- ArchLinux installation guide: https://gist.github.com/TRPB/437f663b545d23cc8a2073253c774be3
- hid-apple-patched module for changing mappings of ctrl, fn, option keys: https://github.com/free5lot/hid-apple-patched
- Audio configuration: https://gist.github.com/kevineinarsson/8e5e92664f97508277fefef1b8015fba
- Ubuntu in MBP16: https://gist.github.com/gbrow004/096f845c8fe8d03ef9009fbb87b781a4
Credits
- @mikeeq - thanks for the amazing work in mbp-fedora
- @marcosfad - thanks for the original work in mbp-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, the continuous support on discord and your continuous efforts.
- @ppaulweber - thanks for keyboard and Macbook Air patches
- @kevineinarsson - thanks for the audio settings