Skip to content

Instantly share code, notes, and snippets.

@TRPB
Last active November 20, 2023 13:21
Show Gist options
  • Save TRPB/437f663b545d23cc8a2073253c774be3 to your computer and use it in GitHub Desktop.
Save TRPB/437f663b545d23cc8a2073253c774be3 to your computer and use it in GitHub Desktop.
Guide: Running Arch on a 2018 MacBook Pro

Hardware Prerequisites

You'll need at least the following hardware:

  • At least 3 USB-A to USB-C converters or hub with enough ports for at least 3 USB devices if all your devices are USB-A then:
  • A USB drive
  • A USB keyboard
  • USB to Ethernet adapter, compatible USB dongle or USB tethering on a phone

General notes:

  • I strongly recommend against deleting OSX entirely even if you'll never use it, it is required for locating the WiFi firmware during install and can be valuable for determining which hardware you have.

Build archiso with a custom kernel

You'll need an existing arch install to do this

  1. Firstly grab a copy of the archiso script as instructed here:

https://wiki.archlinux.org/index.php/Archiso

cp -r /usr/share/archiso/configs/releng/ archlive
cd archlive
  1. Add aunali1's repo to pacman.conf:
[mbp]
Server = https://packages.aunali1.com/archlinux/$repo/$arch
  1. Ignore the original kernel in pacman.conf
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
IgnorePkg   = linux linux-headers
  1. Add the linux-mbp pakages to the end of packagesx86_64
...
wvdial
xl2tpd
linux-mbp
linux-mbp-headers
  1. Force the build script to use interactive mode for pacstrap:

sudo nano /usr/bin/mkarchiso

In this file press Ctrl+W type pacstrap and replace every pacstrap -C with pacstrap -i -C:

# 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!"
}

Note: There is definitely a better way to accomplish this

  1. Build the iso:
sudo ./build.sh -v

Press Y to everything including skipping ignored packages (so the only kernel installed is linux-mbp) then write to your usb (where /dev/sdb is your usb) drive:

sudo dd if=out/archlinux*.iso of=/dev/sdb bs=1M
  1. Boot your mac in recovery mode enable booting from USB: https://www.ninjastik.com/support/2018-macbook-pro-boot-from-usb/

  2. Hold option while booting up and select your USB. (For some reason it didn't show at first for me and I had to unplug and re-plug the drive once the menu was on the screen)

Installation

You'll need to use a USB keyboard for the installation

  1. Follow the Arch Install as normal: https://wiki.archlinux.org/index.php/Installation_guide You can resize the OSX partition, I'd already installed Windows in bootcamp which did this for me so I just wiped off windows and installed Linux on the partitions it created.

  2. Mount the existing apple EFI partition (/dev/nvme0n1p1) to /boot (if you haven't run arch-chroot yet it will be mount /dev/nvme0n1p1 /mnt/boot)

  3. After you've used arch-chroot to see the file system as you would post install, add aunali1's repo to /etc/pacman.conf:

[mbp]
Server = https://packages.aunali1.com/archlinux/$repo/$arch
  1. Then install the kernel:
sudo pacman -S linux-mbp linux-mbp-headers
sudo mkinitcpio -p linux-mbp
  1. Use GRUB, (Systemd-boot crashed for me and forced me to hard reboot)

Install your DE and anything you want to use.

Keyboard/touchpad

  1. install yay:
sudo pacman -S git gcc make fakeroot binutils
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
  1. Install macbook12-spi-driver-dkms:
yay --editor=nano --editmenu -S macbook12-spi-driver-dkms

When it says PKGBUILDs to edit? type A to open nano (or substitute your favourite editor in the command above).

In the source( line change the branch to mbp15, replace https://github.com/roadrunner2/macbook12-spi-driver.git#branch=touchbar-driver-hid-driver with https://github.com/roadrunner2/macbook12-spi-driver.git#branch=mbp15

  1. Get MCMrArm's bridge driver and install it to extramodules:
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

you'll need to remember to rebuild the module every time you update the kernel), I'm looking for a way to automate this

  1. Have it load on boot:
sudo nano /etc/modules-load.d/bce.conf

Add the following:

bce
  1. Reboot, you can now disconnect your external keyboard and use the laptop's touchpad.

WiFi

Boot into OSX and run the following in terminal: ioreg -l | grep C-4364

It will show something like:

"RequestedFiles" = ({"Firmware"="C-4364__s-B2/kauai.trx","TxCap"="C-4364__s-B2/kauai-X3.txcb","Regulatory"="C-4364__s-B2/kauai-X3.clmb","NVRAM"="C-4364__s-B2/P-kauai-X3_M-HRPN_V-u__m-7.5.txt"})

    | |   |         |       "images" = {"C-4364__s-B2/kauai-X3.txcb"={"imagetype"="TxCap","required"=No,"imagename"="C-4364__s-B2/kauai-X3.txcb"},"C-4364__s-B2/P-kauai-X3_M-HRPN_V-u__m-7.5.txt"={"imagetype"="NVRAM","required"=Yes,"imagename"="C-4364__s-B2/P-kauai-X3_M-HRPN_V-u__m-7.5.txt"},"C-4364__s-B2/kauai-X3.clmb"={"imagetype"="Regulatory","required"=Yes,"imagename"="C-4364__s-B2/kauai-X3.clmb"},"C-4364__s-B2/kauai.trx"={"imagetype"="Firmware","required"=Yes,"imagename"="C-4364__s-B2/kauai.trx"}}


It'll be different depending on your exact model.

There are three files to note down. A .trx (for me: C-4364__s-B2/kauai.trx), a .clmb (for me: C-4364__s-B2/kauai-X3.clmb and a .txt (for me: C-4364__s-B2/P-kauai-X3_M-HRPN_V-u__m-7.5.txt

These refer to files on OSX in /usr/share/firmware/wifi. Copy the trx, clmb and txt somewhere you can easily access them when you boot back into linux (e.g. your home directory if you want to mount the HSF partition in linux, a usb stick, etc)

Boot back into linux and place the files in the following locations:

  1. Copy the trx to /lib/firmware/brcm/brcmfmac4364-pcie.bin (e.g. sudo cp kauai.trx /lib/firmware/brcm/brcmfmac4364-pcie.bin
  2. The clmb to /lib/firmware/brcm/brcmfmac4364-pcie.clm_blob (e.g. sudo cp kauai-X3.clmb /lib/firmware/brcm/brcmfmac4364-pcie.clm_blob)
  3. The txt to something like /lib/firmware/brcm/brcmfmac4364-pcie.Apple Inc.-MacBookPro15,1.txt. You will need to replace 15,1 with your model number. (e.g. sudo cp P-kauai-X3_M-HRPN_V-u__m-7.5.txt /lib/firmware/brcm/brcmfmac4364-pcie.Apple Inc.-MacBookPro15,1.txt)

Use networkmanager and iwd:

sudo pacman -S networkmanager iwd
sudo systemctl start NetworkManager.service
sudo systemctl enable NetworkManager.service

If you're on kde also install plasma-nm

Configure networkmanager to use iwd. Create /etc/NetworkManager/NetworkManager.conf and add:

[device]
wifi.backend=iwd

Restart the NetworkManager service and you should have wifi working.

Touchbar

If you've installed the mbp15 branch of @roadrunner2's spi driver as outlined above you just need to load the modules:

modprobe apple-ib-tb
modprobe apple-ib-als

If you want the touchbar to display F* keys by default create /etc/modprobe.d/apple-tb.conf and add

options apple-ib-tb fnmode=2

Audio

See MCMrARM's gist here: https://gist.github.com/MCMrARM/c357291e4e5c18894bea10665dcebffb

Create the three files and reboot.

Suspend

As of 20/09/2019 you have to choose between audio and suspend though this will likely change when MCMrARM updates the bridge driver.

  1. Install the suspend branch of the 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
  1. Blacklist applesmc

/etc/modprobe.d/applesmc.conf

blacklist applesmc
  1. Add pcie_ports=compat as a kernel parameter. Edit /etc/default/grub and add it to GRUB_CMDLINE_LINUX_DEFAULT e.g. GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet pcie_ports=compat" then run grub-mkconfig -o /boot/grub/grub.cfg and reboot.

  2. Currently (20/09/2019) the touchbar driver crashes on resume and the thunderbolt driver causes suspend to take 30+ seconds and resume to take several minutes. This is fixed by automaitcally unloading the problematic modules on suspend and reloading them on resume.

Create /lib/systemd/system-sleep/rmmod.sh and add:

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

and make the file executable:

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

DisplayPort over USB-C

Works out of the box with a compatible adapter

@jameseidson
Copy link

jameseidson commented Sep 20, 2020

@aunali1 Thank you, the packages worked perfectly and I have a full install now. Unfortunately, I'm stuck on getting wifi to work. I copied over the files from your archive listed in another comment, which got the wifi card to show up in ip link. I then followed the instructions in the original post to enable the iwd backend for network manager, as well as the instructions on the arch wiki here, including installing networkmanager-iwd. I am able to list nearby networks, but when I attempt to connect via nmcli I get Connection activation failed: (7) Secrets were required, but not provided (I am providing the network's passcode). When using nmtui to connect to the same network, I get Activation failed: The base network connection was interrupted. If I attempt to connect to a different network with no password, the program crashes and I get a huge screen writeout with a stack trace. Any recommendations? Also tagging @TRPB cause its his guide.

@aunali1
Copy link

aunali1 commented Sep 20, 2020

@jameseidson I suggest you connect to the wireless network using the iwctl utility instead of nmcli. It's REPL is quite intuitive and it should be fairly straightforward to connect to a network.

@jameseidson
Copy link

@aunali1 I tried this and again I am able to scan nearby networks just fine, but when I attempt to join any of them I get Operation aborted and nothing happens. Same experience whether I use the REPL or run from the command line with the appropriate arguments.

@aunali1
Copy link

aunali1 commented Sep 20, 2020

@jameseidson Hmm, odd... Can you please paste the results of the following after a clean reboot:

$ sudo dmesg | grep -i brcm

@jameseidson
Copy link

@aunali1

[    7.015518] usbcore: registered new interface driver brcmfmac
[    7.030322] brcmfmac 0000:03:00.0: enabling device (0000 -> 0002)
[    7.137403] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4364-pcie for chip BCM4364/3
[    7.171951] brcmfmac 0000:03:00.0: Direct firmware load for brcm/brcmfmac4364-pcie.Apple Inc.-MacBookPro15,1.txt failed with error -2
[    7.171959] brcmfmac 0000:03:00.0: Direct firmware load for brcm/brcmfmac4364-pcie.txt failed with error -2
[    7.538406] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4364-pcie for chip BCM4364/3
[    7.571404] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4364/3 wl0: Oct 23 2019 08:32:36 version 9.137.11.0.32.6.36 FWID 01-671ec60c
[    7.731492] Bluetooth: hci0: BCM: 'brcm/BCM.hcd'

@aunali1
Copy link

aunali1 commented Sep 20, 2020

@jameseidson It seems that your NVRAM .txt file is missing. This would explain the failure to connect. You will need to ensure that the requisite .txt file is named as brcmfmac4364-pcie.Apple Inc.-MacBookPro15,1.txt and located in your firmware/brcm/ folder.

@jameseidson
Copy link

jameseidson commented Sep 20, 2020

@aunali1 You are an absolute legend! When I initially moved the file I added quotations around the path because of the space, but I also mistakenly added an escape character backslash, so my file had a literal '\' in its name. I renamed the file and it works perfectly now. Thank you so much for taking the time to help me out.

@tylerkahn
Copy link

Has anyone managed to get two finger scroll working? As far as I can tell the trackpad isn't actually being detected as a touchpad and so no scrolling besides "button scrolling" (which doesn't even work I think) is available.

Here's my xinput:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Apple Inc. Apple Internal Keyboard / Trackpad Mouse       id=13   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Apple Headset                             id=10   [slave  keyboard (3)]
    ↳ Apple Inc. Apple Internal Keyboard / Trackpad Keyboard    id=11   [slave  keyboard (3)]
    ↳ Apple Inc. Apple Internal Keyboard / Trackpad Consumer Control    id=12   [slave  keyboard (3)]
    ↳ Apple Inc. Touch Bar Display              id=14   [slave  keyboard (3)]
Device 'Apple Inc. Apple Internal Keyboard / Trackpad Mouse':
        Device Enabled (145):   1
        Coordinate Transformation Matrix (147): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Natural Scrolling Enabled (280):       0
        libinput Natural Scrolling Enabled Default (281):       0
        libinput Scroll Methods Available (282):        0, 0, 1
        libinput Scroll Method Enabled (283):   0, 0, 1
        libinput Scroll Method Enabled Default (284):   0, 0, 1
        libinput Button Scrolling Button (285): 2
        libinput Button Scrolling Button Default (286): 2
        libinput Button Scrolling Button Lock Enabled (287):    0
        libinput Button Scrolling Button Lock Enabled Default (288):    0
        libinput Middle Emulation Enabled (289):        0
        libinput Middle Emulation Enabled Default (290):        0
        libinput Accel Speed (291):     0.000000
        libinput Accel Speed Default (292):     0.000000
        libinput Accel Profiles Available (293):        1, 1
        libinput Accel Profile Enabled (294):   1, 0
        libinput Accel Profile Enabled Default (295):   1, 0
        libinput Left Handed Enabled (296):     0
        libinput Left Handed Enabled Default (297):     0
        libinput Send Events Modes Available (265):     1, 0
        libinput Send Events Mode Enabled (266):        0, 0
        libinput Send Events Mode Enabled Default (267):        0, 0
        Device Node (268):      "/dev/input/event16"
        Device Product ID (269):        1452, 636
        libinput Drag Lock Buttons (298):       <no items>
        libinput Horizontal Scroll Enabled (299):       1

libinput output:

Device:           Apple Inc. Apple Internal Keyboard / Trackpad Mouse
Kernel:           /dev/input/event16
Group:            7
Seat:             seat0, default
Capabilities:     pointer
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   *button
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   flat *adaptive
Rotation:         n/a

/etc/X11/xorg.conf.d/40-libinput.conf:

Section "InputClass"
        Identifier "libinput pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput tablet catchall"
        MatchIsTablet "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

@zfortier
Copy link

zfortier commented Dec 27, 2020

@TRPB two things:

  1. In build archiso with a custom kernel There are two steps labeled as #5
  2. In the FIRST step #5, just replace the whole step with this:
sed -i 's/pacstrap\s\+-C\(\s\+\|$\)/pacstrap -i -C\1/g' /usr/bin/mkarchiso

Or sync the gist from my fork to fix both.

I'm trying to adapt this for kubuntu without requiring a pre-compiled kernel. This is the best HOWTO I have found on this topic so far. Thanks, and nice work!!!

@BBaoVanC
Copy link

Whenever I get to the step to install GRUB, it just causes a kernel panic.

@miooochi
Copy link

Whenever I get to the step to install GRUB, it just causes a kernel panic.

Same issue for me.

@BBaoVanC
Copy link

Whenever I get to the step to install GRUB, it just causes a kernel panic.

Same issue for me.

I got it working by using bootctl in no variables mode (like someone else said here). When adding the entry manually using efibootmgr, it panicked, but the entry was there and I could boot.

@k-willowhawk
Copy link

I've been trying to get Arch installed on my MacBook16,1 (2019 16") so far unsuccessfully. For both the GRUB2 and Systemd-Boot methods you need to use --removable or --no-variables respectively to tell the bootloader installer not to poke the Mac's wonky EFI entries. Any time it pokes it the kernel panics, and somewhere a goat is sacrificed.

I've been able to follow the main Arch Linux install guide, the Mac Arch wiki guide, and this gist, and gotten everything to build clean, including the bootloader on a dedicated HFS+ partition so it shows up in the native Apple MacBook Option boot menu. The unfortunate current state though is that regardless of bootloader method (GRUB or systemd-boot) it will go blank screen for a few moments, then load up the System Recovery macOS utility and complain I can't use that boot disk without recovering it.

For reference, I have ensured that Startup Disk Security is set to "minimum" and also for grins and giggles disabled SIP.

I haven't tried the masking part nor installing it from the custom ISO, I'm trying that next. But if anyone on an MBP16,1 has gotten Arch to boot successfully from the onboard NVMe drive, I'd like to buy you a case of your favorite tasty beverage for assistance. :)

@rotorek
Copy link

rotorek commented Feb 16, 2021

@k-willowhawk -- I had the same issue on my MacBook16,1 (2019 16'') when I was following this guide 2 weeks ago.
And systemd with the "bootctl --path=/boot --no-variables install" trick mentioned here worked for me just fine. I used the custom ISO, though.

Now, I'm running vanilla kernel with "apple-ib-als.ko.xz  apple-ibridge.ko.xz  apple-ib-tb.ko.xz  applesmc_t2_kmod.ko.xz  bce.ko.xz" to get most of the stuff working. However, some of them needed patching in order to build. I suggest to install mbpfan daemon to control your fans, however it needed some patching too -- as applesmc_t2 uses a different path for fans on each model. (#define APPLESMC_PATH "/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:104/APP0001:00") for mine.

@ASSahasranamam
Copy link

Hi there, I have a macnoom pro 2018 15,1.

I'm kinda stuck at

Watchdog: bug: soft lockup- cpu#0 stuck for 22 sec [sysrem-md: 1]

This was after my grub-install command.

Can some one help this newbie out? I was installing in my external ssd!

It happen ed after this command

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

Link to tutorial

https://itsfoss.com/install-arch-linux/

@k-willowhawk
Copy link

k-willowhawk commented Mar 24, 2021 via email

@ASSahasranamam
Copy link

As I understand it if you have a T2 chip you can’t use the grub installer without the no variables flag.
On Tue, Mar 23, 2021 at 6:11 PM, Adithya Subramanian Sahasranamam < @.***> wrote: @ASSahasranamam commented on this gist. ------------------------------ Hi there, I have a macnoom pro 2018 15,1. I'm kinda stuck at Watchdog: bug: soft lockup- cpu#0 stuck for 22 sec [sysrem-md: 1] This was after my grub-install command. Can some one help this newbie out? I was installing in my external ssd! It happen ed after this command `grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi' Link to tutorial https://itsfoss.com/install-arch-linux/ — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://gist.github.com/437f663b545d23cc8a2073253c774be3#gistcomment-3677600, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARM55QS3WXBOEWR5XR4UWA3TFEUZ7ANCNFSM4JA2ZO7Q .
-- KEITH WILLOWHAWK Cloud Architect (720) 601-6407 www.stateless.net

Woyl

As I understand it if you have a T2 chip you can’t use the grub installer without the no variables flag.
On Tue, Mar 23, 2021 at 6:11 PM, Adithya Subramanian Sahasranamam < @.***> wrote: @ASSahasranamam commented on this gist. ------------------------------ Hi there, I have a macnoom pro 2018 15,1. I'm kinda stuck at Watchdog: bug: soft lockup- cpu#0 stuck for 22 sec [sysrem-md: 1] This was after my grub-install command. Can some one help this newbie out? I was installing in my external ssd! It happen ed after this command `grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi' Link to tutorial https://itsfoss.com/install-arch-linux/ — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://gist.github.com/437f663b545d23cc8a2073253c774be3#gistcomment-3677600, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARM55QS3WXBOEWR5XR4UWA3TFEUZ7ANCNFSM4JA2ZO7Q .
-- KEITH WILLOWHAWK Cloud Architect (720) 601-6407 [www.stateless.net](http://www.stateless.

I understand.

This would work also if I were to install an EFI PARTITION in my external SDD? and mount that to /mnt/Boot?

And I should format my sdd where I had worked with earlier?

Also if I were to use the bootcli, I follow the Same procedure?

Thanks so much YO! @k-willowhawk

P.S that might be the coolest name I've come across in a bit!

@k-willowhawk
Copy link

I've tried doing it on an external SSD with it's own ESD but haven't been able to have it successfully boot. It will show up in the boot target menu (if you hold down Option on boot) but once it starts loading it will eventually end up in the recovery console. :(

@joelremix
Copy link

Now, I'm running vanilla kernel with "apple-ib-als.ko.xz  apple-ibridge.ko.xz  apple-ib-tb.ko.xz  applesmc_t2_kmod.ko.xz  bce.ko.xz" to get most of the stuff working. However, some of them needed patching in order to build. I suggest to install mbpfan daemon to control your fans, however it needed some patching too -- as applesmc_t2 uses a different path for fans on each model. (#define APPLESMC_PATH "/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:104/APP0001:00") for mine.

@rotorek I would also like to go with the vanilla kernel. So I don't search for and install something outdated, could you please elaborate on your answer? Right now my MacBook16,1 (2019 16'') still needs keyboard, trackpad, touchbar. Thank you

@Jcwscience
Copy link

@k-willowhawk I'm also having the kernel panic issue, what exactly is the no variables flag? Thanks in advance, I've been fighting this for weeks.

@k-willowhawk
Copy link

k-willowhawk commented Jun 3, 2021 via email

@Jcwscience
Copy link

@k-willowhawk Thanks, but I think I conveyed myself wrong, what I meant was what is the actual command. Eg. “grub install (stuff) (no variables something?)” is it just —no-variables?

@k-willowhawk
Copy link

k-willowhawk commented Jun 3, 2021 via email

@Jcwscience
Copy link

@k-willowhawk Thanks! I’ve seen that command listed In documentation somewhere! I’ll try it and see what happens

@Jcwscience
Copy link

@k-willowhawk That worked! Grub install with —no—nvram fixed the kernel panic

@TRPB
Copy link
Author

TRPB commented Jun 30, 2021

as of a recent update I'm no longer able to connect to wifi even with iwd has anyone else had this problem or found a f ix?

@aunali1
Copy link

aunali1 commented Jun 30, 2021

@TRPB The latest versions of iwd are broken, since they seem to have enabled wifi direct (p2p), which is not what apple supports (AWDL). Success has been found from downgrading to iwd 1.13.

@TRPB
Copy link
Author

TRPB commented Jun 30, 2021

thanks! Is there likely future fix to iwd? Future upgrades to other packages will likely stop 1.13 working at some point

@Tortus-exe
Copy link

Hello,

I have a Macbook 15,2. Used a virtual machine to build the custom image since I don't have one myself, and I also don't have an ethernet connector so I plugged in my phone. Following all the instructions (except for build.sh, instead of that I had to use mkarchiso according to archiso's documentation) I created an image, although loading it on RAM without my phone connected makes the bootloader go on loop, which is obviously not good. Eventually I got it to boot at least once.

The problem comes in connecting to the internet - for the Wifi portion you need to use pacman -S networkmanager iwd, which requires connection to the internet (because of those community packages). Also, USB support seems to drop soon after booting. (This forced me to reboot the entire thing, but it didn't boot a second time hence I think it may be quite chance-based.) Since wifi is off the table, and I don't have ethernet, that leaves me with tethering to my phone for internet. I only have an iphone though, and although as of now I have yet to check whether libimobiledevice is included on the build, my initial thoughts are "no, it probably isn't included".

Although it probably goes without saying, regular internet card usage does not work because of drivers or something. Linux noob, bear with me please.

Anyone out there with good ideas (other than "buy an ethernet adapter" please)?

Oh and on a side note - how does mounting to the partition work and what's the /mnt/proc mountpoint? (I tried to mount while I had no internet and failed at that too)

@networkException
Copy link

For anyone interested in this please use the updated guides on https://wiki.t2linux.org

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment