Að láta MacBook Pro 2018 T2 virka með ArchLinux (dualboot)
Það hefur verið talsvert um þá staðreynd að nýja T2 flísinn mun gera það ómögulegt að setja upp Linux á nýju 2018 MacBooks með snertistiku. Tíminn leið og í lok árs 2019 innleiddu þriðju aðilar fjölda rekla og kjarnaplástra fyrir samskipti við T2 flísinn. Aðaldrifinn fyrir MacBook módel 2018 og nýrri útfærir VHCI aðgerð (snerti/lyklaborð/o.s.frv. aðgerð), sem og hljóðaðgerð.
BCE (Buffer Copy Engine) - stofnar aðalsamskiptarásina við T2. VHCI og Audio krefjast þessa íhluts.
VHCI er USB Virtual Host Controller; lyklaborðið, músin og aðrir kerfishlutar eru frá þessum íhlut (aðrir ökumenn nota þennan hýsilstýringu til að veita meiri virkni.
Hljóð - bílstjóri fyrir T2 hljóðviðmótið, sem stendur styður aðeins hljóðúttak í gegnum innbyggða hátalara MacBook
Annað verkefnið heitir macbook12-spi bílstjóri, og það útfærir getu til að stjórna inntaksdrifi fyrir lyklaborðið, SPI rekja spor einhvers og snertistiku fyrir MacBook Pro seint 2016 og síðar. Sumir lyklaborðs-/stýriborðsreklar eru nú innifalin í kjarnanum, frá og með útgáfu 5.3.
Stuðningur við tæki eins og Wi-Fi, snertiborð osfrv. var einnig útfærður með því að nota kjarnaplástra. Núverandi kjarnaútgáfa5.3.5-1
Hvað er að virka í augnablikinu
NVMe
lyklaborð
USB-C (Thunderbolt hefur ekki verið prófað; þegar einingin er hlaðin sjálfkrafa frýs hún kerfið)
Touchbar (með getu til að kveikja á Fn lyklum, baklýsingu, ESC osfrv.)
Hljóð (aðeins innbyggðir hátalarar)
Wi-Fi eining (í gegnum brcmfmac og aðeins í gegnum iw)
DisplayPort yfir USB-C
Skynjarar
Fresta/halda áfram (að hluta)
etc ..
Þessi kennsla á við um macbookpro15,1 og macbookpro15,2. Greinin var tekin sem grunnur frá Github á ensku. þess vegna. Ekki virkaði allt í þessari grein, svo ég varð að finna lausn sjálfur.
Það sem þú þarft að setja upp
USB-C tengikví við USB (að minnsta kosti þrjú USB inntak til að tengja mús, lyklaborð, USB mótald eða síma í tjóðrun). Þetta er aðeins nauðsynlegt á fyrstu stigum uppsetningar
cp -r /usr/share/archiso/configs/releng/ archlive
cd archlive
Bættu geymslunni við pacman.conf:
[mbp]
Server = https://packages.aunali1.com/archlinux/$repo/$arch
Við hunsum upprunalega kjarnann í pacman.conf:
IgnorePkg = linux linux-headers
Bættu við nauðsynlegum pökkum, í lokin bættu við linux-mbp kjarnanum og linux-mbp-hausunum
...
wvdial
xl2tpd
linux-mbp
linux-mbp-headers
Við breytum handritinu til að virka í gagnvirkum ham (skipta um pacstrap -C fyrir 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!"
}
Mynda mynd:
sudo ./build.sh -v
Ýttu á Y til að sleppa hunsuðum pakka, skrifaðu síðan iso-myndina á USB-drifið:
sudo dd if=out/archlinux*.iso of=/dev/sdb bs=1M
4. Fyrsta stígvél
Endurræstu með glampi drifinu og lyklaborðinu í. Ýttu á valkosti þegar eplið birtist, veldu EFI BOOT.
Næst þarftu að ýta á „e“ takkann og slá inn í lok skipanalínunnar module_blacklist=þrumufleygur. Ef þetta er ekki gert gæti kerfið ekki ræst og Thunderbolt ICM Villa mun birtast.
Með því að nota fdisk/cfdisk finnum við skiptinguna okkar (fyrir mér er það nvme0n1p4), forsníða það og setja upp skjalasafnið. Þú getur notað opinber fyrirmæli eða til hliðar.
Við erum ekki að búa til ræsihluti; við munum skrifa ræsiforritið inn /dev/nvme0n1p1
Eftir að umhverfið í /mnt er alveg myndað og áður en þú ferð yfir í arch-chroot skaltu skrifa:
mount /dev/nvme0n1p1 /mnt/boot
arch-chroot /mnt /bin/bash
Bæta við /etc/pacman.conf:
[mbp]
Server = https://packages.aunali1.com/archlinux/$repo/$arch
Að setja upp kjarnaeiningar fyrir lyklaborðið. Í geymslunni anuali1 það er tilbúinn pakki heitir hann epli-bce-dkms-git. Til að setja það upp skaltu skrifa í stjórnborðið:
pacman -S apple-bce-dkms-git
Í þessu tilviki verður kjarnaeiningin kölluð epli-bce. Ef um sjálfsafgreiðslu er að ræða er það kallað f.Kr. Í samræmi við það, ef þú vilt skrá einingu í MODULES hlutann í mkinicpio.conf skránni, þá skaltu ekki gleyma hvaða einingu þú settir upp.
Handvirk samsetning:
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
Bættu bce eða apple-bce einingunni við ræsingu: /etc/modules-load.d/bce.conf
bce
Ef þú vilt nota Fn hnappana sjálfgefið, skrifaðu þá í /etc/modprobe.d/apple-tb.conf skrána:
options apple-ib-tb fnmode=2
Uppfærsla kjarnans og initramfs.
mkinitcpio -p linux-mbp
Settu upp iwd:
sudo pacman -S networkmanager iwd
5. Hleðslutæki
Þegar allir helstu pakkarnir hafa verið settir upp inni í chroot geturðu byrjað að setja upp ræsiforritið.
Ég hef ekki getað fengið grub í vinnuna. Grub ræsir af utanáliggjandi USB drifi, en þegar þú reynir að skrá það í nvme í gegnum
kerfið fór í kjarna læti og eftir endurræsingu birtist ekki nýtt atriði í gegnum valkosti. Ég fann enga skýra lausn á þessu vandamáli og ákvað því að reyna að innleiða ræsingu með systemd-boot.
Sjósetja
bootctl --path=/boot install
og við förum í kjarna læti. Slökktu á MacBook, kveiktu á henni aftur, smelltu á valkosti (ekki slökkva á USB-C miðstöðinni með lyklaborðinu)
Við athugum hvort ný EFI BOOT færsla hafi birst í viðbót við ytra tækið
Við veljum að ræsa af utanáliggjandi USB drifi, eins og við fyrstu uppsetningu (ekki gleyma að tilgreina module_blacklist=thunderbolt)
Við festum diskinn okkar og förum inn í umhverfið í gegnum arch-chroot
mount /dev/nvme0n1p4 /mnt
mount /dev/nvme0n1p1 /mnt/boot
arch-chroot /mnt
Ef það er nauðsynlegt fyrir lyklaborðið að virka þar til kerfið er fullhlaðið (þetta er nauðsynlegt þegar þú notar luks/dm-crypt dulkóðun), skrifaðu það þá í /etc/mkinicpio.conf skrána í MODULES hlutanum:
Eins og það kom í ljós á endanum geymir MacOS vélbúnaðarskrárnar fyrir Wi-Fi millistykkið í möppunni /usr/share/firmware/wifi , og þú getur tekið þá þaðan í formi klumpa og fóðrað þá í brcmfmac kjarnaeininguna. Til að komast að því hvaða skrár millistykkið þitt notar skaltu opna flugstöð í MacOS og skrifa:
ioreg -l | grep C-4364
Við fáum langan lista. Við þurfum aðeins skrár úr hlutanum Requested Files:
Í þínu tilviki geta skráarnöfnin verið mismunandi. Afritaðu þau úr /usr/share/firmware/wifi möppunni yfir á flash-drifið og endurnefna þau á eftirfarandi hátt:
Í þessu tilviki inniheldur síðasta textaskráin líkanheitin; ef líkanið þitt er ekki macbookpro15,2, þá þarftu að endurnefna þessa skrá í samræmi við MacBook líkanið þitt.
Endurræstu í Arch.
Afritaðu skrárnar af flash-drifinu í /lib/firmware/brcm/ möppuna
Á þessari stundu 16.10.2019 þú verður að velja annað hvort hljóð eða biðja/halda áfram. Við erum að bíða eftir að höfundur bce einingarinnar ljúki virkninni.
Til að byggja upp einingu með stuðningi sem frestað er/halda áfram verður þú að gera eftirfarandi:
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
Ef þú settir upp tilbúnu apple-bce-eininguna úr anuali1 geymslunni, þá verður þú fyrst að fjarlægja hana og aðeins síðan setja saman og setja upp bce-eininguna með stöðvunarstillingu.
Einnig þarftu að bæta applesmc einingunni við svarta listann (ef þú hefur ekki gert þetta áður) og ganga úr skugga um að í /boot/loader/entries/arch.conf í valmöguleikalínunni í lokin sé færibreytunni bætt við pcie_ports=samhæfing.
Eins og er, hrynur snertistikan þegar hann fer í biðham og þrumufleygdrifurinn frýs stundum kerfið í meira en 30 sekúndur og í nokkrar mínútur þegar það er haldið áfram. Þetta er hægt að laga með því að afferma sjálfkrafa erfiðar einingar.
Búðu til handrit /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
Gerðu það keyranlegt:
sudo chmod +x /lib/systemd/system-sleep/rmmod.sh
Það er allt í bili. Niðurstaðan er algjörlega framkvæmanlegt kerfi, að undanskildum nokkrum blæbrigðum með frestun/ferilskrá. Engin hrun eða læti í kjarna sáust á nokkrum dögum spenntur. Ég vona að á næstunni muni höfundur bce mátsins klára hana og við fáum fullan stuðning fyrir stöðvun/ferilskrá og hljóð.