MacBook Pro 2018 T2 ကို ArchLinux (dualboot) ဖဌင့် အလုပ်လုပ်စေခဌင်သ

T2 ချစ်ပ်အသစ်သည် touchbar ဖဌင့် 2018 MacBooks အသစ်တလင် Linux ကိုထည့်သလင်သရန်မဖဌစ်နိုင်ဟူသောအချက်နဟင့် ပတ်သက်၍ အနည်သငယ် ဖောင်သပလနေပါသည်။ အချိန်ကုန်လလန်သလာသကာ 2019 နဟစ်ကုန်တလင် Third-party developer မျာသသည် T2 ချစ်ပ်နဟင့်အပဌန်အလဟန်ဆက်သလယ်ရန်အတလက် drivers နဟင့် kernel patches အမျာသအပဌာသကို အကောင်အထည်ဖော်ခဲ့သည်။ MacBook မော်ဒယ်မျာသအတလက် 2018 နဟင့် အသစ်ထလက်ရဟိမည့် အဓိက ဒရိုက်ဘာသည် VHCI လုပ်ဆောင်ချက် (touch/keyboard/etc. operation) အပဌင် အသံလုပ်ဆောင်ချက်ကို ဖော်ဆောင်ပေသပါသည်။

စီမံကိန်သ၏ mbp2018-bridge-drv အဓိက အစိတ်အပိုင်သ ၃ ခု ခလဲထာသပါတယ်။

  • BCE (Buffer Copy Engine) - T2 ဖဌင့် ပင်မဆက်သလယ်ရေသလမ်သကဌောင်သကို ထူထောင်သည်။ VHCI နဟင့် Audio သည် ကအစိတ်အပိုင်သ လိုအပ်ပါသည်။
  • VHCI သည် USB Virtual Host Controller တစ်ခုဖဌစ်သည်။ ကီသဘုတ်၊ မောက်စ်နဟင့် အခဌာသစနစ်အစိတ်အပိုင်သမျာသကို ကအစိတ်အပိုင်သမဟ ပံ့ပိုသပေသသည် (အခဌာသဒရိုင်ဘာမျာသသည် ပိုမိုလုပ်ဆောင်နိုင်စလမ်သကိုပေသစလမ်သရန် က host controller ကို အသုံသပဌုသည်။
  • အသံ - T2 အော်ဒီယိုအင်တာဖေ့စ်အတလက် ဒရိုက်ဘာ၊ လက်ရဟိတလင် MacBook ၏ တပ်ဆင်ပါရဟိစပီကာမျာသမဟတစ်ဆင့် အသံထလက်ရဟိမဟုကိုသာ ပံ့ပိုသပေသပါသည်။


ဒုတိယစီမံကိန်သဟုခေါ်သည်။ macbook12-spi-driver၎င်သသည် ကီသဘုတ်၊ SPI ခဌေရာခံပက်ဒ်နဟင့် MacBook Pro နဟောင်သပိုင်သ 2016 နဟင့် နောက်ပိုင်သအတလက် ထိတလေ့မဟုဘာသအတလက် ထည့်သလင်သသည့်ဒရိုက်ဗာကို လုပ်ဆောင်နိုင်စလမ်သကို အကောင်အထည်ဖော်ပေသပါသည်။ ကီသဘုတ်/ခဌေရာခံပက်ဒရိုက်ဗာအချို့သည် ယခုအခါ ဗာသရဟင်သ 5.3 မဟစတင်ကာ kernel တလင် ထည့်သလင်သထာသပါသည်။

wi-fi၊ touchpad စသည်တို့ကဲ့သို့သော စက်ပစ္စည်သမျာသအတလက် ပံ့ပိုသမဟုအာသ kernel ဖာထေသမဟုမျာသကို အသုံသပဌု၍ လုပ်ဆောင်ခဲ့သည်။ လက်ရဟိ kernel ဗာသရဟင်သ 5.3.5-1

လောလောဆယ် ဘာတလေလုပ်နေလဲ။

  1. NVMe
  2. ကီသဘုတ်
  3. USB-C (Thunderbolt ကို မစမ်သသပ်ရသေသပါ၊ မော်ဂျူသကို အလိုအလျောက် တင်သောအခါ၊ ၎င်သသည် စနစ်အာသ ရပ်တန့်စေသည်)
  4. Touchbar (Fn ခလုတ်မျာသ၊ နောက်ခံအလင်သ၊ ESC စသည်ဖဌင့်) ကိုဖလင့်နိုင်သည်
  5. အသံ ( built-in စပီကာမျာသသာ)
  6. Wi-Fi module (brcmfmac မဟတဆင့်နဟင့် iw မဟတဆင့်သာ)
  7. USB-C မဟ DisplayPort
  8. အာရုံခံကိရိယာ
  9. ရပ်ဆိုင်သရန်/ပဌန်လည်စတင်ရန် (တစ်စိတ်တစ်ပိုင်သ)
  10. စသည်တို့ ..

ကသင်ခန်သစာသည် macbookpro15,1 နဟင့် macbookpro15,2 အတလက် သက်ဆိုင်ပါသည်။ ဆောင်သပါသကို အင်္ဂလိပ်လို Github မဟ အခဌေခံအဖဌစ် ယူထာသသည်။ ဒီမဟာ. ဒီဆောင်သပါသမဟာ အာသလုံသက အလုပ်မဖဌစ်တော့ အဖဌေရဟာရတာပေါ့။

တပ်ဆင်ရန် လိုအပ်သည်မျာသ

  • USB-C ချိတ်ဆက်မဟုမုဒ်တလင် USB-C အထိုင်ဒက်တာ (မောက်စ်၊ ကီသဘုတ်၊ USB မိုဒမ် သို့မဟုတ် ဖုန်သကို ချိတ်ဆက်ရန်အတလက် အနည်သဆုံသ USB အပေါက်သုံသခု)။ တပ်ဆင်ခဌင်သ၏ ပထမအဆင့်မျာသတလင်သာ လိုအပ်ပါသည်။
  • USB ကီသဘုတ်
  • USB/USB-C flash drive အနည်သဆုံသ 4GB

1. ပဌင်ပမီဒီယာမဟ စတင်ခဌင်သအာသ တာသမဌစ်ခဌင်သကို ပိတ်ပါ။

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

2. Disk Utility ကို အသုံသပဌု၍ နေရာလလတ်မျာသကို ခလဲဝေပါ။

အဆင်ပဌေစေရန်အတလက် 30GB ကို Disk Utility ကိုယ်တိုင်တလင် exfat ဖဌင့် ဖော်မတ်ချပေသပါသည်။ Physical Disk Disk Utility ကို Partitioning လုပ်ခဌင်သ။.

3. ISO ပုံတစ်ခု ဖန်တီသပါ။

ရလေသချယ်မဟုမျာသ:

  1. သင်သည် ရိုသရဟင်သသောလမ်သကဌောင်သအတိုင်သ သလာသနိုင်ပဌီသ kernel 5.3.5-1 နဟင့် ပဌင်ဆင်ထာသသော ပုံတစ်ပုံကို ဒေါင်သလုဒ်လုပ်ပဌီသ ဖာထေသမဟုမျာသမဟ aunali1 ပဌီသသောပုံသို့လင့်ခ်
  2. ဓာတ်ပုံတစ်ပုံကို archlive မဟတစ်ဆင့် ကိုယ်တိုင်ဖန်တီသပါ (Archa ဖဌန့်ဖဌူသမဟုစနစ်တစ်ခု လိုအပ်သည်)

    ထည့်သလင်သပါ archiso

    pacman -S archiso

    
    cp -r /usr/share/archiso/configs/releng/ archlive
    cd archlive
    

    repository ကို pacman.conf တလင်ထည့်ပါ-

    
    [mbp]
    Server = https://packages.aunali1.com/archlinux/$repo/$arch
    

    pacman.conf တလင် မူရင်သ kernel ကို ကျလန်ုပ်တို့ လျစ်လျူရဟုပါသည်-

    IgnorePkg   = linux linux-headers
    

    လိုအပ်သောပက်ကေ့ဂျ်မျာသကိုထည့်ပါ၊ အဆုံသတလင် linux-mbp kernel နဟင့် linux-mbp-headers မျာသကိုထည့်ပါ။

    ...
    wvdial
    xl2tpd
    linux-mbp
    linux-mbp-headers
    

    အပဌန်အလဟန်အကျိုသသက်ရောက်မဟုမုဒ်တလင်အလုပ်လုပ်ရန် script ကိုကျလန်ုပ်တို့ပဌောင်သလိုက်သည် (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 flash drive သို့ ရေသပါ-

    sudo dd if=out/archlinux*.iso of=/dev/sdb bs=1M

4. ပထမညသစလာ boot

flash drive နဟင့် ကီသဘုတ်ထည့်သလင်သခဌင်သဖဌင့် ပဌန်လည်စတင်ပါ။ ပန်သသီသပေါ်လာသောအခါ ရလေသချယ်မဟုမျာသကို နဟိပ်ပါ၊ EFI BOOT ကိုရလေသချယ်ပါ။

ထို့နောက်သင် "e" ခလုတ်ကိုနဟိပ်ပဌီသ command line ၏အဆုံသတလင်ရိုက်ထည့်ရန်လိုအပ်သည်။ module_blacklist=မိုသကဌိုသစက်. ၎င်သကိုမလုပ်ဆောင်ပါက၊ စနစ်သည် boot မလုပ်နိုင်ဘဲ Thunderbolt ICM Error ပေါ်လာပါမည်။

fdisk/cfdisk ကိုအသုံသပဌု၍ ကျလန်ုပ်တို့၏ partition ကိုတလေ့သည် (ကျလန်တော့်အတလက်ကတော့ nvme0n1p4) ကို format လုပ်ပဌီသ archive ကို install လုပ်ပါ။ သုံသလို့ရတယ်။ တရာသဝင်ညလဟန်ကဌာသချက် သို့မဟုတ် ဘေသတိုက်.

ကျလန်ုပ်တို့သည် boot partition ကိုဖန်တီသခဌင်သမဟုတ်ပါ၊ ကျလန်ုပ်တို့သည် bootloader ကိုရေသပါမည်။ /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

Kernel ကို ထည့်သလင်သပါ-


sudo pacman -S linux-mbp linux-mbp-headers
sudo mkinitcpio -p linux-mbp

ကျလန်ုပ်တို့သည် thunderbolt နဟင့် applesmc ကို /etc/modprobe.d/blacklist.conf တလင် မဟတ်ပုံတင်ပါသည်။

blacklist thunderbolt
blacklist applesmc

ကီသဘုတ်၊ ထိတလေ့ဘာသ စသဖဌင့်

တပ်ဆင်ပါ


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

ကီသဘုတ်အတလက် kernel module မျာသကို ထည့်သလင်သခဌင်သ။ သိုလဟောင်ရုံ၌ anuali1 အဆင်သင့်လုပ်ထာသတဲ့ အထုပ်တစ်ခုရဟိတယ်၊ အဲဒါကို ခေါ်တယ်။ apple-bce-dkms-git. ၎င်သကိုထည့်သလင်သရန်၊ ကလန်ဆိုသလ်တလင်ရေသပါ-

pacman -S apple-bce-dkms-git

ကကိစ္စတလင်၊ kernel module ကိုခေါ်လိမ့်မည်။ ပန်သသီသ-bce. ကိုယ်ပိုင် စည်သဝေသပလဲဟု ခေါ်သည်။ ecb. ထို့ကဌောင့်၊ သင်သည် mkinicpio.conf ဖိုင်၏ MODULES ကဏ္ဍတလင် မော်ဂျူသတစ်ခုကို မဟတ်ပုံတင်လိုပါက၊ သင်ထည့်သလင်သထာသသည့် မည်သည့် module ကိုမဟ မမေ့ပါနဟင့်။

လက်ဖဌင့် တပ်ဆင်ခဌင်သ-


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 module ကို ထည့်ပါ- /etc/modules-load.d/bce.conf

bce

ပုံမဟန်အာသဖဌင့် Fn ခလုတ်မျာသကို အသုံသပဌုလိုပါက /etc/modprobe.d/apple-tb.conf ဖိုင်တလင် ရေသပါ။

options apple-ib-tb fnmode=2

kernel နဟင့် initramf မျာသကို အပ်ဒိတ်လုပ်ခဌင်သ။


mkinitcpio -p linux-mbp

iwd ကို ထည့်သလင်သပါ

sudo pacman -S networkmanager iwd

5. Loader

chroot အတလင်သ အဓိက ပက်ကေ့ဂျ်မျာသအာသလုံသကို ထည့်သလင်သပဌီသသည်နဟင့် သင်သည် bootloader ကို စတင်ထည့်သလင်သနိုင်သည်။

ငါ အလုပ်မရဟုပ်နိုင်သေသဘူသ။ Grub သည် ပဌင်ပ USB ဒရိုက်ဗ်မဟ စတင်သော်လည်သ ၎င်သကို nvme မဟတစ်ဆင့် မဟတ်ပုံတင်ရန် ကဌိုသစာသသောအခါ

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

စနစ်သည် kernel အထိတ်တလန့်ဖဌစ်သလာသပဌီသ ရလေသချယ်စရာမျာသမဟတစ်ဆင့် အရာအသစ်တစ်ခုကို ပဌန်လည်စတင်ပဌီသနောက်တလင် ပေါ်လာခဌင်သမရဟိပါ။ ဒီပဌဿနာအတလက် ရဟင်သရဟင်သလင်သလင်သ ဖဌေရဟင်သချက်တစ်ခုမဟ မတလေ့မိတဲ့အတလက် systemd-boot ကိုသုံသပဌီသ booting လုပ်ကဌည့်ဖို့ ဆုံသဖဌတ်ခဲ့ပါတယ်။

  1. စတင်လိုက်ပါ
    bootctl --path=/boot install

    ပဌီသတော့ ကျလန်တော်တို့ kernel အထိတ်တလန့်ဖဌစ်သလာသတယ်။ MacBook ကိုပိတ်ပါ၊ ပဌန်ဖလင့်ပါ၊ ရလေသချယ်စရာမျာသကို နဟိပ်ပါ (ကီသဘုတ်ဖဌင့် USB-C hub ကို မပိတ်ပါနဟင့်)

  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 encryption ကိုအသုံသပဌုသည့်အခါ လိုအပ်သည်)၊ ထို့နောက် MODULES ကဏ္ဍရဟိ /etc/mkinicpio.conf ဖိုင်တလင် ရေသပါ။

MODULES=(ext4 applespi intel_lpss_pci spi_pxa2xx_platform bce)

kernel နဟင့် initramf မျာသကို အပ်ဒိတ်လုပ်ခဌင်သ။


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 စနစ်ထည့်သလင်သခဌင်သ။

နောက်ဆုံသတလင်ထလက်ပေါ်လာသည့်အတိုင်သ MacOS သည် folder အတလင်သရဟိ wi-fi adapter အတလက် firmware ဖိုင်မျာသကို သိမ်သဆည်သထာသသည်။ /usr/share/firmware/wifi ၊ ပဌီသတော့ သူတို့ကို blobs ပုံစံနဲ့ အဲဒီကနေ ယူပဌီသ brcmfmac kernel module မဟာ ကျလေသနိုင်ပါတယ်။ သင့် adapter အသုံသပဌုသည့်ဖိုင်မျာသကို သိရဟိရန်အတလက် MacOS တလင် terminal ကိုဖလင့်ပဌီသ ရေသပါ။

ioreg -l | grep C-4364

ကျလန်တော်တို့က စာရင်သအရဟည်ကဌီသတစ်ခုပါ။ အပိုင်သမဟ ဖိုင်မျာသသာ လိုအပ်ပါသည်။ တောင်သဆိုထာသသောဖိုင်မျာသ:

"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 ဖိုင်တလဲမဟ flash drive သို့ ကူသယူပဌီသ အောက်ပါအတိုင်သ အမည်ပဌောင်သပါ။

    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 မဟုတ်ပါက၊ သင်၏ MacBook မော်ဒယ်နဟင့်အညီ ကဖိုင်ကို အမည်ပဌောင်သရန် လိုအပ်သည်။

Arch သို့ပဌန်ဖလင့်ပါ။

ဖိုင်မျာသကို flash drive မဟ /lib/firmware/brcm/ folder သို့ကူသယူပါ။


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/

module ၏လုပ်ဆောင်နိုင်စလမ်သကိုစစ်ဆေသခဌင်သ-


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. ရပ်ဆိုင်သရန်/ပဌန်လည်စတင်ပါ။

ဒီအချိန်မဟာ 16.10.2019 အသံ သို့မဟုတ် ဆိုင်သငံ့ခဌင်သ/ပဌန်လည်စတင်ရန် သင်ရလေသချယ်ရပါမည်။ bce module ၏ရေသသာသသူသည် လုပ်ဆောင်နိုင်စလမ်သကို အပဌီသသတ်ရန် ကျလန်ုပ်တို့စောင့်ဆိုင်သနေပါသည်။

ဆိုင်သငံ့ထာသသော/ကိုယ်ရေသမဟတ်တမ်သ ပံ့ပိုသမဟုဖဌင့် မော်ဂျူသတစ်ခုကို တည်ဆောက်ရန်၊ သင်သည် အောက်ပါတို့ကို လုပ်ဆောင်ရမည်-


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 မဟ အဆင်သင့်လုပ်ထာသသော apple-bce module ကို ထည့်သလင်သပါက၊ ၎င်သကို ညသစလာဖယ်ရဟာသပဌီသမဟသာ suspend mode support ဖဌင့် bce module ကို စုစည်သတပ်ဆင်ပါ။

ထို့အပဌင်၊ သင်သည် applesmc module ကို blacklist တလင်ထည့်ရန် လိုအပ်သည် (ကအရာကို ယခင်က မလုပ်ရသေသပါက) နဟင့် အဆုံသတလင် ရလေသချယ်မဟုမျဉ်သရဟိ /boot/loader/entries/arch.conf တလင် ပါရာမီတာကို ထည့်ထာသကဌောင်သ သေချာပါစေ။ pcie_ports=compat.

လောလောဆယ်တလင်၊ ဆိုင်သငံ့မုဒ်သို့ဝင်ရောက်သည့်အခါ ထိတလေ့ဘာသဒရိုင်ဘာသည် ပျက်သလာသကာ၊ မိုသကဌိုသဒရိုင်ဘာသည် တစ်ခါတစ်ရံတလင် စနစ်ကို စက္ကန့် 30 ကျော်ကဌာ အေသခဲစေပဌီသ ပဌန်လည်စတင်သည့်အခါ မိနစ်မျာသစလာကဌာသည်။ ပဌဿနာရဟိသော module မျာသကိုအလိုအလျောက်ပဌန်ဖဌုတ်ခဌင်သဖဌင့်၎င်သကိုပဌင်ဆင်နိုင်သည်။

ဇာတ်ညလဟန်သဖန်တီသပါ။ /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

လောလောဆယ်တော့ ဒီလောက်ပါပဲ။ ရလဒ်သည် ဆိုင်သငံ့ခဌင်သ/ကိုယ်ရေသရာဇဝင်ပါရဟိသော အချို့သော ကလဲလလဲချက်မျာသမဟလလဲ၍ လုံသဝအလုပ်လုပ်နိုင်သောစနစ်ဖဌစ်သည်။ အလုပ်ချိန်ရက်မျာသစလာအတလင်သ ပျက်စီသမဟုမျာသ သို့မဟုတ် kernel ထိတ်လန့်မဟုမျာသကို သတိပဌုမိခဌင်သမရဟိပါ။ မဝေသတော့သောအနာဂတ်တလင် bce module ၏ရေသသာသသူသည် ၎င်သကိုအပဌီသသတ်နိုင်မည်ဟု မျဟော်လင့်ပဌီသ suspend/resume နဟင့် sound အတလက် အပဌည့်အဝပံ့ပိုသမဟုရလာမည်ဖဌစ်သည်။

source: www.habr.com

မဟတ်ချက် Add