НакарамС MacBook Pro 2018 T2 Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ с ArchLinux (dualboot)

ИмашС доста ΡˆΡƒΠΌ ΠΎΠΊΠΎΠ»ΠΎ новия Ρ‡ΠΈΠΏ T2, Π·Π°Ρ€Π°Π΄ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС инсталира Linux Π½Π° Π½ΠΎΠ²ΠΈΡ‚Π΅ MacBook 2018 с Touch Bar. Π’Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ ΠΌΠΈΠ½Π° ΠΈ към края Π½Π° 2019 Π³ΠΎΠ΄ΠΈΠ½Π° външни Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ…Π° Ρ€Π΅Π΄ΠΈΡ†Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ ΠΈ ΠΏΠ°Ρ‚Ρ‡ΠΈ Π·Π° ядрото Π·Π° взаимодСйствиС с Ρ‡ΠΈΠΏΠ° T2. ΠžΡΠ½ΠΎΠ²Π½ΠΈΡΡ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ MacBook ΠΎΡ‚ 2018 ΠΈ ΠΏΠΎ-Π½ΠΎΠ²ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° VHCI (испанскитС ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°/Ρ‚ΡŠΡ‡ΠΏΠ°Π΄ ΠΈ Ρ‚.Π½.), Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΈ Π½Π° Π·Π²ΡƒΠΊΠ°.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ mbp2018-bridge-drv Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° 3 основни ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°:

  • BCE (Buffer Copy Engine) β€” установява основния ΠΊΠ°Π½Π°Π» Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ с T2. VHCI ΠΈ Audio изискват Ρ‚ΠΎΠ·ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚.
  • VHCI β€” Ρ‚ΠΎΠ²Π° Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Π·Π° хост USB; ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°Ρ‚Π°, ΠΌΠΈΡˆΠΊΠ°Ρ‚Π° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° систСмата сС прСдоставят ΠΎΡ‚ Ρ‚ΠΎΠ·ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ (Π΄Ρ€ΡƒΠ³ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ‚ΠΎΠ·ΠΈ хост-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Π·Π° осигуряванС Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° функционалност).
  • Audio β€” Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π·Π° аудиоинтСрфСйса T2, Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° само ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π·Π²ΡƒΠΊ ΠΏΡ€Π΅Π· Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈΡ‚Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡ†ΠΈ Π½Π° MacBook.


Вторият ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ сС Π½Π°Ρ€ΠΈΡ‡Π° macbook12-spi-driver, ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π·Π° Π²Ρ…ΠΎΠ΄ Π·Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°Ρ‚Π°, Ρ‚ΡŠΡ‡ΠΏΠ°Π΄Π° SPI, Touch Bar Π·Π° MacBook Pro ΠΎΡ‚ края Π½Π° 2016 Π³. ΠΈ ΠΏΠΎ-късни вСрсии. Част ΠΎΡ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π·Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°Ρ‚Π°/Ρ‚ΡŠΡ‡ΠΏΠ°Π΄Π° Π²Π΅Ρ‡Π΅ са Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π² ядрото, Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΉΠΊΠΈ ΠΎΡ‚ вСрсия 5.3.

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° бСшС Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° устройства ΠΊΠ°Ρ‚ΠΎ Wi-Fi, Ρ‚ΡŠΡ‡ΠΏΠ°Π΄ ΠΈ Ρ‚.Π½. с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΏΠ°Ρ‚Ρ‡ΠΈ Π·Π° ядрото. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° вСрсията Π½Π° ядрото 5.3.5-1

Какво Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°

  1. NVMe
  2. ΠšΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°
  3. USB-C (Thunderbolt Π½Π΅ Π΅ тСстван, ΠΏΡ€ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π° систСмата Π·Π°ΠΌΡ€ΡŠΠ·Π²Π° напълно)
  4. Touch Bar (с Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠ»Π°Π²ΠΈΡˆΠΈΡ‚Π΅ Fn, подсвСтка, ESC ΠΈ Ρ‚.Π½.)
  5. Π—Π²ΡƒΠΊ (само Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ†ΠΈ)
  6. ΠœΠΎΠ΄ΡƒΠ» Wi-Fi (Ρ‡Ρ€Π΅Π· brcmfmac ΠΈ само ΠΏΡ€Π΅Π· iw)
  7. DisplayPort ΠΏΡ€Π΅Π· USB-C
  8. Π‘Π΅Π½Π·ΠΎΡ€ΠΈ
  9. Suspend/Resume (частично)
  10. ΠΈ Ρ‚.Π½.

Π’Π°Π·ΠΈ инструкция Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌΠ° Π·Π° macbookpro15,1 ΠΈ macbookpro15,2. Основана Π΅ Π½Π° статия ΠΎΡ‚ GitHub Π½Π° английски ΠΎΡ‚Ρ‚ΡƒΠΊ. НС всичко ΠΎΡ‚ Ρ‚Π°Π·ΠΈ статия Ρ€Π°Π±ΠΎΡ‚ΠΈ, Π·Π°Ρ‚ΠΎΠ²Π° сС Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° Ρ‚ΡŠΡ€ΡΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ самостоятСлно.

Какво Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° инсталацията

  • USB-C Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ Π·Π° ΠΏΡ€Π΅Ρ…ΠΎΠ΄ Π½Π° USB (ΠΏΠΎΠ½Π΅ Ρ‚Ρ€ΠΈ USB Π²Ρ…ΠΎΠ΄Π° Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° мишка, ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°, USB ΠΌΠΎΠ΄Π΅ΠΌ ΠΈΠ»ΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° tethering). Π’ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ само Π² Π½Π°Ρ‡Π°Π»Π½ΠΈΡ‚Π΅ Π΅Ρ‚Π°ΠΏΠΈ Π½Π° инсталацията.
  • USB ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°
  • USB/USB-C Ρ„Π»Π°ΡˆΠΊΠ° с ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 4GB

1. Π˜Π·ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ Π·Π°Π±Ρ€Π°Π½Π°Ρ‚Π° Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ ΠΎΡ‚ външни носитСли

https://support.apple.com/en-us/HT208330
https://www.ninjastik.com/support/2018-macbook-pro-boot-from-usb/

2. ОсвобоТдавамС свободно място с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Disk Utility.

Π—Π° удобство Π²Π΅Π΄Π½Π°Π³Π° освободих 30GB Π½Π° диска, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°ΠΉΠΊΠΈ Π³ΠΎ Π² exFAT Π² самия Disk Utility. РаздСлянС Π½Π° физичСския диск Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ Π² Disk Utility..

3. БъздавамС iso ΠΎΠ±Ρ€Π°Π·

ΠžΠΏΡ†ΠΈΠΈ:

  1. МоТС Π΄Π° сС Π²ΡŠΡ€Π½Π΅ΠΌ ΠΏΠΎ лСсния ΠΏΡŠΡ‚ ΠΈ Π΄Π° ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈΠΌ Π³ΠΎΡ‚ΠΎΠ² ΠΎΠ±Ρ€Π°Π· с ядро 5.3.5-1 ΠΈ ΠΏΠ°Ρ‡ΠΎΠ²Π΅ ΠΎΡ‚ aunali1 Π²Ρ€ΡŠΠ·ΠΊΠ° към готовия ΠΎΠ±Ρ€Π°Π·
  2. Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΎΠ±Ρ€Π°Π· сами с 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

ΠšΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°, Ρ‚Π°Ρ‡Π±Π°Ρ€ ΠΈ Ρ‚.Π½.

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΌΠ΅ 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

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΌΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ Π½Π° ядрото Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°Ρ‚Π°. Π’ рСпозиторият anuali1 ΠΈΠΌΠ° Π³ΠΎΡ‚ΠΎΠ² ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ сС Π½Π°Ρ€ΠΈΡ‡Π° apple-bce-dkms-git. Π—Π° Π΄Π° Π³ΠΎ инсталирамС, пишСм Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π°:

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 Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ. Grub сС Π·Π°Ρ€Π΅ΠΆΠ΄Π° ΠΎΡ‚ външСн usb диск, Π½ΠΎ ΠΏΡ€ΠΈ ΠΎΠΏΠΈΡ‚ Π·Π° инсталиранСто ΠΌΡƒ Π² nvme Ρ‡Ρ€Π΅Π·

grub-install β€”target=x86_64-efi β€”efi-directory=/boot β€”bootloader-id=grub

систСмата ΠΏΡ€Π΅Ρ‚ΡŠΡ€ΠΏΡ kernel panic, ΠΈ слСд рСстартиранС Π½ΠΎΠ²Π° опция Π½Π΅ сС появи Π² options. НС Π½Π°ΠΌΠ΅Ρ€ΠΈΡ… Π½ΠΈΠΊΠ°ΠΊΠ²ΠΎ ясно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ Π·Π°Ρ‚ΠΎΠ²Π° Ρ€Π΅ΡˆΠΈΡ… Π΄Π° ΠΎΠΏΠΈΡ‚Π°ΠΌ Π΄Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° systemd-boot.

  1. Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΌΠ΅
    bootctl --path=/boot install

    ΠΈ ΠΎΡ‚ΠΈΠ²Π°ΠΌΠ΅ Π² kernel panic. Π˜Π·ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ MacBook, Π²ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ Π³ΠΎ ΠΎΡ‚Π½ΠΎΠ²ΠΎ, натискамС options (usb-c Ρ…ΡŠΠ± с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°Ρ‚Π° Π½Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅)

  2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ²Π°ΠΌΠ΅, Ρ‡Π΅ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π½ΠΎΠ² запис EFI BOOT освСн Π²ΡŠΠ½ΡˆΠ½ΠΎΡ‚ΠΎ устройство
  3. Π˜Π·Π±ΠΈΡ€Π°ΠΌΠ΅ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ ΠΎΡ‚ външния usb диск, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½Π°Ρ‚Π° инсталация (Π½Π΅ забравяйтС Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ module_blacklist=thunderbolt)
  4. ΠœΠΎΠ½Ρ‚ΠΈΡ€Π°ΠΌΠ΅ диска си ΠΈ Π²Π»ΠΈΠ·Π°ΠΌΠ΅ Π² срСдата Ρ‡Ρ€Π΅Π· 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 ΠΈ записвамС:

Π—Π°Π³Π»Π°Π²ΠΈΠ΅ Π°Ρ€Ρ…
linux /vmlinuz-linux-mbp
initrd /initramfs-linux-mbp.img
ΠΎΠΏΡ†ΠΈΠΈ root=/dev/<b>nvme0n1p4</b> rw pcie_ports=compat

Π’ случай, Ρ‡Π΅ смС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π»ΠΈ luks ΠΈ lvm, Ρ‚ΠΎΠ³Π°Π²Π°

ΠΎΠΏΡ†ΠΈΠΈ cryptdevice=\/dev\/<b>nvme0n1p4</b>:luks root=\/dev\/mapper\/vz0-root rw pcie_ports=совмСстим

РСстартирамС Π² 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 -&gt; brcmfmac4364-pcie.bin
    maui-X3.clmb -&gt; brcmfmac4364-pcie.clm_blob
    P-maui-X3_M-HRPN_V-m__m-7.7.txt -&gt; brcmfmac4364-pcie.Apple Inc.-<b>MacBookPro15,2.txt</b>

Π’ Ρ‚ΠΎΠ·ΠΈ случай послСдният тСкстов Ρ„Π°ΠΉΠ» ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΈΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° ΠΌΠΎΠ΄Π΅Π»Π°. Ако Π²Π°ΡˆΠΈΡΡ‚ ΠΌΠΎΠ΄Π΅Π» Π½Π΅ Π΅ macbookpro15,2, трябва Π΄Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Ρ‚Π΅ Ρ‚ΠΎΠ·ΠΈ Ρ„Π°ΠΉΠ» Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ с ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° вашия MacBook.

РСстартирамС Π² arch.

ΠšΠΎΠΏΠΈΡ€Π°ΠΌΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ ΠΎΡ‚ Ρ„Π»Π°ΡˆΠΊΠ°Ρ‚Π° Π² ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° /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 Ρ‡Ρ€Π΅Π· iwctl

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. Π§Ρ€Π΅Π· netctl, nmcli ΠΈ Ρ‚.Π½. ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡŠΡ‚ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ, само Ρ‡Ρ€Π΅Π· 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 ΠΌΠΎΠ΄ΡƒΠ»Π° Π·Π°Π²ΡŠΡ€ΡˆΠΈ функционалността.

Π—Π° Π΄Π° сглобитС ΠΌΠΎΠ΄ΡƒΠ»Π° с ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° suspend/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.

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»Π° applesmc Π² blacklist (Π°ΠΊΠΎ Π½Π΅ стС Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ ΠΏΠΎ-Ρ€Π°Π½ΠΎ) ΠΈ Π΄Π° сС ΡƒΠ²Π΅Ρ€ΠΈΡ‚Π΅, Ρ‡Π΅ Π² /boot/loader/entries/arch.conf Π² Ρ€Π΅Π΄Π° options Π² края Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ΡŠΡ‚ pcie_ports=compat.

Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΡŠΡ‚ Π½Π° Ρ‚Π°Ρ‡Π±Π°Ρ€Π° ΠΏΠ°Π΄Π° ΠΏΡ€ΠΈ Π²Ρ…ΠΎΠ΄ Π² Ρ€Π΅ΠΆΠΈΠΌ suspend, Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΡŠΡ‚ Π½Π° thunderbolt понякога Π±Π»ΠΎΠΊΠΈΡ€Π° систСмата Π·Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 30 сСкунди, Π° ΠΏΡ€ΠΈ възобновяванС – Π·Π° няколко ΠΌΠΈΠ½ΡƒΡ‚ΠΈ. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎΠΏΡ€Π°Π²Π΅Π½ΠΎ Ρ‡Ρ€Π΅Π· Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΡ‚ΠΎ ΠΈΠ·Π²Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ скрипт /lib/systemd/system-sleep/rmmod.sh:

#!/bin/sh
if [ "${1}" == "pre" ]; then
        rmmod thunderbolt
        rmmod apple_ib_tb
elif [ "${1}" == "post" ]; then
        modprobe apple_ib_tb
        modprobe thunderbolt
fi

НаправСтС Π³ΠΎ изпълним:

sudo chmod +x /lib/systemd/system-sleep/rmmod.sh

На Ρ‚ΠΎΠ²Π° засСга Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ. Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ напълно Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰Π° систСма, с ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° някои нюанси с suspend/resume. Няма наблюдавани сривовС ΠΈ kernel panic ΠΏΡ€Π΅Π· послСднитС няколко Π΄Π½ΠΈ uptime. Надявам сС, Ρ‡Π΅ скоро Π°Π²Ρ‚ΠΎΡ€ΡŠΡ‚ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π° bce Ρ‰Π΅ Π³ΠΎ Π·Π°Π²ΡŠΡ€ΡˆΠΈ ΠΈ Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ пълна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° suspend/resume ΠΈ Π·Π²ΡƒΠΊ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster