ಮ್ಯಾಕ್‌ಬುಕ್ ಪ್ರೊ 2018 T2 ಅನ್ನು ArchLinux (ಡ್ಯುಯಲ್‌ಬೂಟ್) ಜೊತೆಗೆ ಕೆಲಸ ಮಾಡುವುದು

ಹೊಸ T2 ಚಿಪ್ ಟಚ್‌ಬಾರ್‌ನೊಂದಿಗೆ ಹೊಸ 2018 ಮ್ಯಾಕ್‌ಬುಕ್‌ಗಳಲ್ಲಿ ಲಿನಕ್ಸ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲು ಅಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ ಎಂಬ ಅಂಶದ ಬಗ್ಗೆ ಸ್ವಲ್ಪ ಪ್ರಚಾರವಿದೆ. ಸಮಯ ಕಳೆದಿದೆ, ಮತ್ತು 2019 ರ ಕೊನೆಯಲ್ಲಿ, ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಡೆವಲಪರ್‌ಗಳು T2 ಚಿಪ್‌ನೊಂದಿಗೆ ಸಂವಹನಕ್ಕಾಗಿ ಹಲವಾರು ಡ್ರೈವರ್‌ಗಳು ಮತ್ತು ಕರ್ನಲ್ ಪ್ಯಾಚ್‌ಗಳನ್ನು ಜಾರಿಗೆ ತಂದರು. MacBook ಮಾಡೆಲ್‌ಗಳು 2018 ಮತ್ತು ಹೊಸ ಉಪಕರಣಗಳ VHCI ಕಾರ್ಯಾಚರಣೆ (ಟಚ್/ಕೀಬೋರ್ಡ್/ಇತ್ಯಾದಿ. ಕಾರ್ಯಾಚರಣೆ), ಹಾಗೂ ಧ್ವನಿ ಕಾರ್ಯಾಚರಣೆಗಾಗಿ ಮುಖ್ಯ ಚಾಲಕ.

ಯೋಜನೆಯು mbp2018-bridge-drv 3 ಮುಖ್ಯ ಘಟಕಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ:

  • BCE (ಬಫರ್ ಕಾಪಿ ಇಂಜಿನ್) - T2 ನೊಂದಿಗೆ ಮುಖ್ಯ ಸಂವಹನ ಚಾನಲ್ ಅನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ. VHCI ಮತ್ತು ಆಡಿಯೊಗೆ ಈ ಘಟಕದ ಅಗತ್ಯವಿದೆ.
  • VHCI ಒಂದು USB ವರ್ಚುವಲ್ ಹೋಸ್ಟ್ ನಿಯಂತ್ರಕವಾಗಿದೆ; ಕೀಬೋರ್ಡ್, ಮೌಸ್ ಮತ್ತು ಇತರ ಸಿಸ್ಟಮ್ ಘಟಕಗಳನ್ನು ಈ ಘಟಕದಿಂದ ಒದಗಿಸಲಾಗಿದೆ (ಇತರ ಚಾಲಕರು ಹೆಚ್ಚಿನ ಕಾರ್ಯವನ್ನು ಒದಗಿಸಲು ಈ ಹೋಸ್ಟ್ ನಿಯಂತ್ರಕವನ್ನು ಬಳಸುತ್ತಾರೆ.
  • ಆಡಿಯೊ - T2 ಆಡಿಯೊ ಇಂಟರ್‌ಫೇಸ್‌ಗಾಗಿ ಚಾಲಕ, ಪ್ರಸ್ತುತ ಮ್ಯಾಕ್‌ಬುಕ್‌ನ ಅಂತರ್ನಿರ್ಮಿತ ಸ್ಪೀಕರ್‌ಗಳ ಮೂಲಕ ಆಡಿಯೊ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ


ಎರಡನೇ ಯೋಜನೆಯನ್ನು ಕರೆಯಲಾಗುತ್ತದೆ ಮ್ಯಾಕ್‌ಬುಕ್ 12-ಸ್ಪೈ-ಡ್ರೈವರ್, ಮತ್ತು ಇದು MacBook Pro ಲೇಟ್ 2016 ಮತ್ತು ನಂತರದ ಕೀಬೋರ್ಡ್, SPI ಟ್ರ್ಯಾಕ್‌ಪ್ಯಾಡ್ ಮತ್ತು ಟಚ್‌ಬಾರ್‌ಗಾಗಿ ಇನ್‌ಪುಟ್ ಡ್ರೈವರ್ ಅನ್ನು ನಿರ್ವಹಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. ಕೆಲವು ಕೀಬೋರ್ಡ್/ಟ್ರ್ಯಾಕ್‌ಪ್ಯಾಡ್ ಡ್ರೈವರ್‌ಗಳನ್ನು ಈಗ ಕರ್ನಲ್‌ನಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಆವೃತ್ತಿ 5.3 ರಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ.

ವೈ-ಫೈ, ಟಚ್‌ಪ್ಯಾಡ್ ಇತ್ಯಾದಿ ಸಾಧನಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಕರ್ನಲ್ ಪ್ಯಾಚ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಅಳವಡಿಸಲಾಗಿದೆ. ಪ್ರಸ್ತುತ ಕರ್ನಲ್ ಆವೃತ್ತಿ 5.3.5-1

ಈ ಸಮಯದಲ್ಲಿ ಏನು ಕೆಲಸ ಮಾಡುತ್ತಿದೆ

  1. NVMe
  2. ಕೀಲಿಮಣೆ
  3. USB-C (ಥಂಡರ್ಬೋಲ್ಟ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಲಾಗಿಲ್ಲ; ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲೋಡ್ ಮಾಡಿದಾಗ, ಅದು ಸಿಸ್ಟಮ್ ಅನ್ನು ಫ್ರೀಜ್ ಮಾಡುತ್ತದೆ)
  4. ಟಚ್‌ಬಾರ್ (ಎಫ್‌ಎನ್ ಕೀಗಳು, ಬ್ಯಾಕ್‌ಲೈಟ್, ಇಎಸ್‌ಸಿ ಇತ್ಯಾದಿಗಳನ್ನು ಆನ್ ಮಾಡುವ ಸಾಮರ್ಥ್ಯದೊಂದಿಗೆ)
  5. ಧ್ವನಿ (ಅಂತರ್ನಿರ್ಮಿತ ಸ್ಪೀಕರ್ಗಳು ಮಾತ್ರ)
  6. Wi-Fi ಮಾಡ್ಯೂಲ್ (brcmfmac ಮೂಲಕ ಮತ್ತು iw ಮೂಲಕ ಮಾತ್ರ)
  7. USB-C ಮೂಲಕ ಡಿಸ್ಪ್ಲೇಪೋರ್ಟ್
  8. ಸಂವೇದಕಗಳು
  9. ಅಮಾನತು/ಪುನರಾರಂಭಿಸು (ಭಾಗಶಃ)
  10. ಇತ್ಯಾದಿ.

ಈ ಟ್ಯುಟೋರಿಯಲ್ macbookpro15,1 ಮತ್ತು macbookpro15,2 ಗೆ ಅನ್ವಯಿಸುತ್ತದೆ. ಲೇಖನವನ್ನು ಇಂಗ್ಲಿಷ್‌ನಲ್ಲಿ ಗಿಥಬ್‌ನಿಂದ ಆಧಾರವಾಗಿ ತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ. ಇಲ್ಲಿಂದ. ಈ ಲೇಖನದಲ್ಲಿ ಎಲ್ಲವೂ ಕೆಲಸ ಮಾಡಲಿಲ್ಲ, ಆದ್ದರಿಂದ ನಾನೇ ಪರಿಹಾರವನ್ನು ಕಂಡುಹಿಡಿಯಬೇಕಾಗಿತ್ತು.

ನೀವು ಏನು ಸ್ಥಾಪಿಸಬೇಕು

  • USB-C ಡಾಕಿಂಗ್ ಅಡಾಪ್ಟರ್ USB ಗೆ (ಮೌಸ್, ಕೀಬೋರ್ಡ್, USB ಮೋಡೆಮ್ ಅಥವಾ ಫೋನ್ ಅನ್ನು ಟೆಥರಿಂಗ್ ಮೋಡ್‌ನಲ್ಲಿ ಸಂಪರ್ಕಿಸಲು ಕನಿಷ್ಠ ಮೂರು USB ಇನ್‌ಪುಟ್‌ಗಳು). ಅನುಸ್ಥಾಪನೆಯ ಮೊದಲ ಹಂತಗಳಲ್ಲಿ ಮಾತ್ರ ಇದು ಅಗತ್ಯವಾಗಿರುತ್ತದೆ
  • 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. ಡಿಸ್ಕ್ ಯುಟಿಲಿಟಿ ಬಳಸಿ ಮುಕ್ತ ಜಾಗವನ್ನು ನಿಯೋಜಿಸಿ

ಅನುಕೂಲಕ್ಕಾಗಿ, ನಾನು ತಕ್ಷಣವೇ 30GB ಅನ್ನು ಡಿಸ್ಕ್‌ಗೆ ನಿಯೋಜಿಸಿದೆ, ಅದನ್ನು ಡಿಸ್ಕ್ ಯುಟಿಲಿಟಿಯಲ್ಲಿಯೇ ಎಕ್ಸ್‌ಫ್ಯಾಟ್‌ನಲ್ಲಿ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಿದೆ. ಭೌತಿಕ ಡಿಸ್ಕ್ ಡಿಸ್ಕ್ ಉಪಯುಕ್ತತೆಯನ್ನು ವಿಭಜಿಸುವುದು.

3. ISO ಚಿತ್ರವನ್ನು ರಚಿಸಿ

ಆಯ್ಕೆಗಳು:

  1. ನೀವು ಸರಳ ಮಾರ್ಗದಲ್ಲಿ ಹೋಗಬಹುದು ಮತ್ತು ಕರ್ನಲ್ 5.3.5-1 ಮತ್ತು ಪ್ಯಾಚ್‌ಗಳೊಂದಿಗೆ ಸಿದ್ಧ ಚಿತ್ರವನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಬಹುದು ಔನಾಲಿ1 ಮುಗಿದ ಚಿತ್ರಕ್ಕೆ ಲಿಂಕ್ ಮಾಡಿ
  2. ಆರ್ಚ್ಲೈವ್ ಮೂಲಕ ಚಿತ್ರವನ್ನು ನೀವೇ ರಚಿಸಿ (ಆರ್ಚಾ ವಿತರಣೆಯೊಂದಿಗೆ ಸಿಸ್ಟಮ್ ಅಗತ್ಯವಿದೆ)

    ಸ್ಥಾಪಿಸಿ ಅರ್ಚಿಸೊ

    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
    

    ಅಗತ್ಯ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಸೇರಿಸಿ, ಕೊನೆಯಲ್ಲಿ ಲಿನಕ್ಸ್-ಎಂಬಿಪಿ ಕರ್ನಲ್ ಮತ್ತು ಲಿನಕ್ಸ್-ಎಂಬಿಪಿ-ಹೆಡರ್‌ಗಳನ್ನು ಸೇರಿಸಿ

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

    ಸಂವಾದಾತ್ಮಕ ಮೋಡ್‌ನಲ್ಲಿ ಕೆಲಸ ಮಾಡಲು ನಾವು ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬದಲಾಯಿಸುತ್ತೇವೆ (pacstrap -C ಅನ್ನು ಪ್ಯಾಕ್‌ಸ್ಟ್ರಾಪ್ -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 ಅನ್ನು ಒತ್ತಿರಿ, ನಂತರ usb ಫ್ಲಾಶ್ ಡ್ರೈವ್‌ಗೆ iso ಇಮೇಜ್ ಅನ್ನು ಬರೆಯಿರಿ:

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

4. ಮೊದಲ ಬೂಟ್

ಫ್ಲ್ಯಾಶ್ ಡ್ರೈವ್ ಮತ್ತು ಕೀಬೋರ್ಡ್ ಅನ್ನು ಸೇರಿಸುವುದರೊಂದಿಗೆ ರೀಬೂಟ್ ಮಾಡಿ. ಸೇಬು ಕಾಣಿಸಿಕೊಂಡಾಗ ಆಯ್ಕೆಗಳನ್ನು ಒತ್ತಿ, EFI ಬೂಟ್ ಆಯ್ಕೆಮಾಡಿ.

ಮುಂದೆ, ನೀವು "ಇ" ಕೀಲಿಯನ್ನು ಒತ್ತಿ ಮತ್ತು ಆಜ್ಞಾ ಸಾಲಿನ ಕೊನೆಯಲ್ಲಿ ನಮೂದಿಸಬೇಕು module_blacklist=ಗುಡುಗು. ಇದನ್ನು ಮಾಡದಿದ್ದರೆ, ಸಿಸ್ಟಮ್ ಬೂಟ್ ಆಗದೇ ಇರಬಹುದು ಮತ್ತು ಥಂಡರ್ಬೋಲ್ಟ್ 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

ಕರ್ನಲ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿ:


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

ನಾವು ಥಂಡರ್ಬೋಲ್ಟ್ ಮತ್ತು 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

ಕೀಬೋರ್ಡ್‌ಗಾಗಿ ಕರ್ನಲ್ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಸ್ಥಾಪಿಸಲಾಗುತ್ತಿದೆ. ಭಂಡಾರದಲ್ಲಿ ವಾರ್ಷಿಕ 1 ರೆಡಿಮೇಡ್ ಪ್ಯಾಕೇಜ್ ಇದೆ, ಅದನ್ನು ಕರೆಯಲಾಗುತ್ತದೆ apple-bce-dkms-git. ಇದನ್ನು ಸ್ಥಾಪಿಸಲು, ಕನ್ಸೋಲ್‌ನಲ್ಲಿ ಬರೆಯಿರಿ:

pacman -S apple-bce-dkms-git

ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಕರ್ನಲ್ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಕರೆಯಲಾಗುತ್ತದೆ ಸೇಬು-ಕ್ರಿ.ಪೂ. ಸ್ವಯಂ ಜೋಡಣೆಯ ಸಂದರ್ಭದಲ್ಲಿ, ಇದನ್ನು ಕರೆಯಲಾಗುತ್ತದೆ ಕ್ರಿ.ಪೂ. ಅಂತೆಯೇ, ನೀವು mkinicpio.conf ಫೈಲ್‌ನ MODULES ವಿಭಾಗದಲ್ಲಿ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ನೋಂದಾಯಿಸಲು ಬಯಸಿದರೆ, ನಂತರ ನೀವು ಯಾವ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿದ್ದೀರಿ ಎಂಬುದನ್ನು ಮರೆಯಬೇಡಿ.

ಹಸ್ತಚಾಲಿತ ಜೋಡಣೆ:


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

ಕರ್ನಲ್ ಮತ್ತು initramf ಗಳನ್ನು ನವೀಕರಿಸಲಾಗುತ್ತಿದೆ.


mkinitcpio -p linux-mbp

iwd ಅನ್ನು ಸ್ಥಾಪಿಸಿ:

sudo pacman -S networkmanager iwd

5. ಲೋಡರ್

ಎಲ್ಲಾ ಮುಖ್ಯ ಪ್ಯಾಕೇಜುಗಳನ್ನು chroot ಒಳಗೆ ಸ್ಥಾಪಿಸಿದ ನಂತರ, ನೀವು ಬೂಟ್‌ಲೋಡರ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವುದನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು.

ನಾನು ಕೆಲಸ ಮಾಡಲು ಗ್ರಬ್ ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ಬಾಹ್ಯ USB ಡ್ರೈವ್‌ನಿಂದ ಗ್ರಬ್ ಬೂಟ್‌ಗಳು, ಆದರೆ ನೀವು ಅದನ್ನು nvme ಮೂಲಕ ನೋಂದಾಯಿಸಲು ಪ್ರಯತ್ನಿಸಿದಾಗ

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

ಸಿಸ್ಟಮ್ ಕರ್ನಲ್ ಪ್ಯಾನಿಕ್‌ಗೆ ಹೋಯಿತು, ಮತ್ತು ಆಯ್ಕೆಗಳ ಮೂಲಕ ಹೊಸ ಐಟಂ ಅನ್ನು ರೀಬೂಟ್ ಮಾಡಿದ ನಂತರ ಕಾಣಿಸಲಿಲ್ಲ. ನಾನು ಈ ಸಮಸ್ಯೆಗೆ ಯಾವುದೇ ಸ್ಪಷ್ಟ ಪರಿಹಾರವನ್ನು ಕಂಡುಹಿಡಿಯಲಿಲ್ಲ ಮತ್ತು ಆದ್ದರಿಂದ systemd-boot ಅನ್ನು ಬಳಸಿಕೊಂಡು ಬೂಟಿಂಗ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಪ್ರಯತ್ನಿಸಲು ನಿರ್ಧರಿಸಿದೆ.

  1. ಆರಂಭ
    bootctl --path=/boot install

    ಮತ್ತು ನಾವು ಕರ್ನಲ್ ಪ್ಯಾನಿಕ್ಗೆ ಹೋಗುತ್ತೇವೆ. ಮ್ಯಾಕ್‌ಬುಕ್ ಅನ್ನು ಆಫ್ ಮಾಡಿ, ಅದನ್ನು ಮತ್ತೆ ಆನ್ ಮಾಡಿ, ಆಯ್ಕೆಗಳನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ (ಕೀಬೋರ್ಡ್‌ನೊಂದಿಗೆ USB-C ಹಬ್ ಅನ್ನು ಆಫ್ ಮಾಡಬೇಡಿ)

  2. ಬಾಹ್ಯ ಸಾಧನದ ಜೊತೆಗೆ ಹೊಸ EFI ಬೂಟ್ ನಮೂದು ಕಾಣಿಸಿಕೊಂಡಿದೆಯೇ ಎಂದು ನಾವು ಪರಿಶೀಲಿಸುತ್ತೇವೆ
  3. ಮೊದಲ ಅನುಸ್ಥಾಪನೆಯ ಸಮಯದಲ್ಲಿ ನಾವು ಬಾಹ್ಯ USB ಡ್ರೈವ್‌ನಿಂದ ಬೂಟ್ ಮಾಡಲು ಆಯ್ಕೆ ಮಾಡುತ್ತೇವೆ (module_blacklist=thunderbolt ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ಮರೆಯಬೇಡಿ)
  4. ನಾವು ನಮ್ಮ ಡಿಸ್ಕ್ ಅನ್ನು ಆರೋಹಿಸುತ್ತೇವೆ ಮತ್ತು ಆರ್ಚ್-ಕ್ರೂಟ್ ಮೂಲಕ ಪರಿಸರಕ್ಕೆ ಹೋಗುತ್ತೇವೆ


mount /dev/nvme0n1p4 /mnt
mount /dev/nvme0n1p1 /mnt/boot
arch-chroot /mnt

ಸಿಸ್ಟಮ್ ಸಂಪೂರ್ಣವಾಗಿ ಲೋಡ್ ಆಗುವವರೆಗೆ ಕೀಬೋರ್ಡ್ ಕೆಲಸ ಮಾಡಲು ಅಗತ್ಯವಿದ್ದರೆ (luks/dm-crypt ಗೂಢಲಿಪೀಕರಣವನ್ನು ಬಳಸುವಾಗ ಇದು ಅಗತ್ಯವಾಗಿರುತ್ತದೆ), ನಂತರ ಅದನ್ನು MODULES ವಿಭಾಗದಲ್ಲಿ /etc/mkinicpio.conf ಫೈಲ್‌ನಲ್ಲಿ ಬರೆಯಿರಿ:

MODULES=(ext4 applespi intel_lpss_pci spi_pxa2xx_platform bce)

ಕರ್ನಲ್ ಮತ್ತು 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 ಫೋಲ್ಡರ್‌ನಲ್ಲಿ ವೈ-ಫೈ ಅಡಾಪ್ಟರ್‌ಗಾಗಿ ಫರ್ಮ್‌ವೇರ್ ಫೈಲ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ /usr/share/firmware/wifi , ಮತ್ತು ನೀವು ಅವುಗಳನ್ನು ಅಲ್ಲಿಂದ ಬ್ಲಾಬ್‌ಗಳ ರೂಪದಲ್ಲಿ ತೆಗೆದುಕೊಳ್ಳಬಹುದು ಮತ್ತು ಅವುಗಳನ್ನು brcmfmac ಕರ್ನಲ್ ಮಾಡ್ಯೂಲ್‌ಗೆ ಫೀಡ್ ಮಾಡಬಹುದು. ನಿಮ್ಮ ಅಡಾಪ್ಟರ್ ಯಾವ ಫೈಲ್‌ಗಳನ್ನು ಬಳಸುತ್ತದೆ ಎಂಬುದನ್ನು ಕಂಡುಹಿಡಿಯಲು, MacOS ನಲ್ಲಿ ಟರ್ಮಿನಲ್ ಅನ್ನು ತೆರೆಯಿರಿ ಮತ್ತು ಬರೆಯಿರಿ:

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 ಫೋಲ್ಡರ್‌ನಿಂದ ಫ್ಲಾಶ್ ಡ್ರೈವ್‌ಗೆ ನಕಲಿಸಿ ಮತ್ತು ಅವುಗಳನ್ನು ಈ ಕೆಳಗಿನಂತೆ ಮರುಹೆಸರಿಸಿ:

    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>

ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಕೊನೆಯ ಪಠ್ಯ ಫೈಲ್ ಮಾದರಿ ಹೆಸರುಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ; ನಿಮ್ಮ ಮಾದರಿಯು ಮ್ಯಾಕ್‌ಬುಕ್‌ಪ್ರೊ15,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 ಮೂಲಕ ನೆಟ್‌ವರ್ಕ್ ಇಂಟರ್‌ಫೇಸ್ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ ಎಂದು ನಾವು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುತ್ತೇವೆ.
ಮೂಲಕ ವೈಫೈ ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ iwctl

ಗಮನ. netctl, nmcli, ಇತ್ಯಾದಿಗಳ ಮೂಲಕ. ಇಂಟರ್ಫೇಸ್ ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ, ಕೇವಲ iwd ಮೂಲಕ.

iwd ಅನ್ನು ಬಳಸಲು ನಾವು NetworkManager ಅನ್ನು ಒತ್ತಾಯಿಸುತ್ತೇವೆ. ಇದನ್ನು ಮಾಡಲು, /etc/NetworkManager/NetworkManager.conf ಫೈಲ್ ಅನ್ನು ರಚಿಸಿ ಮತ್ತು ಬರೆಯಿರಿ:

[device]
wifi.backend=iwd

NetworkManager ಸೇವೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿ


sudo systemctl start NetworkManager.service
sudo systemctl enable NetworkManager.service

7. ಧ್ವನಿ

ಧ್ವನಿ ಕೆಲಸ ಮಾಡಲು, ನೀವು ಪಲ್ಸ್ ಆಡಿಯೊವನ್ನು ಸ್ಥಾಪಿಸಬೇಕು:


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 ಮಾಡ್ಯೂಲ್‌ನ ಲೇಖಕರಿಗೆ ಕಾಯುತ್ತಿದ್ದೇವೆ.

ಸಸ್ಪೆಡ್/ರೆಸ್ಯೂಮ್ ಬೆಂಬಲದೊಂದಿಗೆ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ನಿರ್ಮಿಸಲು, ನೀವು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಮಾಡಬೇಕು:


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

ನೀವು anual1 ರೆಪೊಸಿಟರಿಯಿಂದ ರೆಡಿಮೇಡ್ apple-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 ಮಾಡ್ಯೂಲ್‌ನ ಲೇಖಕರು ಅದನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತಾರೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ ಮತ್ತು ಅಮಾನತು/ಪುನರಾರಂಭ ಮತ್ತು ಧ್ವನಿಗಾಗಿ ನಾವು ಸಂಪೂರ್ಣ ಬೆಂಬಲವನ್ನು ಪಡೆಯುತ್ತೇವೆ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ