Ṣiṣe MacBook Pro 2018 T2 ṣiṣẹ pẹlu ArchLinux (dualboot)
Aruwo pupọ ti wa nipa otitọ pe chirún T2 tuntun yoo jẹ ki o ṣee ṣe lati fi Linux sori ẹrọ MacBooks 2018 tuntun pẹlu ọpa ifọwọkan kan. Akoko ti kọja, ati ni opin ọdun 2019, awọn olupilẹṣẹ ẹnikẹta ṣe imuse nọmba kan ti awakọ ati awọn abulẹ kernel fun ibaraenisepo pẹlu chirún T2. Iwakọ akọkọ fun awọn awoṣe MacBook 2018 ati awọn imuse tuntun ti iṣẹ VHCI (ifọwọkan / bọtini itẹwe / ati bẹbẹ lọ isẹ), bakanna bi iṣẹ ohun.
BCE (Buffer Copy Engine) - ṣe agbekalẹ ikanni ibaraẹnisọrọ akọkọ pẹlu T2. VHCI ati Audio nilo paati yii.
VHCI ni a USB foju Gbalejo Adarí; keyboard, Asin ati awọn miiran eto irinše ti wa ni pese nipa yi paati (miiran awakọ lo yi ogun oludari to a pese diẹ iṣẹ-.
Audio - awakọ fun wiwo ohun T2, lọwọlọwọ ṣe atilẹyin iṣelọpọ ohun nikan nipasẹ awọn agbohunsoke ti a ṣe sinu MacBook
Awọn keji ise agbese ni a npe ni MacBook12-spi-iwakọ, ati pe o ṣe imuse agbara lati ṣiṣẹ awakọ titẹ sii fun keyboard, SPI trackpad, ati bọtini ifọwọkan fun MacBook Pro Late 2016 ati nigbamii. Diẹ ninu awọn awakọ keyboard/papad wa ninu ekuro, bẹrẹ pẹlu ẹya 5.3.
Atilẹyin fun awọn ẹrọ bii wi-fi, touchpad, ati bẹbẹ lọ ni a tun ṣe imuse nipa lilo awọn abulẹ kernel. Ẹya ekuro lọwọlọwọ5.3.5-1
Kini n ṣiṣẹ ni akoko yii
NVMe
Keyboard
USB-C (Thunderbolt ko ti ni idanwo; nigbati module ba ti kojọpọ laifọwọyi, o di eto naa)
Pẹpẹ ifọwọkan (pẹlu agbara lati tan awọn bọtini Fn, ina ẹhin, ESC, ati bẹbẹ lọ)
Ohun (awọn agbọrọsọ ti a ṣe sinu nikan)
module Wi-Fi (nipasẹ brcmfmac ati nipasẹ iw nikan)
DisplayPort lori USB-C
Awọn sensosi
Daduro/Tẹ bẹrẹ (apakan)
ati bẹbẹ lọ.
Ikẹkọ yii wulo fun macbookpro15,1 ati macbookpro15,2. A mu nkan naa gẹgẹbi ipilẹ lati Github ni Gẹẹsi. lati ibi. Kii ṣe gbogbo nkan ti o wa ninu nkan yii ṣiṣẹ, nitorinaa Mo ni lati wa ojutu kan funrararẹ.
Ohun ti o nilo lati fi sori ẹrọ
USB-C ohun ti nmu badọgba docking si USB (o kere ju awọn ifunni USB mẹta fun sisopọ asin kan, keyboard, modẹmu USB tabi foonu ni ipo sisọpọ). Eyi jẹ pataki nikan lakoko awọn ipele akọkọ ti fifi sori ẹrọ
cp -r /usr/share/archiso/configs/releng/ archlive
cd archlive
Ṣafikun ibi ipamọ naa si pacman.conf:
[mbp]
Server = https://packages.aunali1.com/archlinux/$repo/$arch
A foju kernel atilẹba ni pacman.conf:
IgnorePkg = linux linux-headers
Ṣafikun awọn idii pataki, ni ipari ṣafikun ekuro linux-mbp ati awọn akọle linux-mbp
...
wvdial
xl2tpd
linux-mbp
linux-mbp-headers
A paarọ iwe afọwọkọ lati ṣiṣẹ ni ipo ibaraenisepo (rọpo pacstrap -C pẹlu 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!"
}
Ṣiṣe aworan kan:
sudo ./build.sh -v
Tẹ Y lati fo awọn idii ti a ko bikita, lẹhinna kọ aworan iso si kọnputa filasi usb:
sudo dd if=out/archlinux*.iso of=/dev/sdb bs=1M
4. Akọkọ bata
Atunbere pẹlu kọnputa filasi ati keyboard ti a fi sii. Tẹ awọn aṣayan nigbati apple ba han, yan EFI BOOT.
Nigbamii, o nilo lati tẹ bọtini “e” ki o tẹ sii ni opin laini aṣẹ naa module_blacklist=thunderbolt. Ti eyi ko ba ṣe, eto naa le ma bata ati Aṣiṣe Thunderbolt ICM yoo han.
Lilo fdisk/cfdisk a wa ipin wa (fun mi o jẹ nvme0n1p4), ṣe ọna kika rẹ ki o fi sii pamosi naa. O le lo osise ilana tabi lẹgbẹẹ.
A ko ṣẹda ipin bata; a yoo kọ bootloader sinu /dev/nvme0n1p1
Lẹhin ti agbegbe ni / mnt ti ṣẹda patapata ati ṣaaju gbigbe si arch-chroot, kọ:
mount /dev/nvme0n1p1 /mnt/boot
arch-chroot /mnt /bin/bash
Ṣafikun si /etc/pacman.conf:
[mbp]
Server = https://packages.aunali1.com/archlinux/$repo/$arch
Fifi awọn modulu ekuro fun keyboard. Ninu ibi ipamọ lododun 1 package ti o ti ṣetan wa, o pe apple-bce-dkms-git. Lati fi sii, kọ sinu console:
pacman -S apple-bce-dkms-git
Ni idi eyi, module ekuro yoo pe apple-bce. Ninu ọran ti apejọ ara ẹni, o pe ecb. Nitorinaa, ti o ba fẹ forukọsilẹ module kan ni apakan MODULES ti faili mkinicpio.conf, lẹhinna maṣe gbagbe iru module ti o fi sii.
Apejọ pẹlu ọwọ:
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
Ṣafikun module bce tabi apple-bce si ibẹrẹ: /etc/modules-load.d/bce.conf
bce
Ti o ba fẹ lo awọn bọtini Fn nipasẹ aiyipada, lẹhinna kọ sinu faili /etc/modprobe.d/apple-tb.conf:
options apple-ib-tb fnmode=2
Nmu dojuiwọn ekuro ati initramfs.
mkinitcpio -p linux-mbp
Fi sori ẹrọ iwd:
sudo pacman -S networkmanager iwd
5. Agberu
Ni kete ti gbogbo awọn idii akọkọ ti fi sori ẹrọ inu chroot, o le bẹrẹ fifi sori ẹrọ bootloader.
Emi ko ni anfani lati gba grub lati ṣiṣẹ. Grub orunkun lati ẹya ita USB drive, ṣugbọn nigbati o ba gbiyanju lati forukọsilẹ ni nvme nipasẹ
eto naa lọ sinu ijaaya ekuro, ati lẹhin atunbere ohun kan titun nipasẹ awọn aṣayan ko han. Emi ko rii ojutu ti o han gbangba si iṣoro yii ati nitorinaa pinnu lati gbiyanju lati ṣe imuse booting nipa lilo systemd-boot.
Ifilọlẹ
bootctl --path=/boot install
ati awọn ti a lọ sinu ekuro ijaaya. Pa MacBook, tan-an lẹẹkansi, tẹ awọn aṣayan (maṣe pa ibudo USB-C pẹlu keyboard)
A ṣayẹwo pe titẹ sii EFI BOOT tuntun ti han ni afikun si ẹrọ ita
A yan lati bata lati inu kọnputa USB ita, bi lakoko fifi sori akọkọ (maṣe gbagbe lati pato module_blacklist=thunderbolt)
A gbe disk wa ki o lọ sinu ayika nipasẹ arch-chroot
mount /dev/nvme0n1p4 /mnt
mount /dev/nvme0n1p1 /mnt/boot
arch-chroot /mnt
Ti o ba jẹ dandan fun keyboard lati ṣiṣẹ titi ti eto yoo fi gbejade ni kikun (eyi jẹ pataki nigba lilo luks/dm-crypt encryption), lẹhinna kọ sinu faili /etc/mkinicpio.conf ni apakan MODULES:
Bi o ti wa ni ipari, MacOS tọju awọn faili famuwia fun ohun ti nmu badọgba wi-fi ninu folda naa /usr/pin/famuwia/wifi , ati pe o le mu wọn lati ibẹ ni irisi blobs ati ifunni wọn si module ekuro brcmfmac. Lati le rii iru awọn faili ti ohun ti nmu badọgba rẹ nlo, ṣii ebute ni MacOS ki o kọ:
ioreg -l | grep C-4364
A gba a gun akojọ. A nilo awọn faili nikan lati apakan Awọn faili ti a beere:
Ni ọran yii, faili ọrọ ti o kẹhin ni awọn orukọ awoṣe; ti awoṣe rẹ ko ba jẹ macbookpro15,2, lẹhinna o nilo lati tunrukọ faili yii ni ibamu pẹlu awoṣe MacBook rẹ.
Atunbere sinu Arch.
Daakọ awọn faili lati kọnputa filasi si folda /lib/firmware/brcm/
Ni akoko yii 16.10.2019 o ni lati yan boya ohun tabi daduro / bere. A n duro de onkọwe ti module bce lati pari iṣẹ ṣiṣe.
Lati kọ module kan pẹlu ifura / bẹrẹ atilẹyin, o gbọdọ ṣe atẹle naa:
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
Ti o ba fi sori ẹrọ module apple-bce ti a ti ṣetan lati ibi ipamọ anuali1, lẹhinna o gbọdọ kọkọ yọ kuro lẹhinna nikan lẹhinna ṣajọ ati fi sori ẹrọ module bce pẹlu atilẹyin ipo idaduro.
Pẹlupẹlu, o nilo lati ṣafikun module applesmc si blacklist (ti o ko ba ti ṣe eyi tẹlẹ) ati rii daju pe ni /boot/loader/entries/arch.conf ninu laini aṣayan ni ipari paramita ti wa ni afikun. pcie_ports=akopọ.
Lọwọlọwọ, awakọ ifọwọkan kọlu nigbati o nwọle ipo idaduro, ati awakọ thunderbolt nigbakan didi eto naa fun diẹ sii ju awọn aaya 30, ati fun awọn iṣẹju pupọ nigbati o bẹrẹ. Eyi le ṣe atunṣe nipasẹ sisọ awọn modulu iṣoro laifọwọyi.
Ṣẹda iwe afọwọkọ /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
Mu ki o ṣiṣẹ:
sudo chmod +x /lib/systemd/system-sleep/rmmod.sh
Iyẹn ni gbogbo fun bayi. Abajade jẹ eto iṣẹ ṣiṣe patapata, ayafi ti diẹ ninu awọn nuances pẹlu idaduro / bẹrẹ iṣẹ. Ko si awọn ipadanu tabi awọn ijaaya kernel ti a ṣe akiyesi lakoko awọn ọjọ pupọ ti akoko iṣẹ. Mo nireti pe onkọwe Bce module yoo pari ni ọjọ iwaju nitosi, ati pe a yoo gba atilẹyin ni kikun fun idaduro / bẹrẹ iṣẹ ati ohun.