Ny fanaovana ny MacBook Pro 2018 T2 miasa amin'ny ArchLinux (dualboot)
Nisy ny resabe kely momba ny hoe ny chip T2 vaovao dia tsy afaka mametraka Linux amin'ny MacBooks vaovao 2018 miaraka amin'ny touchbar. Nandeha ny fotoana, ary tamin'ny faran'ny taona 2019, ny mpamorona antoko fahatelo dia nametraka mpamily sy paty kernel maromaro mba hifaneraserana amin'ny chip T2. Ny mpamily lehibe ho an'ny maodely MacBook 2018 sy ny vao haingana kokoa dia mampihatra ny fiasan'ny VHCI (fihetseham-po / fitendry / sns), ary koa ny fiasan'ny feo.
BCE (Buffer Copy Engine) - mametraka ny fantsom-pifandraisana lehibe miaraka amin'ny T2. Ny VHCI sy Audio dia mitaky an'io singa io.
VHCI dia USB Virtual Host Controller; ny klavier, ny totozy ary ny singa rafitra hafa dia omen'ity singa ity (ny mpamily hafa dia mampiasa ity mpanara-maso mpampiantrano ity mba hanomezana fiasa bebe kokoa.
Audio - mpamily ho an'ny interface T2 audio, amin'izao fotoana izao dia tsy manohana afa-tsy ny famoahana feo amin'ny alΓ lan'ny mpandahateny ao amin'ny MacBook
Ny tetikasa faharoa dia antsoina macbook12-spi-driver, ary mampihatra ny fahafahana miasa mpamily fampidirana ho an'ny klavier, SPI trackpad, ary touchbar ho an'ny faran'ny 2016 sy ny MacBook Pros taty aoriana. Ny sasany amin'ireo mpamily kitendry/trackpad dia tafiditra ao anatin'ny kernel, manomboka amin'ny version 5.3.
Ny fanohanana ny fitaovana toy ny wi-fi, touchpad, sns dia nampiharina tamin'ny alΓ lan'ny patch kernel. Version kernel ankehitriny5.3.5-1
Inona no miasa amin'izao fotoana izao
NVMe
Ohatra
USB-C (Tsy nosedraina ny kotrokorana; rehefa alefa ho azy ny maodely, dia mampivaingana ny rafitra)
Ity fampianarana ity dia azo ampiharina amin'ny macbookpro15,1 sy macbookpro15,2. Ny lahatsoratra dia nalaina ho fototry ny Github amin'ny teny anglisy. avy eto. Tsy nandaitra avokoa ny zava-drehetra ato aminβity lahatsoratra ity, ka tsy maintsy nitady vahaolana ny tenako.
Inona no ilainao apetraka
Adapter docking USB-C amin'ny USB (fampidirana USB telo farafahakeliny hampifandraisana totozy, fitendry, modem USB na telefaona amin'ny fomba fametahana). Izany dia ilaina mandritra ny dingana voalohany amin'ny fametrahana
USB fitendry
USB/USB-C flash drive farafahakeliny 4GB
1. Atsaharo ny fandrarana ny fandefasana avy amin'ny haino aman-jery ivelany
2. Omeo toerana malalaka amin'ny fampiasana Disk Utility
Ho fanamorana dia nanome 30GB avy hatrany ho an'ny kapila aho, mamolavola azy amin'ny exfat ao amin'ny Disk Utility mihitsy. Fizarana fitaovana kapila ara-batana.
3. Mamorona sary ISO
safidy:
Afaka mandeha amin'ny lalana tsotra ianao ary misintona sary efa vita miaraka amin'ny kernel 5.3.5-1 sy patches avy aunali1rohy mankany amin'ny sary vita
Mamorona sary amin'ny alΓ lan'ny archlive (rafitra misy fizarana Archa no ilaina)
cp -r /usr/share/archiso/configs/releng/ archlive
cd archlive
Ampio ny tahiry ao amin'ny pacman.conf:
[mbp]
Server = https://packages.aunali1.com/archlinux/$repo/$arch
Tsy raharahantsika ny kernel tany am-boalohany ao amin'ny pacman.conf:
IgnorePkg = linux linux-headers
Ampio ny fonosana ilaina, amin'ny farany ampio ny kernel linux-mbp sy linux-mbp-headers
...
wvdial
xl2tpd
linux-mbp
linux-mbp-headers
Ovainay ny script mba hiasa amin'ny mode interactive (soloo ny pacstrap -C amin'ny 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!"
}
Mamorona sary:
sudo ./build.sh -v
Tsindrio Y raha hitsingevana ny fonosana tsy noraharahiana, dia soraty amin'ny USB flash drive ny sary iso:
sudo dd if=out/archlinux*.iso of=/dev/sdb bs=1M
4. Boot voalohany
Avereno indray miaraka amin'ny kapila tselatra sy ny klavier nampidirina. Tsindrio ny safidy rehefa miseho ny paoma, mifidiana EFI BOOT.
Manaraka, mila manindry ny fanalahidy "e" ianao ary miditra amin'ny faran'ny baiko baiko module_blacklist=kotrokorana. Raha tsy vita izany, dia mety tsy boot ny rafitra ary hiseho ny Thunderbolt ICM Error.
Amin'ny fampiasana fdisk/cfdisk dia ahitantsika ny fizarantsika (ho ahy dia nvme0n1p4 izany), amboary izany ary apetraho ny rakitra. Azonao ampiasaina toromarika ofisialy na sisiny.
Tsy mamorona fizarazarana boot izahay; hanoratra ny bootloader izahay /dev/nvme0n1p1
Rehefa vita tanteraka ny tontolo iainana ao / mnt ary alohan'ny hifindrana amin'ny arch-chroot dia soraty hoe:
mount /dev/nvme0n1p1 /mnt/boot
arch-chroot /mnt /bin/bash
Ampio amin'ny /etc/pacman.conf:
[mbp]
Server = https://packages.aunali1.com/archlinux/$repo/$arch
Fametrahana modules kernel ho an'ny klavier. Ao amin'ny repository taonaali1 misy fonosana efa vita, atao hoe apple-bce-dkms-git. Mba hametrahana azy dia soraty ao amin'ny console:
pacman -S apple-bce-dkms-git
Amin'ity tranga ity dia antsoina ny module kernel paoma-bce. Raha ny fivorian'ny tena dia atao hoe TK. Noho izany, raha te hisoratra anarana module ao amin'ny fizarana MODULES amin'ny rakitra mkinicpio.conf ianao, dia aza adino izay module napetrakao.
Fivoriambe tanana:
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
Ampio ny module bce na apple-bce hanombohana: /etc/modules-load.d/bce.conf
bce
Raha te hampiasa ny bokotra Fn ho default ianao, dia soraty ao amin'ny rakitra /etc/modprobe.d/apple-tb.conf:
options apple-ib-tb fnmode=2
Fanavaozana ny kernel sy initramfs.
mkinitcpio -p linux-mbp
Mametraka iwd:
sudo pacman -S networkmanager iwd
5. Loader
Raha vao tafapetraka ao anatin'ny chroot ny fonosana lehibe rehetra dia afaka manomboka mametraka ny bootloader ianao.
Tsy afaka nampiditra grub hiasa aho. Grub boots avy amin'ny kapila USB ivelany, fa rehefa manandrana misoratra anarana amin'ny nvme via
mount /dev/nvme0n1p4 /mnt
mount /dev/nvme0n1p1 /mnt/boot
arch-chroot /mnt
Raha toa ka ilaina ny fiasan'ny klavier mandra-pahatongan'ny rafitra feno (ilaina izany rehefa mampiasa luks/dm-crypt encryption), dia soraty ao amin'ny rakitra /etc/mkinicpio.conf ao amin'ny fizarana MODULES:
Amin'ity tranga ity, ny rakitra lahatsoratra farany dia misy ny anaran'ny modely; raha tsy macbookpro15,2 ny modelyo, dia mila manova anarana ity rakitra ity ianao mifanaraka amin'ny modely MacBook-nao.
Amin'izao fotoana izao 16.10.2019 tsy maintsy misafidy ianao na feo na fampiatoana/resume. Miandry ny mpanoratra ny bce module izahay hamita ny fiasa.
Mba hamoronana mΓ΄dely miaraka amin'ny fanohanan'ny susped/resume dia tsy maintsy manao izao manaraka izao ianao:
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
Raha nametraka ny maodely apple-bce efa vita avy amin'ny tahiry anuali1 ianao, dia tsy maintsy esorinao aloha izany ary avy eo manangona sy mametraka ny maody bce miaraka amin'ny fanohanan'ny fomba fampiatoana.
Ankoatra izany, mila ampidirinao ao amin'ny lisitra mainty ny module applesmc (raha mbola tsy nanao izany ianao) ary ataovy azo antoka fa ao amin'ny /boot/loader/entries/arch.conf ao amin'ny tsipika safidy amin'ny farany dia ampiana ny parameter. pcie_ports=compat.
Amin'izao fotoana izao, ny mpamily touchbar dia mianjera rehefa miditra amin'ny fomba fampiatoana, ary ny kotroka indraindray dia manamaivana ny rafitra mandritra ny 30 segondra mahery, ary mandritra ny minitra maromaro rehefa miverina. Azo amboarina izany amin'ny alΓ lan'ny famoahana ho azy ireo modules misy olana.
#!/bin/sh
if [ "" == "pre" ]; then
rmmod thunderbolt
rmmod apple_ib_tb
elif [ "" == "post" ]; then
modprobe apple_ib_tb
modprobe thunderbolt
fi
Ataovy azo tanterahana izany:
sudo chmod +x /lib/systemd/system-sleep/rmmod.sh
Izay ihany aloha izao. Ny vokatr'izany dia rafitra azo ampiasaina tanteraka, afa-tsy ireo nuance sasany miaraka amin'ny fampiatoana/resume. Tsy nisy fianjerana na fikorontanan'ny kernel hita nandritra ny andro maromaro niasana. Manantena aho fa tsy ho ela ny mpanoratra ny bce module dia hamita izany, ary hahazo fanohanana feno amin'ny fampiatoana/resume sy feo.