BCE (بفر ڪاپي انجڻ) - T2 سان مکيه مواصلاتي چينل قائم ڪري ٿو. VHCI ۽ آڊيو هن جزو جي ضرورت آهي.
VHCI هڪ USB ورچوئل هوسٽ ڪنٽرولر آهي. ڪيبورڊ، مائوس ۽ سسٽم جا ٻيا حصا هن جزو طرفان مهيا ڪيا ويا آهن (ٻيا ڊرائيور هن ميزبان ڪنٽرولر کي وڌيڪ ڪارڪردگي مهيا ڪرڻ لاء استعمال ڪندا آهن.
آڊيو - ڊرائيور T2 آڊيو انٽرفيس لاءِ، في الحال صرف MacBook جي بلٽ ان اسپيڪر ذريعي آڊيو آئوٽ کي سپورٽ ڪري ٿو
ٻيو منصوبو سڏيو ويندو آهي macbook12-spi-driver، ۽ اهو ڪيبورڊ، SPI ٽريڪ پيڊ، ۽ MacBook Pro Late 2016 ۽ بعد ۾ ٽچ بار لاءِ ان پٽ ڊرائيور هلائڻ جي صلاحيت کي لاڳو ڪري ٿو. ڪجھ ڪيبورڊ/ٽريڪ پيڊ ڊرائيور ھاڻي ڪنييل ۾ شامل آھن، ورجن 5.3 سان شروع ٿي.
USB-C (ٿنڊربولٽ جي آزمائش نه ڪئي وئي آهي؛ جڏهن ماڊل خودڪار طور تي لوڊ ڪيو ويندو آهي، اهو سسٽم کي منجمد ڪري ٿو)
ٽچبار (Fn چابيون، بيڪ لائٽ، ESC، وغيره کي چالو ڪرڻ جي صلاحيت سان)
آواز (صرف بلٽ ان اسپيڪر)
وائي فائي ماڊل (brcmfmac ذريعي ۽ صرف iw ذريعي)
USB-C مٿان ڊسپلي پورٽ
سينسر
معطل / ٻيهر شروع ڪريو (جزوي طور تي)
وغيره ..
هي سبق macbookpro15,1 ۽ macbookpro15,2 لاءِ لاڳو آهي. مضمون انگريزيءَ ۾ Github مان هڪ بنياد طور ورتو ويو. هتي کان. هن آرٽيڪل ۾ سڀ ڪجهه ڪم نه ڪيو، تنهنڪري مون کي پنهنجو پاڻ کي حل ڪرڻو پيو.
جيڪو توهان کي انسٽال ڪرڻ جي ضرورت آهي
USB-C ڊاکنگ اڊاپٽر USB ڏانهن (گهٽ ۾ گهٽ ٽي USB ان پٽ هڪ مائوس، ڪي بورڊ، USB موڊيم يا فون کي ٽيٿرنگ موڊ ۾ ڳنڍڻ لاءِ). اهو صرف انسٽاليشن جي پهرين مرحلن دوران ضروري آهي
cp -r /usr/share/archiso/configs/releng/ archlive
cd archlive
pacman.conf ۾ مخزن شامل ڪريو:
[mbp]
Server = https://packages.aunali1.com/archlinux/$repo/$arch
اسان pacman.conf ۾ اصل ڪنييل کي نظر انداز ڪندا آهيون:
IgnorePkg = linux linux-headers
ضروري پيڪيجز شامل ڪريو، آخر ۾ شامل ڪريو linux-mbp kernel ۽ linux-mbp-headers
...
wvdial
xl2tpd
linux-mbp
linux-mbp-headers
اسان انٽرايڪٽو موڊ ۾ ڪم ڪرڻ لاءِ اسڪرپٽ تبديل ڪريون ٿا (pacstrap -C کي 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!"
}
تصوير ٺاھڻ:
sudo ./build.sh -v
نظرانداز ٿيل پيڪيجز کي ڇڏڻ لاءِ Y کي دٻايو، پوءِ يو ايس بي فليش ڊرائيو تي iso تصوير لکو:
sudo dd if=out/archlinux*.iso of=/dev/sdb bs=1M
4. پهريون بوٽ
فليش ڊرائيو ۽ ڪيبورڊ داخل ڪرڻ سان ريبوٽ ڪريو. اختيارن کي دٻايو جڏهن ايپل ظاهر ٿئي ٿي، چونڊيو EFI BOOT.
اڳيون، توهان کي "اي" کي دٻائڻ جي ضرورت آهي ۽ ڪمانڊ لائن جي آخر ۾ داخل ڪريو module_blacklist=thunderbolt. جيڪڏهن اهو نه ڪيو ويو آهي، سسٽم بوٽ نه ٿي سگھي ۽ هڪ Thunderbolt ICM غلطي ظاهر ٿيندي.
fdisk/cfdisk استعمال ڪندي اسان پنهنجو ورهاڱو ڳوليندا آهيون (منهنجي لاءِ اهو آهي nvme0n1p4)، ان کي فارميٽ ڪريو ۽ آرڪائيو انسٽال ڪريو. توهان استعمال ڪري سگهو ٿا سرڪاري هدايتون يا پاسي کان.
اسان بوٽ ورهاڱي نه ٺاهي رهيا آهيون؛ اسان ان ۾ بوٽ لوڊ ڪندڙ لکنداسين /dev/nvme0n1p1
/mnt ۾ ماحول مڪمل طور تي ٺھيل آھي ۽ آرڪ-ڪروٽ ڏانھن وڃڻ کان اڳ، لکو:
mount /dev/nvme0n1p1 /mnt/boot
arch-chroot /mnt /bin/bash
شامل ڪريو /etc/pacman.conf:
[mbp]
Server = https://packages.aunali1.com/archlinux/$repo/$arch
سسٽم ڪنييل خوفناڪ ۾ ويو، ۽ اختيارن جي ذريعي نئين شيء کي ريبوٽ ڪرڻ کان پوء ظاهر نه ٿيو. مون کي هن مسئلي جو ڪو به واضح حل نه مليو ۽ تنهن ڪري systemd-boot استعمال ڪندي بوٽنگ کي لاڳو ڪرڻ جي ڪوشش ڪرڻ جو فيصلو ڪيو.
لانچ
bootctl --path=/boot install
۽ اسان ڪرنل خوف ۾ وڃون ٿا. MacBook کي بند ڪريو، ان کي ٻيهر آن ڪريو، اختيارن تي ڪلڪ ڪريو (ڪيبورڊ سان USB-C حب کي بند نه ڪريو)
توھان جي صورت ۾، فائل جا نالا مختلف ٿي سگھن ٿا. انھن کي نقل ڪريو /usr/share/firmware/wifi فولڊر مان فليش ڊرائيو ڏانھن ۽ انھن کي ھيٺ ڏنل نالو تبديل ڪريو:
انهي صورت ۾، آخري ٽيڪسٽ فائل ۾ ماڊل جا نالا شامل آهن؛ جيڪڏهن توهان جو ماڊل macbookpro15,2 نه آهي، ته پوء توهان کي پنهنجي MacBook ماڊل جي مطابق هن فائل جو نالو تبديل ڪرڻو پوندو.
آرڪ ۾ ريبوٽ ڪريو.
فليش ڊرائيو مان فائلن کي نقل ڪريو /lib/firmware/brcm/ فولڊر ۾
هن وقت 16.10.2019 توهان کي يا ته آواز چونڊڻو آهي يا معطل/ٻيهر شروع ڪريو. اسان انتظار ڪري رهيا آهيون ليکڪ جو bce ماڊل ڪارڪردگي مڪمل ڪرڻ لاءِ.
معطل ٿيل / ريزوم سپورٽ سان ماڊل ٺاهڻ لاءِ، توھان کي ھيٺيون ڪم ڪرڻ گھرجي:
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
جيڪڏهن توهان anuali1 repository مان تيار ٿيل ايپل-bce ماڊل انسٽال ڪيو ٿا، ته پوءِ توهان کي پهريان ان کي هٽائڻو پوندو ۽ صرف ان کان پوءِ معطل موڊ سپورٽ سان bce ماڊل کي گڏ ڪري انسٽال ڪريو.
انهي سان گڏ، توهان کي applesmc ماڊل کي بليڪ لسٽ ۾ شامل ڪرڻ جي ضرورت آهي (جيڪڏهن توهان اهو اڳ نه ڪيو آهي) ۽ پڪ ڪريو ته /boot/loader/entries/arch.conf ۾ اختيارن جي لائن ۾ آخر ۾ پيرا ميٽر شامل ڪيو ويو آهي. pcie_ports = compat.
في الحال، ٽچ بار ڊرائيور حادثو ٿئي ٿو جڏهن معطل موڊ ۾ داخل ٿئي ٿو، ۽ ٿنڊربولٽ ڊرائيور ڪڏهن ڪڏهن سسٽم کي 30 سيڪنڊن کان وڌيڪ لاء، ۽ ڪيترن ئي منٽن لاء جڏهن ٻيهر شروع ڪري ٿو. اهو خودڪار طريقي سان مسئلو ماڊلز کي لوڊ ڪندي مقرر ڪري سگهجي ٿو.
اسڪرپٽ ٺاهيو /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
ان کي قابل عمل ٺاهيو:
sudo chmod +x /lib/systemd/system-sleep/rmmod.sh
اهو سڀ ڪجهه هاڻي لاءِ آهي. نتيجو هڪ مڪمل طور تي قابل عمل سسٽم آهي، معطل / ٻيهر شروع ڪرڻ سان ڪجهه نونسن جي استثنا سان. اپ ٽائم جي ڪيترن ئي ڏينهن دوران ڪوبه حادثو يا ڪرنل خوف نه ڏٺو ويو. مون کي اميد آهي ته ويجهي مستقبل ۾ bce ماڊل جو ليکڪ ان کي ختم ڪري ڇڏيندو، ۽ اسان کي معطل / ٻيهر شروع ۽ آواز لاء مڪمل مدد ملندي.