ProHoster > Blog > Pulega > Faia o le MacBook Pro 2018 T2 galue ma ArchLinux (dualboot)
Faia o le MacBook Pro 2018 T2 galue ma ArchLinux (dualboot)
O loʻo i ai le tele o faʻasalalauga e uiga i le mea moni o le T2 chip fou o le a le mafai ai ona faʻapipiʻi Linux i luga o le 2018 MacBooks fou ma se paʻu paʻu. Na mavae le taimi, ma i le faaiuga o le 2019, na faʻatinoina e le au atinaʻe lona tolu le tele o avetaʻavale ma paʻu fatu mo fegalegaleaiga ma le T2 pu. O le avetaʻavale autu mo MacBook faʻataʻitaʻiga 2018 ma fou faʻaaogaina VHCI faʻaogaina (paʻi / keyboard / etc. galuega), faʻapea foʻi ma le faʻaogaina lelei.
BCE (Buffer Copy Engine) - fa'atuina le ala feso'ota'iga autu ma le T2. VHCI ma Audio e manaʻomia lenei vaega.
VHCI o le USB Virtual Host Controller; o le piano, isumu ma isi vaega o loʻo tuʻuina atu e lenei vaega (o isi avetaʻavale e faʻaaogaina lenei pule talimalo e tuʻuina atu ai le tele o galuega.
Leo - aveta'avale mo le T2 fa'alogo fa'alogo, o lo'o lagolagoina i le taimi nei na'o le fa'alogo leo e ala i le fa'aogaina o le MacBook
O le galuega lona lua ua ta'ua macbook12-spi-taavale, ma fa'atino ai le tomai e fa'agaioi ai se aveta'avale fa'aoga mo le piano, SPI trackpad, ma le pa'i mo MacBook Pro Late 2016 ma mulimuli ane. O nisi ta'avale keyboard/trackpad o lo'o aofia nei i totonu o le fatu, amata i le version 5.3.
Lagolago mo masini e pei o le wi-fi, touchpad, ma isi sa faʻatinoina foi e faʻaaoga ai patches kernel. Fa'asologa o le fatu o lo'o iai nei5.3.5-1
O le a le mea o loʻo galue i le taimi nei
NVMe
Keyboard
USB-C (Thunderbolt e leʻi faʻataʻitaʻiina, pe a otometi le utaina o le module, e faʻamalo le faiga)
Touchbar (fa'atasi ai ma le malosi e ki ai ki Fn, moli tua, ESC, ma isi)
Leo (na'o sipika o lo'o i totonu)
Wi-Fi module (e ala i le brcmfmac ma na'o le iw)
DisplayPort i luga ole USB-C
Sensors
Taofi/Fa'aauau (vaega)
ma isi.
O lenei a'oa'oga e talafeagai mo macbookpro15,1 ma macbookpro15,2. O le tusiga na ave o se faavae mai Github i le Igilisi. mai iinei. E leʻo aoga mea uma i lenei tusiga, o lea na tatau ai ona ou suʻeina aʻu lava fofo.
Mea e te manaʻomia e faʻapipiʻi
Feso'ota'iga fa'apipi'i USB-C i le USB (a itiiti ifo ma le tolu fa'aoga USB mo le fa'afeso'ota'i o le isumu, keyboard, modem USB po'o le telefoni ile fa'aogaina o le fa'aogaina). E naʻo le mea e manaʻomia i le taimi muamua o le faʻapipiʻiina
USB keyboard
USB/USB-C flash drive la'ititi 4GB
1. Fa'agata le fa'asa o le fa'aosoina mai fa'asalalauga fafo
cp -r /usr/share/archiso/configs/releng/ archlive
cd archlive
Fa'aopoopo le faleteuoloa ile pacman.conf:
[mbp]
Server = https://packages.aunali1.com/archlinux/$repo/$arch
Matou te le amanaiaina le fatu muamua i pacman.conf:
IgnorePkg = linux linux-headers
Faʻaopoopo pusa manaʻomia, i le faaiuga faʻaopoopo le linux-mbp kernel ma linux-mbp-headers
...
wvdial
xl2tpd
linux-mbp
linux-mbp-headers
Matou te suia le tusitusiga e galue i le faiga faʻafesoʻotaʻi (sui pacstrap -C ma pacstrap -i -C):
sudo nano /usr/bin/mkarchiso
# Install desired packages to airootfs
_pacman ()
{
_msg_info "Installing packages to '${work_dir}/airootfs/'..."
if [[ "${quiet}" = "y" ]]; then
pacstrap -i -C "${pacman_conf}" -c -G -M "${work_dir}/airootfs" $* &> /dev/null
else
pacstrap -i -C "${pacman_conf}" -c -G -M "${work_dir}/airootfs" $*
fi
_msg_info "Packages installed successfully!"
}
Fausia se ata:
sudo ./build.sh -v
Oomi le Y e fa'ase'e ai afifi le amana'ia, ona tusi lea o le ata ISO i le usb flash drive:
sudo dd if=out/archlinux*.iso of=/dev/sdb bs=1M
4. Uluai seevae
Toe fa'afou fa'atasi ma le ta'avale afi ma fa'aofi le piano. Filifili filifiliga pe a aliali mai le apu, filifili EFI BOOT.
Le isi, e tatau ona e oomi le "e" ki ma ulufale i le pito o le laina o le poloaiga module_blacklist=faititili. Afai e le faia lenei mea, e le mafai ona ta'a le faiga ma o le a aliali mai se Thunderbolt ICM Error.
I le fa'aaogaina o le fdisk/cfdisk matou te maua ai la matou vaeluaga (mo a'u o le nvme0n1p4), fa'atulaga ma fa'apipi'i le fa'amaumauga. E mafai ona e fa'aogaina faatonuga aloaia poʻo i autafa.
Matou te le o faia se vaeluaga o le seevae; matou te tusia le bootloader i totonu /dev/nvme0n1p1
A maeʻa ona faʻatupu atoatoa le siosiomaga i / mnt ma aʻo leʻi alu i le arch-chroot, tusi:
mount /dev/nvme0n1p1 /mnt/boot
arch-chroot /mnt /bin/bash
Fa'aopoopo i /etc/pacman.conf:
[mbp]
Server = https://packages.aunali1.com/archlinux/$repo/$arch
Fa'apipi'i modules kernel mo le piano. I totonu o le fale teu oloa tausagali1 o lo'o i ai se afifi ua uma ona fai, ua ta'ua apple-bce-dkms-git. Ina ia faʻapipiʻi, tusi i totonu o le faʻamafanafanaga:
pacman -S apple-bce-dkms-git
I lenei tulaga, o le a valaʻau le kernel module apu-bce. I le tulaga o le faʻapotopotoina e le tagata lava ia, e taʻua TLM. E tusa ai, afai e te manaʻo e lesitala se module i le vaega MODULES o le mkininicpio.conf faila, ona aua nei galo po o le fea module na e faʻapipiʻiina.
Fonotaga tusilima:
git clone https://github.com/MCMrARM/mbp2018-bridge-drv.git
cd mbp2018-bridge-drv
make
cp bce.ko /usr/lib/modules/extramodules-mbp/bce.ko
Fa'aopoopo le bce po'o le apple-bce module e amata ai: /etc/modules-load.d/bce.conf
bce
Afai e te manaʻo e faʻaoga le Fn faʻamau e le mafai, ona tusi lea i le /etc/modprobe.d/apple-tb.conf faila:
options apple-ib-tb fnmode=2
Faʻafouina le fatu ma initramfs.
mkinitcpio -p linux-mbp
Fa'apipi'i iwd:
sudo pacman -S networkmanager iwd
5. Loavaa
O le taimi lava e faʻapipiʻi uma ai afifi autu i totonu o le chroot, e mafai ona e amata faʻapipiʻi le bootloader.
Ua le mafai ona ou maua le grub e galue. Grub seevae mai le USB drive fafo, ae a e taumafai e lesitala i le nvme e ala i
O le faiga na alu i le fefe tele, ma ina ua uma ona toe faʻafouina se mea fou e ala i filifiliga e leʻi aliali mai. Ou te leʻi mauaina se vaifofo manino i lenei faʻafitauli ma o lea na filifili ai e taumafai e faʻaaoga le faʻaogaina o le systemd-boot.
Fa'alauiloa
bootctl --path=/boot install
ma tatou o atu ai i le popole vale. Tape le MacBook, toe ki, kiliki filifiliga (aua le tapeina le USB-C hub ma piano)
Matou te siakiina ua faʻaalia se faʻamatalaga fou EFI BOOT faʻaopoopo i le masini fafo
Matou te filifili e taʻavale mai se masini USB i fafo, e pei o le taimi o le faʻapipiʻi muamua (aua neʻi galo e faʻamaonia module_blacklist=thunderbolt)
Matou te faʻapipiʻiina le matou disk ma alu i totonu o le siosiomaga e ala i le arch-chroot
mount /dev/nvme0n1p4 /mnt
mount /dev/nvme0n1p1 /mnt/boot
arch-chroot /mnt
Afai e manaʻomia le faʻaogaina o le keyboard seʻia oʻo ina faʻatumu atoatoa le polokalama (e manaʻomia pe a faʻaogaina le faʻailoga luks/dm-crypt), ona tusi lea i le faila /etc/mkinicpio.conf i le vaega MODULES:
E pei ona i ai i le faaiuga, e teuina e MacOS faila firmware mo le wi-fi adapter i totonu o le pusa /usr/share/firmware/wifi , ma e mafai ona e aveina mai iina i foliga o blobs ma fafaga i latou i le brcmfmac kernel module. Ina ia mafai ona suʻeina po o fea faila e faʻaogaina e lau adapter, tatala se laina i le MacOS ma tusi:
ioreg -l | grep C-4364
Matou te maua se lisi umi. Matou te manaʻomia naʻo faila mai le vaega Talosaga faila:
I lenei tulaga, o le faila faila mulimuli o loʻo i ai igoa faʻataʻitaʻiga; afai o lau faʻataʻitaʻiga e le o macbookpro15,2, ona e manaʻomia lea e toe faʻaigoaina lenei faila e tusa ai ma lau faʻataʻitaʻiga MacBook.
Toe fa'afou ile Arch.
Kopi faila mai le flash drive i le /lib/firmware/brcm/ folder
I le taimi nei 16.10.2019 e tatau ona e filifili pe leo po'o le taofia/fa'aauau. O loʻo matou faʻatali mo le tusitala o le bce module e faʻamaeʻa le gaioiga.
Ina ia fausia se module ma masalosalo / toe amata lagolago, e tatau ona e faia mea nei:
git clone https://github.com/MCMrARM/mbp2018-bridge-drv.git
cd mbp2018-bridge-drv
git checkout suspend
make
cp bce.ko /usr/lib/modules/extramodules-mbp/bce.ko
modprobe bce
Afai na e faʻapipiʻiina le apple-bce module ua saunia mai le fale teu oloa anuali1, e tatau ona e aveese muamua ona faʻapipiʻi lea ma faʻapipiʻi le module bce ma le lagolago mode suspend.
E le gata i lea, e te manaʻomia le faʻaopopoina o le applesmc module i le blacklist (pe afai e te leʻi faia muamua) ma ia mautinoa i totonu /boot/loader/entries/arch.conf i le laina filifiliga i le pito e faʻaopoopo le parakalafa. pcie_ports=compat.
I le taimi nei, o le avetaavale paʻu paʻu e paʻu pe a ulufale i le tulaga le tumau, ma o le avetaʻavale faititili o nisi taimi e malolo ai le faiga mo le sili atu i le 30 sekone, ma mo ni nai minute pe a toe amata. O lenei mea e mafai ona faʻamautu e ala i le otometi ona laʻuina faʻafitauli modules.
Fausia se tala /lib/systemd/system-sleep/rmmod.sh:
#!/bin/sh
if [ "" == "pre" ]; then
rmmod thunderbolt
rmmod apple_ib_tb
elif [ "" == "post" ]; then
modprobe apple_ib_tb
modprobe thunderbolt
fi
Fai ia mafai ona faatino:
sudo chmod +x /lib/systemd/system-sleep/rmmod.sh
Na'o le pau lena mo le taimi nei. O le taunu'uga o se faiga fa'aoga atoatoa, se'i vagana ai nisi o nuances ma le fa'agata/fa'aauau. E leai ni fa'alavelave po'o ni fa'alavelave fatu na matauina i le tele o aso o le taimi e alu ai. Ou te faʻamoemoe i se taimi lata mai o le a faʻamaeʻaina e le tusitala o le bce module, ma o le a matou maua le lagolago atoatoa mo le taofia / toe amata ma le leo.