Ma te mahi a MacBook Pro 2018 T2 me ArchLinux (taurua)
He iti noa nga korero mo te meka ko te maramara T2 hou ka kore e taea te whakauru i te Linux ki runga i nga MacBooks hou 2018 me te paera. Kua pahemo te wa, a, i te mutunga o te tau 2019, ka whakatinanahia e nga kaiwhakawhanake tuatoru te maha o nga taraiwa me nga papanga kernel mo te taunekeneke me te maramara T2. Ko te taraiwa matua mo nga tauira MacBook 2018 me nga mea hou kei te whakatinana i te mahi VHCI (mahi pa / papapātuhi / etc.), me te mahi tangi.
BCE (Buffer Copy Engine) - ka whakatuu te hongere korero matua me T2. Ko te VHCI me te Ororongo e hiahia ana ki tenei waahanga.
Ko te VHCI he Kaiwhakahaere Kaihautu Mariko USB; ko te papapātuhi, te kiore me etahi atu waahanga punaha e whakaratohia ana e tenei waahanga (ko etahi atu taraiwa e whakamahi ana i tenei kaiwhakahaere kaihautu hei whakarato i etahi atu mahi.
Ororongo - taraiwa mo te atanga ororongo T2, i tenei wa ka tautoko noa i nga whakaputanga oro ma roto i nga kaikorero i roto i te MacBook
Ko te kaupapa tuarua e kiia ana macbook12-spi-taraiwa, me te whakatinana i te kaha ki te whakahaere i tetahi taraiwa whakauru mo te papapātuhi, SPI trackpad, me te paanui mo te MacBook Pro Late 2016 me muri mai. Ko etahi o nga taraiwa papapātuhi/trackpad kua whakauruhia ki roto i te kernel, timata mai i te putanga 5.3.
Ko te tautoko mo nga taputapu penei i te wi-fi, te touchpad, me era atu i whakatinanahia ma te whakamahi i nga papanga kernel. Putanga kernel o naianei5.3.5-1
He aha te mahi i tenei wa
NVMe
Papapātuhi
USB-C (Kare ano a Thunderbolt i whakamatauria; ka utaina aunoatia te kōwae, ka whakatio te punaha)
Paepa (me te kaha ki te whakakā i nga taviri Fn, rama whakamuri, ESC, aha atu)
Oro (nga orooro whakauru noa)
Kōwae Wi-Fi (mā te brcmfmac me te iw anake)
Tauranga Whakaatu i runga USB-C
Pūoko
Whakatarewa/Whakahou (he wahanga)
etc.
E tika ana tenei akoranga mo te macbookpro15,1 me te macbookpro15,2. I tangohia te tuhinga mai i a Github i te reo Ingarihi. mai i konei. Kaore nga mea katoa i roto i tenei tuhinga i whai hua, no reira me rapu e au he otinga.
He aha e hiahia ana koe ki te tāuta
USB-C urutau urutau ki te USB (e toru neke atu nga urunga USB mo te hono kiore, papapātuhi, pouwhanga USB, waea ranei i te aratau hono). He mea tika tenei i nga waahanga tuatahi o te whakaurunga
papapātuhi USB
USB/USB-C puku kohiko iti 4GB
1. Monokia te aukati i te puhipuhi mai i nga panui o waho
Ka taea e koe te haere i te huarahi ngawari me te tango i tetahi ahua kua oti te hanga me te kernel 5.3.5-1 me nga papanga mai i aunali1hono ki te ahua kua oti
Waihangahia he whakaahua ma te archlive (he punaha me te tohatoha Archa e hiahiatia ana)
cp -r /usr/share/archiso/configs/releng/ archlive
cd archlive
Tāpirihia te pātaka ki te pacman.conf:
[mbp]
Server = https://packages.aunali1.com/archlinux/$repo/$arch
Ka warewarehia te kakano taketake i roto i te pacman.conf:
IgnorePkg = linux linux-headers
Taapirihia nga kohinga e tika ana, i te mutunga ka taapirihia te kernel linux-mbp me nga pane linux-mbp-pane
...
wvdial
xl2tpd
linux-mbp
linux-mbp-headers
Ka huri tatou i te tuhinga kia mahi i roto i te aratau tauwhitiwhiti (whakakapihia te pacstrap -C me te 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!"
}
Te hanga pikitia:
sudo ./build.sh -v
Pēhia te Y ki te peke i ngā pōkai kua warewarehia, kātahi ka tuhi i te atahanga iso ki te puku kohiko USB:
sudo dd if=out/archlinux*.iso of=/dev/sdb bs=1M
4. Puta tuatahi
Me whakaara ano me te puku kohiko me te papapātuhi kua whakauruhia. Patohia nga whiringa ka puta te aporo, tohua EFI BOOT.
I muri mai, me pehi koe i te matua "e" ka uru ki te mutunga o te raina whakahau module_blacklist=he whatitiri. Ki te kore e mahia tenei, kare pea te punaha e puhipuhi ka puta he Hapa ICM Thunderbolt.
Ma te whakamahi i te fdisk/cfdisk ka kitea to maatau wehewehenga (mo au ko nvme0n1p4), whakahōputuhia me te whakauru i te puranga. Ka taea e koe te whakamahi tohutohu whai mana ranei tahataha.
Kaore matou i te hanga i te wehewehenga boot; ka tuhia e matou te bootloader ki roto /dev/nvme0n1p1
I muri i te hanganga o te taiao i / mnt, i mua i te neke ki te arch-chroot, tuhia:
mount /dev/nvme0n1p1 /mnt/boot
arch-chroot /mnt /bin/bash
Tāpiri ki /etc/pacman.conf:
[mbp]
Server = https://packages.aunali1.com/archlinux/$repo/$arch
Kei te whakauru i nga waahanga kernel mo te papapātuhi. I roto i te putunga taunali1 he kete kua oti te hanga, ka kiia aporo-bce-dkms-git. Hei whakauru, tuhia ki te papatohu:
pacman -S apple-bce-dkms-git
I tenei take, ka karangahia te kōwae kernel aporo-bce. Mo te huihuinga-whaiaro, ka kiia tupato. Na, ki te hiahia koe ki te rehita i tetahi kōwae i roto i te waahanga MODULES o te kōnae mkinincpio.conf, kaua e wareware ko tehea waahanga i whakauruhia e koe.
Huinga ā-ringa:
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
Tāpirihia te kōwae bce, aporo-bce rānei ki te whakaoho: /etc/modules-load.d/bce.conf
bce
Mena kei te pirangi koe ki te whakamahi i nga paatene Fn ma te taunoa, ka tuhi ki te konae /etc/modprobe.d/apple-tb.conf:
options apple-ib-tb fnmode=2
Te whakahou i te kernel me te initramfs.
mkinitcpio -p linux-mbp
Tāuta iwd:
sudo pacman -S networkmanager iwd
5. Kaiuta
Kia whakauruhia nga kohinga matua katoa ki roto i te chroot, ka taea e koe te timata ki te whakauru i te bootloader.
Kare ano au i kaha ki te tiki keru ki te mahi. He putu Grub mai i te puku USB o waho, engari ka ngana koe ki te rehita i roto i te nvme ma
ka raru te punaha, a, i muri i te whakaara ano i tetahi mea hou na roto i nga whiringa kaore i puta. Kaore au i kitea he otinga maamaa mo tenei raru, na reira ka whakatau ahau ki te ngana ki te whakatinana i te booting ma te whakamahi i te systemd-boot.
Whakarewatanga
bootctl --path=/boot install
a ka haere matou ki roto ki te kakano mataku. Whakawetohia te MacBook, whakahurihia ano, paatohia nga whiringa (kaua e whakawetohia te USB-C me te papapātuhi)
Ka tirohia e matou kua puta mai he urunga EFI BOOT hou hei taapiri atu ki te taputapu o waho
Ka kowhiria e matou ki te peke mai i te puku USB o waho, penei i te wa o te whakaurunga tuatahi (kaua e wareware ki te tohu module_blacklist=thunderbolt)
Ka whakairihia ta maatau kōpae ka haere ki te taiao ma te arch-chroot
mount /dev/nvme0n1p4 /mnt
mount /dev/nvme0n1p1 /mnt/boot
arch-chroot /mnt
Mena e tika ana kia mahi te papapātuhi kia oti ra ano te utaina o te punaha (he mea tika tenei ina whakamahia te whakamunatanga luks/dm-crypt), ka tuhia ki te konae /etc/mkinicpio.conf i te waahanga MODULES:
I te mutunga, ka penapenahia e MacOS nga konae firmware mo te urutau wi-fi i roto i te kōpaki /usr/share/firmware/wifi , a ka taea e koe te tango mai i reira i roto i te ahua o te pupuhi me te whangai ki te kōwae kernel brcmfmac. Kia kitea he aha nga konae e whakamahia ana e to kaiurutau, whakatuwherahia he tauranga ki MacOS ka tuhi:
ioreg -l | grep C-4364
Ka whiwhi tatou i te rarangi roa. Me hiahia noa matou i nga konae mai i te waahanga Kōnae Tonoa:
I tenei keehi, kei roto i te konae tuhinga whakamutunga nga ingoa tauira; mena ehara to tauira i te macbookpro15,2, me whakaingoatia ano tenei konae kia rite ki to tauira MacBook.
Whakahou ano ki Arch.
Tāruahia ngā kōnae mai i te puku kohiko ki te kōpaki /lib/firmware/brcm/
I tenei wa 16.10.2019 me whiriwhiri e koe te oro, te whakatārewa/whakahou. Kei te tatari matou mo te kaituhi o te kōwae bce ki te whakaoti i te mahi.
Hei hanga i tetahi kōwae me te tautoko whakapae/whakahou, me mahi koe i enei e whai ake 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
Mena kua whakauruhia e koe te waahanga aporo-bce kua rerihia mai i te rehitatanga anuali1, me tango e koe i te tuatahi katahi ka whakaemi me te whakauru i te kōwae bce me te tautoko aratau whakatārewa.
Ano, me whakauru koe i te waahanga applesmc ki te rarangi pango (mehemea kaore koe i mahi i mua) me te whakarite kei roto i /boot/loader/entries/arch.conf i roto i nga rarangi whiringa i te mutunga ka taapirihia te tawhā. pcie_ports=compat.
I tenei wa, ka pakaru te taraiwa pa i te wa e uru ana ki te aratau whakatarewa, a i etahi wa ka whakatio te taraiwa whatitiri i te punaha mo te neke atu i te 30 hēkona, me etahi meneti ka hoki ano. Ka taea te whakatika ma te tango aunoa i nga waahanga raru.
Waihangahia he tuhinga /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
Kia taea te whakahaere:
sudo chmod +x /lib/systemd/system-sleep/rmmod.sh
Heoi ano mo naianei. Ko te hua he punaha ka taea te mahi, haunga etahi ahuatanga me te aukati/whakahou. Karekau he tukinga, he riihi kakano ranei i kitea i roto i nga ra maha o te wa mahi. Kei te tumanako ahau a nga ra e heke mai nei ka whakaotihia e te kaituhi o te kōwae bce, ka whiwhi tatou i te tino tautoko mo te whakatarewa/whakahou me te tangi.