MacBook Pro 2018 T2๋ฅผ ArchLinux์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ(์ด์ค‘ ๋ถ€ํŒ…)

์ƒˆ๋กœ์šด T2 ์นฉ์œผ๋กœ ์ธํ•ด ํ„ฐ์น˜๋ฐ”๊ฐ€ ์žˆ๋Š” ์ƒˆ๋กœ์šด 2018 MacBook์— Linux๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์—†๊ฒŒ ๋  ๊ฒƒ์ด๋ผ๋Š” ์‚ฌ์‹ค์— ๋Œ€ํ•ด ์ƒ๋‹นํ•œ ๊ณผ์žฅ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ํ˜๋Ÿฌ 2019๋…„ ๋ง์— ํƒ€์‚ฌ ๊ฐœ๋ฐœ์ž๋Š” T2 ์นฉ๊ณผ์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๋“œ๋ผ์ด๋ฒ„์™€ ์ปค๋„ ํŒจ์น˜๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. 2018๋…„ ์ดํ›„ MacBook ๋ชจ๋ธ์˜ ๊ธฐ๋ณธ ๋“œ๋ผ์ด๋ฒ„๋Š” VHCI ์ž‘์—…(ํ„ฐ์น˜/ํ‚ค๋ณด๋“œ ๋“ฑ ์ž‘์—…)๊ณผ ์‚ฌ์šด๋“œ ์ž‘์—…์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

๊ณ„ํš MBP2018-๋ธŒ๋ฆฌ์ง€-drv 3๊ฐ€์ง€ ์ฃผ์š” ๊ตฌ์„ฑ์š”์†Œ๋กœ ๋‚˜๋‰œ๋‹ค:

  • BCE(๋ฒ„ํผ ๋ณต์‚ฌ ์—”์ง„) - T2์™€์˜ ๊ธฐ๋ณธ ํ†ต์‹  ์ฑ„๋„์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. VHCI ๋ฐ ์˜ค๋””์˜ค์—๋Š” ์ด ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • VHCI๋Š” USB ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ ์ปจํŠธ๋กค๋Ÿฌ์ž…๋‹ˆ๋‹ค. ํ‚ค๋ณด๋“œ, ๋งˆ์šฐ์Šค ๋ฐ ๊ธฐํƒ€ ์‹œ์Šคํ…œ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์ด ๊ตฌ์„ฑ ์š”์†Œ์—์„œ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค(๋‹ค๋ฅธ ๋“œ๋ผ์ด๋ฒ„๋Š” ์ด ํ˜ธ์ŠคํŠธ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ์˜ค๋””์˜ค - T2 ์˜ค๋””์˜ค ์ธํ„ฐํŽ˜์ด์Šค์šฉ ๋“œ๋ผ์ด๋ฒ„๋Š” ํ˜„์žฌ MacBook์˜ ๋‚ด์žฅ ์Šคํ”ผ์ปค๋ฅผ ํ†ตํ•œ ์˜ค๋””์˜ค ์ถœ๋ ฅ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.


๋‘ ๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ๋Š” macbook12-spi-๋“œ๋ผ์ด๋ฒ„2016๋…„ ํ›„๋ฐ˜ MacBook Pro ๋ฐ ์ดํ›„ ๋ฒ„์ „์˜ ํ‚ค๋ณด๋“œ, SPI ํŠธ๋ž™ํŒจ๋“œ ๋ฐ ํ„ฐ์น˜๋ฐ”์šฉ ์ž…๋ ฅ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ž‘๋™ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋ฒ„์ „ 5.3๋ถ€ํ„ฐ ์ผ๋ถ€ ํ‚ค๋ณด๋“œ/ํŠธ๋ž™ํŒจ๋“œ ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์ปค๋„์— ํฌํ•จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Wi-Fi, ํ„ฐ์น˜ํŒจ๋“œ ๋“ฑ๊ณผ ๊ฐ™์€ ์žฅ์น˜์— ๋Œ€ํ•œ ์ง€์›๋„ ์ปค๋„ ํŒจ์น˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์ปค๋„ ๋ฒ„์ „ 5.3.5-1

ํ˜„์žฌ ์ง„ํ–‰ ์ค‘์ธ ์ž‘์—…

  1. NVMe
  2. ๊ฑด๋ฐ˜
  3. USB-C(Thunderbolt๋Š” ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋ชจ๋“ˆ์ด ์ž๋™์œผ๋กœ ๋กœ๋“œ๋˜๋ฉด ์‹œ์Šคํ…œ์ด ์ •์ง€๋ฉ๋‹ˆ๋‹ค.)
  4. ํ„ฐ์น˜๋ฐ”(Fn ํ‚ค, ๋ฐฑ๋ผ์ดํŠธ, ESC ๋“ฑ์„ ์ผœ๋Š” ๊ธฐ๋Šฅ ํฌํ•จ)
  5. ์‚ฌ์šด๋“œ(๋‚ด์žฅ ์Šคํ”ผ์ปค๋งŒ ํ•ด๋‹น)
  6. Wi-Fi ๋ชจ๋“ˆ(brcmfmac๋ฅผ ํ†ตํ•ด, iw๋ฅผ ํ†ตํ•ด์„œ๋งŒ)
  7. USB-C๋ฅผ ํ†ตํ•œ ๋””์Šคํ”Œ๋ ˆ์ดํฌํŠธ
  8. ์„ผ์„œ
  9. ์ผ์‹œ์ค‘๋‹จ/์žฌ๊ฐœ(์ผ๋ถ€)
  10. ๊ธฐํƒ€..

์ด ํŠœํ† ๋ฆฌ์–ผ์€ macbookpro15,1 ๋ฐ macbookpro15,2์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ๋Š” ์˜์–ด๋กœ Github์—์„œ ๊ธฐ์ดˆ๋กœ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ. ์ด ๊ธฐ์‚ฌ์˜ ๋ชจ๋“  ๋‚ด์šฉ์ด ์ž‘๋™ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ง์ ‘ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์•„์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์„ค์น˜์— ํ•„์š”ํ•œ ๊ฒƒ

  • USB-C ๋„ํ‚น ์–ด๋Œ‘ํ„ฐ(ํ…Œ๋”๋ง ๋ชจ๋“œ์—์„œ ๋งˆ์šฐ์Šค, ํ‚ค๋ณด๋“œ, USB ๋ชจ๋Ž€ ๋˜๋Š” ํœด๋Œ€ํฐ์„ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์†Œ XNUMX๊ฐœ์˜ 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๋ฅผ ํ• ๋‹นํ•˜๊ณ  ๋””์Šคํฌ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์ž์ฒด์—์„œ exfat๋กœ ํฌ๋งทํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ฆฌ ๋””์Šคํฌ ํŒŒํ‹ฐ์…˜ ๋‚˜๋ˆ„๊ธฐ ๋””์Šคํฌ ์œ ํ‹ธ๋ฆฌํ‹ฐ.

3. ISO ์ด๋ฏธ์ง€ ์ƒ์„ฑ

์˜ต์…˜ :

  1. ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ปค๋„ 5.3.5-1 ๋ฐ ํŒจ์น˜๊ฐ€ ํฌํ•จ๋œ ๊ธฐ์„ฑ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์šฐ๋‚ ๋ฆฌ1 ์™„์„ฑ๋œ ์ด๋ฏธ์ง€ ๋งํฌ
  2. archivelive๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์ด๋ฏธ์ง€ ์ƒ์„ฑ(Archa ๋ฐฐํฌํŒ์ด ์žˆ๋Š” ์‹œ์Šคํ…œ์ด ํ•„์š”ํ•จ)

    ์„ธํŠธ ์•„๋ฅดํ‚ค์†Œ

    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. ์ฒซ ๋ฒˆ์งธ ๋ถ€ํŒ…

ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ์™€ ํ‚ค๋ณด๋“œ๋ฅผ ์‚ฝ์ž…ํ•œ ์ƒํƒœ๋กœ ์žฌ๋ถ€ํŒ…ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ์˜ต์…˜์„ ๋ˆ„๋ฅด๊ณ  EFI BOOT๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ "e" ํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ณ  ๋ช…๋ น์ค„ ๋์— Enter๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. module_blacklist=์ฌ๋”๋ณผํŠธ. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์‹œ์Šคํ…œ์ด ๋ถ€ํŒ…๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ Thunderbolt 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์— Thunderbolt์™€ applesmc๋ฅผ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.

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

์ด ๊ฒฝ์šฐ ์ปค๋„ ๋ชจ๋“ˆ์ด ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ๊ณผ๋ถ€ํ„ฐ. ์ž๊ธฐ์กฐ๋ฆฝ์˜ ๊ฒฝ์šฐ๋ผ๊ณ  ํ•œ๋‹ค. BCE. ๋”ฐ๋ผ์„œ 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 ๋‚ด๋ถ€์— ์„ค์น˜๋˜๋ฉด ๋ถ€ํŠธ๋กœ๋” ์„ค์น˜๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋•…๋ฒŒ๋ ˆ๋ฅผ ์ผํ•˜๊ฒŒ ํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. Grub์€ ์™ธ๋ถ€ USB ๋“œ๋ผ์ด๋ธŒ์—์„œ ๋ถ€ํŒ…๋˜์ง€๋งŒ ๋‹ค์Œ์„ ํ†ตํ•ด nvme์— ๋“ฑ๋กํ•˜๋ ค๊ณ  ํ•˜๋ฉด

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

์‹œ์Šคํ…œ์ด ์ปค๋„ ํŒจ๋‹‰ ์ƒํƒœ์— ๋น ์กŒ๊ณ  ์žฌ๋ถ€ํŒ… ํ›„ ์˜ต์…˜์„ ํ†ตํ•ด ์ƒˆ ํ•ญ๋ชฉ์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์ง€ ๋ชปํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— systemd-boot๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€ํŒ…์„ ๊ตฌํ˜„ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

  1. ์‹œ์ž‘ํ•˜๋‹ค
    bootctl --path=/boot install

    ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ์ปค๋„ ํŒจ๋‹‰์— ๋น ์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. MacBook์„ ๊ป๋‹ค๊ฐ€ ๋‹ค์‹œ ์ผœ๊ณ  ์˜ต์…˜์„ ํด๋ฆญํ•˜์„ธ์š”. (ํ‚ค๋ณด๋“œ๋กœ 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. Wi-Fi ์„ค์ •

๊ฒฐ๊ตญ MacOS๋Š” Wi-Fi ์–ด๋Œ‘ํ„ฐ์˜ ํŽŒ์›จ์–ด ํŒŒ์ผ์„ ํด๋”์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. /usr/๊ณต์œ /ํŽŒ์›จ์–ด/์™€์ดํŒŒ์ด , ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ๋ธ”๋กญ ํ˜•ํƒœ๋กœ ๊ฐ€์ ธ์™€ 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๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ MacBook ๋ชจ๋ธ์— ๋”ฐ๋ผ ์ด ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ๋ฐ”๊ฟ”์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์•„์น˜๋กœ ์žฌ๋ถ€ํŒ…ํ•˜์‹ญ์‹œ์˜ค.

ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ์˜ ํŒŒ์ผ์„ /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๋ฅผ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋‚˜ํƒ€๋‚˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
๋‹ค์Œ์„ ํ†ตํ•ด Wi-Fi ์„ค์ •ํ•˜๊ธฐ ์œ ํ‚คํ‹€

์ฃผ๋ชฉ. 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

XNUMX๊ฐœ์˜ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”:

์ด๋™ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

    /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 ์ €์žฅ์†Œ์—์„œ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ apple-bce ๋ชจ๋“ˆ์„ ์„ค์น˜ํ•œ ๊ฒฝ์šฐ ๋จผ์ € ์ด๋ฅผ ์ œ๊ฑฐํ•œ ๋‹ค์Œ ์ผ์‹œ ์ค‘์ง€ ๋ชจ๋“œ๋ฅผ ์ง€์›ํ•˜๋Š” bce ๋ชจ๋“ˆ์„ ์–ด์…ˆ๋ธ”ํ•˜๊ณ  ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ applesmc ๋ชจ๋“ˆ์„ ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•˜๊ณ (์ด์ „์— ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ) /boot/loader/entries/arch.conf์˜ ๋์— ์žˆ๋Š” ์˜ต์…˜ ์ค„์— ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. pcie_ports=ํ˜ธํ™˜.

ํ˜„์žฌ ์ผ์‹œ ์ค‘์ง€ ๋ชจ๋“œ๋กœ ์ง„์ž…ํ•  ๋•Œ ํ„ฐ์น˜๋ฐ” ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์ถฉ๋Œํ•˜๊ณ , 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

์ง€๊ธˆ์€ ์—ฌ๊ธฐ๊นŒ์ง€์ž…๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ์ผ์‹œ์ค‘๋‹จ/์žฌ๊ฐœ์™€ ๊ด€๋ จ๋œ ์ผ๋ถ€ ๋ฏธ๋ฌ˜ํ•œ ์ฐจ์ด๋ฅผ ์ œ์™ธํ•˜๊ณ  ์™„์ „ํžˆ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์‹œ์Šคํ…œ์ด ํƒ„์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฉฐ์น  ๊ฐ„์˜ ๊ฐ€๋™ ์‹œ๊ฐ„ ๋™์•ˆ ์ถฉ๋Œ์ด๋‚˜ ์ปค๋„ ํŒจ๋‹‰์ด ๊ด€์ฐฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ฐ€๊นŒ์šด ์‹œ์ผ ๋‚ด์— bce ๋ชจ๋“ˆ ์ž‘์„ฑ์ž๊ฐ€ ์ด ์ž‘์—…์„ ์™„๋ฃŒํ•˜๊ณ  ์ผ์‹œ ์ค‘์ง€/์žฌ๊ฐœ ๋ฐ ์‚ฌ์šด๋“œ์— ๋Œ€ํ•œ ์™„์ „ํ•œ ์ง€์›์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€