MacBook Pro 2018 T2 เจจเฉ‚เฉฐ ArchLinux (dualboot) เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ

เจ‡เจธ เจคเฉฑเจฅ เจฌเจพเจฐเฉ‡ เจ•เจพเจซเจผเฉ€ เจชเฉเจฐเจšเจพเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ•เจฟ เจจเจตเฉ€เจ‚ T2 เจšเจฟเฉฑเจช เจ‡เฉฑเจ• เจŸเฉฑเจšเจฌเจพเจฐ เจจเจพเจฒ เจจเจตเฉ‡เจ‚ 2018 เจฎเฉˆเจ•เจฌเฉเฉฑเจ•เจพเจ‚ 'เจคเฉ‡ เจฒเฉ€เจจเจ•เจธ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจเจพ เจ…เจธเฉฐเจญเจต เจฌเจฃเจพ เจฆเฉ‡เจตเฉ‡เจ—เฉ€เฅค เจธเจฎเจพเจ‚ เจฌเฉ€เจคเจฆเจพ เจ—เจฟเจ†, เจ…เจคเฉ‡ 2019 เจฆเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจฅเจฐเจก-เจชเจพเจฐเจŸเฉ€ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจจเฉ‡ T2 เจšเจฟเฉฑเจช เจจเจพเจฒ เจ—เฉฑเจฒเจฌเจพเจค เจ•เจฐเจจ เจฒเจˆ เจ•เจˆ เจกเจฐเจพเจˆเจตเจฐเจพเจ‚ เจ…เจคเฉ‡ เจ•เจฐเจจเจฒ เจชเฉˆเจšเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพเฅค เจฎเฉˆเจ•เจฌเฉเฉฑเจ• เจฎเจพเจกเจฒเจพเจ‚ 2018 เจ…เจคเฉ‡ เจจเจตเฉ‡เจ‚ เจฒเจพเจ—เฉ‚ VHCI เจ“เจชเจฐเฉ‡เจธเจผเจจ (เจŸเฉฑเจš/เจ•เฉ€เจฌเฉ‹เจฐเจก/เจ†เจฆเจฟ เจ“เจชเจฐเฉ‡เจธเจผเจจ), เจ…เจคเฉ‡ เจจเจพเจฒ เจนเฉ€ เจธเจพเจŠเจ‚เจก เจ“เจชเจฐเฉ‡เจธเจผเจจ เจฒเจˆ เจฎเฉเฉฑเจ– เจกเจฐเจพเจˆเจตเจฐเฅค

เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ mbp2018-bridge-drv 3 เจฎเฉเฉฑเจ– เจญเจพเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจตเฉฐเจกเจฟเจ† เจ—เจฟเจ† เจนเฉˆ:

  • BCE (เจฌเจซเจฐ เจ•เจพเจชเฉ€ เจ‡เฉฐเจœเจฃ) - T2 เจจเจพเจฒ เจฎเฉเฉฑเจ– เจธเฉฐเจšเจพเจฐ เจšเฉˆเจจเจฒ เจธเจฅเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค VHCI เจ…เจคเฉ‡ เจ†เจกเฉ€เจ“ เจจเฉ‚เฉฐ เจ‡เจธ เจญเจพเจ— เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค
  • VHCI เจ‡เฉฑเจ• USB เจตเจฐเจšเฉเจ…เจฒ เจนเฉ‹เจธเจŸ เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ เจนเฉˆ; เจ•เฉ€เจฌเฉ‹เจฐเจก, เจฎเจพเจŠเจธ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจธเจฟเจธเจŸเจฎ เจ•เฉฐเจชเฉ‹เจจเฉˆเจ‚เจŸ เจ‡เจธ เจ•เฉฐเจชเฉ‹เจจเฉˆเจ‚เจŸ เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ (เจนเฉ‹เจฐ เจกเจฐเจพเจˆเจตเจฐ เจตเจงเฉ‡เจฐเฉ‡ เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจ เจฒเจˆ เจ‡เจธ เจนเฉ‹เจธเจŸ เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค
  • เจ†เจกเฉ€เจ“ - T2 เจ†เจกเฉ€เจ“ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจฒเจˆ เจกเจฐเจพเจˆเจตเจฐ, เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจš เจธเจฟเจฐเจซ เจฎเฉˆเจ•เจฌเฉเฉฑเจ• เจฆเฉ‡ เจฌเจฟเจฒเจŸ-เจ‡เจจ เจธเจชเฉ€เจ•เจฐเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจ†เจกเฉ€เจ“ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆ


เจฆเฉ‚เจœเจพ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจฎเฉˆเจ•เจฌเฉเฉฑเจ• 12-เจธเจชเฉ€-เจกเฉเจฐเจพเจˆเจตเจฐ, เจ…เจคเฉ‡ เจ‡เจน เจฎเฉˆเจ•เจฌเฉเฉฑเจ• เจชเฉเจฐเฉ‹ เจฒเฉ‡เจŸ 2016 เจ…เจคเฉ‡ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจ•เฉ€เจฌเฉ‹เจฐเจก, SPI เจŸเฉเจฐเฉˆเจ•เจชเฉˆเจก, เจ…เจคเฉ‡ เจŸเฉฑเจšเจฌเจพเจฐ เจฒเจˆ เจ‡เฉฑเจ• เจ‡เจจเจชเฉเจŸ เจกเจฐเจพเจˆเจตเจฐ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจธเจฎเจฐเฉฑเจฅเจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ•เฉเจ เจ•เฉ€เจฌเฉ‹เจฐเจก/เจŸเจฐเฉˆเจ•เจชเฉˆเจก เจกเจฐเจพเจˆเจตเจฐ เจนเฉเจฃ เจ•เจฐเจจเจฒ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ, เจตเจฐเจœเจจ 5.3 เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจนเฉเฉฐเจฆเฉ‡ เจนเจจเฅค

เจ•เจฐเจจเจฒ เจชเฉˆเจšเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจตเจพเจˆ-เจซเจพเจˆ, เจŸเฉฑเจšเจชเฉˆเจก เจ†เจฆเจฟ เจตเจฐเจ—เฉ‡ เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจตเฉ€ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค เจฎเฉŒเจœเฉ‚เจฆเจพ เจ•เจฐเจจเจฒ เจธเฉฐเจธเจ•เจฐเจฃ 5.3.5-1

เจ‡เจธ เจธเจฎเฉ‡เจ‚ เจ•เฉ€ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ

  1. NVMe
  2. เจ•เฉ€เจฌเฉ‹เจฐเจก
  3. USB-C (เจฅเฉฐเจกเจฐเจฌเฉ‹เจฒเจŸ เจฆเฉ€ เจœเจพเจ‚เจš เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ; เจœเจฆเฉ‹เจ‚ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจ†เจชเจฃเฉ‡ เจ†เจช เจฒเฉ‹เจก เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ‡เจน เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจซเฉเจฐเฉ€เจœเจผ เจ•เจฐ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ)
  4. เจŸเฉฑเจšเจฌเจพเจฐ (Fn เจ•เฉเฉฐเจœเฉ€เจ†เจ‚, เจฌเฉˆเจ•เจฒเจพเจˆเจŸ, ESC, เจ†เจฆเจฟ เจจเฉ‚เฉฐ เจšเจพเจฒเฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจฆเฉ‡ เจจเจพเจฒ)
  5. เจงเฉเจจเฉ€ (เจธเจฟเจฐเจซเจผ เจฌเจฟเจฒเจŸ-เจ‡เจจ เจธเจชเฉ€เจ•เจฐ)
  6. เจตเจพเจˆ-เจซเจพเจˆ เจฎเฉ‹เจกเฉ€เจŠเจฒ (brcmfmac เจฐเจพเจนเฉ€เจ‚ เจ…เจคเฉ‡ เจธเจฟเจฐเจซเจผ iw เจฐเจพเจนเฉ€เจ‚)
  7. USB-C เจ‰เฉฑเจคเฉ‡ เจกเจฟเจธเจชเจฒเฉ‡เจ…เจชเฉ‹เจฐเจŸ
  8. เจธเฉˆเจ‚เจธเจฐ
  9. เจฎเฉเจ…เฉฑเจคเจฒ/เจฎเฉเจ…เฉฑเจคเจฒ (เจ…เฉฐเจธเจผเจ• เจคเฉŒเจฐ 'เจคเฉ‡)
  10. เจ†เจฆเจฟ ..

เจ‡เจน เจŸเจฟเจŠเจŸเฉ‹เจฐเจฟเจ…เจฒ macbookpro15,1 เจ…เจคเฉ‡ macbookpro15,2 เจฒเจˆ เจฒเจพเจ—เฉ‚ เจนเฉˆเฅค เจฒเฉ‡เจ– เจจเฉ‚เฉฐ เจ…เฉฐเจ—เจฐเฉ‡เจœเจผเฉ€ เจตเจฟเฉฑเจš Github เจคเฉ‹เจ‚ เจ†เจงเจพเจฐ เจตเจœเฉ‹เจ‚ เจฒเจฟเจ† เจ—เจฟเจ† เจธเฉ€เฅค เจ‡เฉฑเจฅเฉ‹เจ‚. เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจธเจญ เจ•เฉเจ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ, เจ‡เจธ เจฒเจˆ เจฎเฉˆเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจ†เจช เจ‡เฉฑเจ• เจนเฉฑเจฒ เจฒเฉฑเจญเจฃเจพ เจชเจฟเจ†.

เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉ€ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ

  • 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
    

    เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจชเฉˆเจ•เฉ‡เจœ เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹, เจ…เฉฐเจค เจตเจฟเฉฑเจš linux-mbp เจ•เจฐเจจเจฒ เจ…เจคเฉ‡ linux-mbp-เจธเจฟเจฐเจฒเฉ‡เจ– เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹

    ...
    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. เจชเจนเจฟเจฒเจพ เจฌเฉ‚เจŸ

เจซเจฒเฉˆเจธเจผ เจกเจฐเจพเจˆเจต เจ…เจคเฉ‡ เจ•เฉ€เจฌเฉ‹เจฐเจก เจชเจพ เจ•เฉ‡ เจฐเฉ€เจฌเฉ‚เจŸ เจ•เจฐเฉ‹เฅค เจœเจฆเฉ‹เจ‚ เจธเฉ‡เจฌ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจตเจฟเจ•เจฒเจชเจพเจ‚ เจจเฉ‚เฉฐ เจฆเจฌเจพเจ“, EFI BOOT เจšเฉเจฃเฉ‹เฅค

เจ…เฉฑเจ—เฉ‡, เจคเฉเจนเจพเจจเฉ‚เฉฐ "e" เจ•เฉเฉฐเจœเฉ€ เจจเฉ‚เฉฐ เจฆเจฌเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจฆเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจฆเจฐเจœ เจ•เจฐเฉ‹ module_blacklist=เจฅเฉฐเจกเจฐเจฌเฉ‹เจฒเจŸ. เจœเฉ‡เจ•เจฐ เจ…เจœเจฟเจนเจพ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจธเจฟเจธเจŸเจฎ เจฌเฉ‚เจŸ เจจเจพ เจนเฉ‹เจตเฉ‡ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจฅเฉฐเจกเจฐเจฌเฉ‹เจฒเจŸ ICM เจ—เจฒเจคเฉ€ เจฆเจฟเจ–เจพเจˆ เจฆเฉ‡เจตเฉ‡เจ—เฉ€เฅค

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

เจ…เจธเฉ€เจ‚ /etc/modprobe.d/blacklist.conf เจตเจฟเฉฑเจš เจฅเฉฐเจกเจฐเจฌเฉ‹เจฒเจŸ เจ…เจคเฉ‡ applesmc เจฐเจœเจฟเจธเจŸเจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚

blacklist thunderbolt
blacklist applesmc

เจ•เฉ€เจฌเฉ‹เจฐเจก, เจŸเฉฑเจšเจฌเจพเจฐ, เจ†เจฆเจฟ

yey เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเฉ‹:


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

เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจ•เจฐเจจเจฒ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจจเฉ‚เฉฐ เจฌเฉเจฒเจพเจ‡เจ† เจœเจพเจตเฉ‡เจ—เจพ เจธเฉ‡เจฌ-เจฌเฉ€.เจธเฉ€.เจˆ. เจธเจตเฉˆ-เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš, เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจˆเจธเฉ€เจฌเฉ€. เจ‡เจธ เจ…เจจเฉเจธเจพเจฐ, เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ 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

เจ•เจฐเจจเจฒ เจ…เจคเฉ‡ initramfs เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เฉ€เจคเจพ เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆเฅค


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 BOOT เจเจ‚เจŸเจฐเฉ€ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฑเจคเฉ€ เจนเฉˆ
  3. เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจฌเจพเจนเจฐเฉ€ USB เจกเจฐเจพเจˆเจต เจคเฉ‹เจ‚ เจฌเฉ‚เจŸ เจ•เจฐเจจ เจฒเจˆ เจšเฉเจฃเจฆเฉ‡ เจนเจพเจ‚, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเจนเจฟเจฒเฉ€ เจธเจฅเจพเจชเจจเจพ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ (module_blacklist=thunderbolt เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจเจพ เจจเจพ เจญเฉเฉฑเจฒเฉ‹)
  4. เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ€ เจกเจฟเจธเจ• เจจเฉ‚เฉฐ เจฎเจพเจŠเจ‚เจŸ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ arch-chroot เจฐเจพเจนเฉ€เจ‚ เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจš เจœเจพเจ‚เจฆเฉ‡ เจนเจพเจ‚


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)

เจ•เจฐเจจเจฒ เจ…เจคเฉ‡ 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. เจตเจพเจˆ-เจซเจพเจˆ เจธเฉˆเฉฑเจŸเจ…เฉฑเจช

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เจน เจ…เฉฐเจค เจตเจฟเฉฑเจš เจธเจพเจนเจฎเจฃเฉ‡ เจ†เจ‡เจ†, เจฎเฉˆเจ•เฉ‹เจธ เจซเฉ‹เจฒเจกเจฐ เจตเจฟเฉฑเจš เจตเจพเจˆ-เจซเจพเจˆ เจ…เจกเฉˆเจชเจŸเจฐ เจฒเจˆ เจซเจฐเจฎเจตเฉ‡เจ…เจฐ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ /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>

เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจ†เจ–เจฐเฉ€ เจŸเฉˆเจ•เจธเจŸ เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจฎเจพเจกเจฒ เจฆเฉ‡ เจจเจพเจฎ เจธเจผเจพเจฎเจฒ เจนเจจ; เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเจพ เจฎเจพเจกเจฒ 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 เจฐเจพเจนเฉ€เจ‚ เจฆเจฟเจธเจฆเจพ เจนเฉˆเฅค
เจฐเจพเจนเฉ€เจ‚ เจตเจพเจˆ-เจซเจพเจˆ เจธเฉˆเฉฑเจŸเจ…เฉฑเจช เจ•เฉ€เจคเจพ เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆ iwctl

เจงเจฟเจ†เจจ. netctl, nmcli, เจ†เจฆเจฟ เจฐเจพเจนเฉ€เจ‚เฅค เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ, เจธเจฟเจฐเจซ iwd เจฆเฉเจ†เจฐเจพเฅค

เจ…เจธเฉ€เจ‚ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจฎเฉˆเจจเฉ‡เจœเจฐ เจจเฉ‚เฉฐ iwd เจตเจฐเจคเจฃ เจฒเจˆ เจฎเจœเจฌเฉ‚เจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, /etc/NetworkManager/NetworkManager.conf เจซเจพเจˆเจฒ เจฌเจฃเจพเจ“ เจ…เจคเฉ‡ เจฒเจฟเจ–เฉ‹:

[device]
wifi.backend=iwd

เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจฎเฉˆเจจเฉ‡เจœเจฐ เจธเฉ‡เจตเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ‹


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

เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ anuali1 เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจคเฉ‹เจ‚ เจคเจฟเจ†เจฐ เจเจชเจฒ-เจฌเฉ€เจธเฉ€เจˆ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเจพ เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจนเจฟเจฒเจพเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจนเจŸเจพเจ‰เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ•เฉ‡เจตเจฒ เจคเจฆ เจนเฉ€ เจธเจธเจชเฉˆเจ‚เจก เจฎเฉ‹เจก เจธเจฎเจฐเจฅเจจ เจจเจพเจฒ 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

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹