Fedora ISO with Apple T2 patches built-in (Macbooks produced >= 2018).
All available Apple T2 drivers are integrated with this iso. Most things work, besides those mentioned in not working section.
Kernel - https://github.com/mikeeq/mbp-fedora-kernel
Drivers:
Tested on: Macbook Pro 15,2 13" 2019 i5 TouchBar Z0WQ000AR MV972ZE/A/R1
Boot ROM Version: 220.270.99.0.0 (iBridge: 16.16.6571.0.0,0)
macOS Mojave: 10.14.6 (18G103)
Turn off secure boot - https://support.apple.com/en-us/HT208330
Download .iso from releases section - https://github.com/mikeeq/mbp-fedora/releases/latest
unzip
or extract them directly via 7z x
or 7za x
Burn the image on USB stick >=8GB via:
dd bs=4M if=/home/user/Downloads/livecd-fedora-mbp-201908181858.iso of=/dev/sdc conv=fdatasync status=progress
livecd-iso-to-disk
, because it's overwriting grub settingsInstall Fedora
Installing bootloader...
step, click Yes - It's related to efi=noruntime
kernel arg
# /tmp/anaconda.log
13:39:49,173 INF bootloader.grub2: bootloader.py: used boot args: resume=UUID=8a64abbd-b1a3-4d4a-85c3-b73800e46a1e rd.lvm.lv=fedora_localhost-live/root rd.lvm.lv=fedora_localhost-live/swap rhgb quiet
13:39:54,649 ERR bootloader.installation: bootloader.write failed: Failed to set new efi boot target. This is most likely a kernel or firmware bug.
Put wifi firmware files to /lib/firmware/brcm/
To install additional languages, install appropriate langpack via dnf dnf search langpack
After login you can update kernel by running sudo update_kernel_mbp
You can change mappings of ctrl, 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
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
modinfo apple_ib_tb
and use
echo 2 > /sys/class/input/*/device/fnmode
instead of the hid_apple
options. See
this issue
add Fedora icon to usb installer
alsa/pulseaudio config
## to manually change audio profile via PulseAudio cli execute
# to headphones output
pacmd set-card-profile $(pacmd list-cards | grep -B6 'alsa.card_name = "Apple T2 Audio"' | head -n1 | cut -d':' -f 2) output:codec-output+input:codec-input
# to speakers output
pacmd set-card-profile $(pacmd list-cards | grep -B6 'alsa.card_name = "Apple T2 Audio"' | head -n1 | cut -d':' -f 2) output:builtin-speaker+input:builtin-mic
disable iBridge network interface (awkward internal Ethernet device?)
disable not working camera device
➜ ls -l /sys/class/video4linux/
total 0
lrwxrwxrwx. 1 root root 0 Aug 23 15:14 video0 -> ../../devices/pci0000:00/0000:00:1d.4/0000:02:00.1/bce/bce/bce-vhci/usb7/7-2/7-2:1.0/video4linux/video0
lrwxrwxrwx. 1 root root 0 Aug 23 15:14 video1 -> ../../devices/pci0000:00/0000:00:1d.4/0000:02:00.1/bce/bce/bce-vhci/usb7/7-2/7-2:1.0/video4linux/video1
➜ cat /sys/class/video4linux/*/dev
81:0
81:1
verify brcmf_chip_tcm_rambase
returns
Network Configuration
step, probably due to iBridge internal network interfaceworkaround - it's a final step of installation, just reboot your Mac (installation is complete)
Wifi could have problems with connecting to secure networks (WPA2)
CTRL-EVENT-ASSOC-REJECT bssid= status_code=16
there are two workaround available:
## Run as root
modprobe -r brcmfmac; modprobe brcmfmac
### iwd is now installed by default installation instructions mentioned below are for older Fedora installations
## Run all commands as root
# Change wifi backend which NetworkManager is using
vi /etc/NetworkManager/conf.d/wifi_backend.conf
[device]
wifi.backend=iwd
# enable iwd autostart
systemctl enable iwd
# start iwd
/usr/libexec/iwd
systemctl start iwd
systemctl restart NetworkManager
## If you want to switch back to wpa_supplicant just remove/rename `/etc/NetworkManager/conf.d/wifi_backend.conf` file, i.e.:
mv /etc/NetworkManager/conf.d/wifi_backend.conf /etc/NetworkManager/conf.d/wifi_backend.conf_iwd
Macbooks with Apple T2 can't boot EFI binaries from HFS+ formatted ESP - only FAT32 (FAT32 have to be labelled as msftdata).
workaround applied - HFS+ ESP is reformatted to FAT32 in post-scripts step and labelled as
msftdata
efibootmgr write command freezes Mac (it's executed in Anaconda during Install bootloader...
step) - nvram is blocked from writing
efi=noruntime
to kernel argsefibootmgr --c -w -L Fedora /d /dev/nvme0n1 -p 3 -l \EFI\fedora\shimx64.efi
ctrl+x
is not working in GRUB, so if you are trying to change kernel parameters - start your OS by clicking ctrl+shift+f10
on external keyboardInstalling Fedora 31 on a 2018 Mac mini
: https://linuxwit.ch/blog/2020/01/installing-fedora-on-mac-mini/