ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΠ»ΠΎ ΡΡΠΌΠΈΡ ΠΈ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΈΠ·-Π·Π° Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° T2 Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ linux Π½Π° Π½ΠΎΠ²ΡΠ΅ MacBook 2018 Π³ΠΎΠ΄Π° Ρ ΡΠ°ΡΠ±Π°ΡΠΎΠΌ. Π¨Π»ΠΎ Π²ΡΠ΅ΠΌΡ, ΠΈ ΠΏΠΎΠ΄ ΠΊΠΎΠ½Π΅Ρ 2019 Π³ΠΎΠ΄Π° ΡΡΡΠΎΠ½Π½ΠΈΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ Π±ΡΠ» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΡΠ΄ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΈ ΠΏΠ°ΡΡΠ΅ΠΉ ΡΠ΄ΡΠ° Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠΈΠΏΠΎΠΌ T2. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ MacBook ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ 2018 ΠΈ Π½ΠΎΠ²Π΅Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ VHCI (ΡΠ°Π±ΠΎΡΠ° ΡΠ°ΡΠ°/ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ/ΠΈ.Ρ.Π΄.), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π²ΡΠΊΠ°.
ΠΡΠΎΠ΅ΠΊΡ
- BCE (Buffer Copy Engine) β ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ Ρ T2. VHCI ΠΈ Audio ΡΡΠ΅Π±ΡΡΡ ΡΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ.
- VHCI β ΡΡΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ Ρ ΠΎΡΡ-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ USB; ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°, ΠΌΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΡΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ (Π΄ΡΡΠ³ΠΈΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠΎΡ Ρ ΠΎΡΡ-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ.
- Audio β Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Π°ΡΠ΄ΠΈΠΎΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° T2, Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ²ΠΎΠ΄ Π·Π²ΡΠΊΠ° ΡΠ΅ΡΠ΅Π· Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ MacBook
ΠΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ
Π’Π°ΠΊΠΆΠ΅ Π±ΡΠ»Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΠΊΠΈΡ
ΡΡΡΡΠΎΠΉΡΡΠ², ΠΊΠ°ΠΊ wi-fi, ΡΠ°ΡΠΏΠ°Π΄, etc, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΡΠ΅ΠΉ ΡΠ΄ΡΠ°. ΠΠ° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π΅ΡΡΠΈΡ ΡΠ΄ΡΠ°
Π§ΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ
- NVMe
- ΠΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°
- USB-C (Thunderbolt Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ»ΡΡ, ΠΏΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΠ΄Π²Π΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π°ΠΌΠ΅ΡΡΠ²ΠΎ)
- Π’Π°ΡΠ±Π°Ρ (Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ Fn, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ°, ESC ΠΈΡΠΏ)
- ΠΠ²ΡΠΊ (ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ)
- ΠΠΎΠ΄ΡΠ»Ρ Wi-Fi (ΡΠ΅ΡΠ΅Π· brcmfmac ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· iw)
- DisplayPort ΡΠ΅ΡΠ΅Π· USB-C
- Π‘Π΅Π½ΡΠΎΡΡ
- Suspend/Resume (ΡΠ°ΡΡΠΈΡΠ½ΠΎ)
- etc..
ΠΠ°Π½Π½ΡΠΉ ΡΡΡΠΎΡΠΈΠ°Π» ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ Π΄Π»Ρ macbookpro15,1 ΠΈ macbookpro15,2. ΠΠ° ΠΎΡΠ½ΠΎΠ²Ρ Π±ΡΠ»Π° Π²Π·ΡΡΠ° ΡΡΠ°ΡΡΡ Ρ Π³ΠΈΡΡ
Π°Π±Π° Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ
Π§ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ
- USB-C Π΄ΠΎΠΊ-ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π½ΠΈΠΊ Π½Π° USB (ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠΈ USB Π²Ρ ΠΎΠ΄Π° Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΡΡΠΈ, ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, usb ΠΌΠΎΠ΄Π΅ΠΌΠ° ΠΈΠ»ΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ tethering). ΠΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΏΠ΅ΡΠ²ΡΡ ΡΡΠ°ΠΏΠ°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ
- USB-ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°
- USB/USB-C ΡΠ»Π΅ΡΠΊΠ° ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π½Π° 4ΠΠ±
1. ΠΡΠΊΠ»ΡΡΠ°Π΅ΠΌ Π·Π°ΠΏΡΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Ρ Π²Π½Π΅ΡΠ½ΠΈΡ Π½ΠΎΡΠΈΡΠ΅Π»Π΅ΠΉ
2. ΠΡΠ΄Π΅Π»ΡΠ΅ΠΌ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Disk Utility
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Ρ ΡΡΠ°Π·Ρ Π²ΡΠ΄Π΅Π»ΠΈΠ» 30ΠΠ± Π½Π° Π΄ΠΈΡΠΊ, ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π² Π΅Π³ΠΎ Π² exfat Π² ΡΠ°ΠΌΠΎΠΌ Disk Utility.
3. Π€ΠΎΡΠΌΠΈΡΡΠ΅ΠΌ iso ΠΎΠ±ΡΠ°Π·
ΠΠ°ΡΠΈΠ°Π½ΡΡ:
- ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΉΡΠΈ ΠΏΡΠΎΡΡΡΠΌ ΠΏΡΡΠ΅ΠΌ ΠΈ ΡΠΊΠ°ΡΠ°ΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ°Π· Ρ ΡΠ΄ΡΠΎΠΌ 5.3.5-1 ΠΈ ΠΏΠ°ΡΡΠ°ΠΌΠΈ ΠΎΡ
aunali1 ΡΡΡΠ»ΠΊΠ° Π½Π° Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ°Π· - Π‘ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ°Π· ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π· archlive (Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠΌ Π°ΡΡΠ°)
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ
archiso pacman -S archiso
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 ΠΈ 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-ΠΎΠ±ΡΠ°Π· Π½Π° usb ΡΠ»Π΅ΡΠΊΡ:
sudo dd if=out/archlinux*.iso of=/dev/sdb bs=1M
4. ΠΠ΅ΡΠ²Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ°
ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ Ρ Π²ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ ΡΠ»Π΅ΡΠΊΠΎΠΉ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ. ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ options ΠΏΡΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΠ±Π»ΠΎΠΊΠ°, Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ EFI BOOT.
ΠΠ°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ Β«eΒ» ΠΈ Π²ΠΏΠΈΡΠ°ΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ module_blacklist=thunderbolt. ΠΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡΡΡ, ΠΈ Π²ΡΠ»Π΅ΡΠΈΡ ΠΎΡΠΈΠ±ΠΊΠ° Thunderbolt ICM Error.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ fdisk/cfdisk Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌ Π½Π°Ρ ΡΠ°Π·Π΄Π΅Π» (Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎ nvme0n1p4), ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π°ΡΡΠ°. ΠΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ
ΠΠ°Π³ΡΡΠ·ΠΎΡΠ½ΡΠΉ ΡΠ°Π·Π΄Π΅Π» Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅ΠΌ, Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°ΡΡ Π² /dev/nvme0n1p1
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π² /mnt ΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² arch-chroot, ΠΏΠΈΡΠ΅ΠΌ:
mount /dev/nvme0n1p1 /mnt/boot
arch-chroot /mnt /bin/bash
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² /etc/pacman.conf:
[mbp]
Server = https://packages.aunali1.com/archlinux/$repo/$arch
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠ΄ΡΠΎ:
sudo pacman -S linux-mbp linux-mbp-headers
sudo mkinitcpio -p linux-mbp
ΠΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ thunderbolt ΠΈ applesmc Π² /etc/modprobe.d/blacklist.conf
blacklist thunderbolt
blacklist applesmc
ΠΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°, ΡΠ°ΡΠ±Π°Ρ, etc
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ yay:
sudo pacman -S git gcc make fakeroot binutils
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΡΠ±Π°ΡΠ°:
git clone --branch mbp15 https://github.com/roadrunner2/macbook12-spi-driver.git
cd macbook12-spi-driver
make install
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ: /etc/modules-load.d/apple.conf
industrialio_triggered_buffer
apple-ibridge
apple-ib-tb
apple-ib-als
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ΄ΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ. Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
pacman -S apple-bce-dkms-git
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΄ΡΠ° Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ apple-bce. Π ΡΠ»ΡΡΠ°Π΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ ΠΎΠ½ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ bce. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π² ΡΠ°Π·Π΄Π΅Π» MODULES Π² ΡΠ°ΠΉΠ» mkinicpio.conf, ΡΠΎ Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅, ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈ.
Π‘Π±ΠΎΡΠΊΠ° Π²ΡΡΡΠ½ΡΡ:
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
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ bce ΠΈΠ»ΠΈ apple-bce Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ: /etc/modules-load.d/bce.conf
bce
ΠΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Fn, ΡΠΎ Π² ΡΠ°ΠΉΠ» /etc/modprobe.d/apple-tb.conf ΠΏΠΈΡΠ΅ΠΌ:
options apple-ib-tb fnmode=2
ΠΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ ΡΠ΄ΡΠΎ ΠΈ initramfs.
mkinitcpio -p linux-mbp
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ iwd:
sudo pacman -S networkmanager iwd
5. ΠΠ°Π³ΡΡΠ·ΡΠΈΠΊ
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Π½ΡΡΡΠΈ chroot Π²ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°.
ΠΠ½Π΅ ΡΠ°ΠΊ ΠΈ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ grub. Π‘ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ usb-Π΄ΠΈΡΠΊΠ° grub Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ, Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ Π΅Π³ΠΎ Π² nvme ΡΠ΅ΡΠ΅Π·
grub-install —target=x86_64-efi —efi-directory=/boot —bootloader-id=grub
ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ»Π΅ΡΠ°Π»Π° Π² kernel panic, ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠ½ΠΊΡΠ° ΡΠ΅ΡΠ΅Π· options Π½Π΅ ΠΏΠΎΡΠ²Π»ΡΠ»ΠΎΡΡ. ΠΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ Π²Π½ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π½Π΅ Π½Π°ΡΠ΅Π» ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΡΠΈΠ» ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ systemd-boot.
- ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ
bootctl --path=/boot install
ΠΈ ΡΠ»Π΅ΡΠ°Π΅ΠΌ Π² kernel panic. ΠΡΠΊΠ»ΡΡΠ°Π΅ΠΌ MacBook, Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π·Π°Π½ΠΎΠ²ΠΎ, ΠΆΠΌΠ΅ΠΌ options (usb-c Ρ Π°Π± Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ Π½Π΅ ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΠΌ)
- ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π½ΠΎΠ²Π°Ρ Π·Π°ΠΏΠΈΡΡ EFI BOOT ΠΏΠΎΠΌΠΈΠΌΠΎ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
- ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ Π·Π°Π³ΡΡΠ·ΠΊΡ Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ usb-Π΄ΠΈΡΠΊΠ°, ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ (Π½Π΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ module_blacklist=thunderbolt)
- ΠΠΎΠ½ΡΠΈΡΡΠ΅ΠΌ Π½Π°Ρ Π΄ΠΈΡΠΊ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· arch-chroot
mount /dev/nvme0n1p4 /mnt
mount /dev/nvme0n1p1 /mnt/boot
arch-chroot /mnt
ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° ΡΠ°Π±ΠΎΡΠ°Π»Π° Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ (ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ luks/dm-crypt) ΡΠΎ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π² ΡΠ°ΠΉΠ» /etc/mkinicpio.conf Π² ΡΠ°Π·Π΄Π΅Π»Π΅ MODULES:
MODULES=(ext4 applespi intel_lpss_pci spi_pxa2xx_platform bce)
ΠΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ ΡΠ΄ΡΠΎ ΠΈ initramfs.
mkinicpio -p linux-mbp
ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ systemd-boot
Π Π΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ» /boot/loader/loader.conf, ΡΠ΄Π°Π»ΡΠ΅ΠΌ Π²ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΌ Π²Π½ΡΡΡΠΈ, ΠΈ Π²Π½ΠΎΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
default arch
timeout 5
editor 1
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΡ /boot/loader/entries, ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΠΉΠ» arch.conf ΠΈ ΠΏΠΈΡΠ΅ΠΌ:
title arch
linux /vmlinuz-linux-mbp
initrd /initramfs-linux-mbp.img
options root=/dev/<b>nvme0n1p4</b> rw pcie_ports=compat
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ luks ΠΈ lvm, ΡΠΎ
options cryptdevice=/dev/<b>nvme0n1p4</b>:luks root=/dev/mapper/vz0-root rw pcie_ports=compat
ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ Π² MacOS.
6. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Wi-Fi
ΠΠ°ΠΊ Π² ΠΈΡΠΎΠ³Π΅ Π²ΡΡΡΠ½ΠΈΠ»ΠΎΡΡ, ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ Π΄Π»Ρ wi-fi Π°Π΄Π°ΠΏΡΠ΅ΡΠ° MacOS Ρ ΡΠ°Π½ΠΈΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ /usr/share/firmware/wifi , ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡ ΠΎΡ ΡΡΠ΄Π° Π²Π·ΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π±Π»ΠΎΠ±ΠΎΠ² ΠΈ ΡΠΊΠΎΡΠΌΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΄ΡΠ° brcmfmac. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΡΡΠ½ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΉΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²Π°Ρ Π°Π΄Π°ΠΏΡΠ΅Ρ, ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Π² MacOS ΠΈ ΠΏΠΈΡΠ΅ΠΌ:
ioreg -l | grep C-4364
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄Π»ΠΈΠ½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ. ΠΠ°ΠΌ Π½ΡΠΆΠ½Ρ ΡΠ°ΠΉΠ»Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΠ°Π·Π΄Π΅Π»Π° RequestedFiles:
"RequestedFiles" = ({"Firmware"="<b>C-4364__s-B2/maui.trx</b>","TxCap"="C-4364__s-B2/maui-X3.txcb","Regulatory"="C-4364__s-B2/<b>maui-X3.clmb</b>","NVRAM"="C-4364__s-B2/<b>P-maui-X3_M-HRPN_V-m__m-7.7.txt</b>"})
Π Π²Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠ³ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. ΠΠΎΠΏΠΈΡΡΠ΅ΠΌ ΠΈΡ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ /usr/share/firmware/wifi Π½Π° ΡΠ»Π΅ΡΠΊΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅ΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:
maui.trx -> brcmfmac4364-pcie.bin
maui-X3.clmb -> brcmfmac4364-pcie.clm_blob
P-maui-X3_M-HRPN_V-m__m-7.7.txt -> brcmfmac4364-pcie.Apple Inc.-<b>MacBookPro15,2.txt</b>
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π΅ΡΠ»ΠΈ Π²Π°ΡΠ° ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π΅ macbookpro15,2, ΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π²Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ ΠΌΠ°ΠΊΠ±ΡΠΊΠ°.
ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ Π² Π°ΡΡ.
ΠΠΎΠΏΠΈΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Ρ Ρ ΡΠ»Π΅ΡΠΊΠΈ Π² ΠΏΠ°ΠΏΠΊΡ /lib/firmware/brcm/
sudo cp brcmfmac4364-pcie.bin /lib/firmware/brcm/
sudo cp brcmfmac4364-pcie.clm_blob /lib/firmware/brcm/
sudo cp 'brcmfmac4364-pcie.Apple Inc.-<b>MacBookPro15,2.txt' /lib/firmware/brcm/
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ:
rmmod brcmfmac
modprobe brcmfmac
Π£Π±Π΅ΠΆΠ΄Π°Π΅ΠΌΡΡ, ΡΡΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΡΠ΅ΡΠ΅Π· ifconfig/ip.
ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ wifi ΡΠ΅ΡΠ΅Π·
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅. Π§Π΅ΡΠ΅Π· netctl, nmcli, etc. ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· iwd.
ΠΠ°ΡΡΠ°Π²Π»ΡΠ΅ΠΌ NetworkManager ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ iwd. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΠΉΠ» /etc/NetworkManager/NetworkManager.conf ΠΈ ΠΏΠΈΡΠ΅ΠΌ:
[device]
wifi.backend=iwd
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠ»ΡΠΆΠ±Ρ NetworkManager
sudo systemctl start NetworkManager.service
sudo systemctl enable NetworkManager.service
7. ΠΠ²ΡΠΊ
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π» Π·Π²ΡΠΊ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ pulseaudio:
sudo pacman -S pulseaudio
Π‘ΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΡΡΠΈ ΡΠ°ΠΉΠ»Π°:
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΈΡ :
/usr/share/alsa/cards/AppleT2.conf
/usr/share/pulseaudio/alsa-mixer/profile-sets/apple-t2.conf
/usr/lib/udev/rules.d/91-pulseaudio-custom.rules
8. Suspend/Resume
ΠΠ° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ 16.10.2019 ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π»ΠΈΠ±ΠΎ Π·Π²ΡΠΊ, Π»ΠΈΠ±ΠΎ suspend/resume. ΠΠ΄Π΅ΠΌ, ΠΏΠΎΠΊΠ° Π°Π²ΡΠΎΡ bce ΠΌΠΎΠ΄ΡΠ»Ρ Π΄ΠΎΠΏΠΈΠ»ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π».
Π§ΡΠΎΠ±Ρ ΡΠΎΠ±ΡΠ°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ susped/resume, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
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
ΠΡΠ»ΠΈ Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ apple-bce ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ anuali1, ΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π³ΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ bce ΠΌΠΎΠ΄ΡΠ»Ρ Ρ ΠΏΠΎΠ΄Π΄Π΅ΠΆΠΊΠΎΠΉ suspend ΡΠ΅ΠΆΠΈΠΌΠ°.
Π’Π°ΠΊΠΆΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² blacklist ΠΌΠΎΠ΄ΡΠ»Ρ applesmc (Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΡΠ°Π½Π΅Π΅) ΠΈ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π² /boot/loader/entries/arch.conf Π² ΡΡΡΠΎΠΊΠ΅ options Π² ΠΊΠΎΠ½ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ pcie_ports=compat.
ΠΠ° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΡΠ°ΡΠ±Π°ΡΠ° Π²ΡΠ»Π΅ΡΠ°Π΅Ρ ΠΏΡΠΈ Π²Ρ ΠΎΠ΄Π΅ Π² ΡΠ΅ΠΆΠΈΠΌ suspend, Π° Π΄ΡΠ°ΠΉΠ²Π΅Ρ thunderbolt ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠ΄Π²Π΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π½Π° 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
ΠΠ° ΡΡΠΎΠΌ ΠΏΠΎΠΊΠ° Π²ΡΠ΅. Π ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π½ΡΠ°Π½ΡΠΎΠ² Ρ suspend/resume. ΠΠΈΠΊΠ°ΠΊΠΈΡ
Π²ΡΠ»Π΅ΡΠΎΠ² ΠΈ kernel panic Π½Π΅ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π΄Π½Π΅ΠΉ Π°ΠΏΡΠ°ΠΉΠΌΠ°. ΠΠ°Π΄Π΅ΡΡΡ, Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π°Π²ΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ bce Π΅Π³ΠΎ Π΄ΠΎΠΏΠΈΠ»ΠΈΡ, ΠΈ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ suspend/resume ΠΈ Π·Π²ΡΠΊΠ°.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com