Linux on a MacBook6,1 (White) - Full Documentation
Recently, I have been experimenting with Linux on Intel Macs, with the most recent machine being the 2009 A1342 MacBook. This documentation assumes some familiarity with Linux beforehand, and can be used on other MacBooks (specifically models with an NVIDIA card) with some modifications. The specs of my specific machine are as follows:
- 2.26GHz Intel Core 2 Duo P7550 (Penryn)
- 6GB DDR3 (8GB wouldn't work for some reason)
- Nvidia Geforce 9400M Graphics
- 250GB SSD
- Linux Mint 22 and Mac OS X Snow Leopard (dual-booted)
Part 0: What works
Everything! Well, except for external monitors, which don't work correctly. Most of the hardware works out of the box, but some needs some tweaking to work or to work well. We'll get into that in this article.
Part 1: Initial information
Part 2: Resizing Mac OS X
Part 3: Creating the Linux USB
This can be done on any computer, and is very simple. Using a DVD is also supported, but not recommended because of speed.
WARNING: This process will erase ALL DATA on your USB drive!
1. Download an ISO of your favorite Linux distribution.
2. Flash the USB drive using your favorite USB flashing software. If you're flashing on macOS, use balenaEtcher.
2a) If you are using an old version of Mac OS X that doesn't support balenaEtcher, use the "dd" command in macOS. See this link for a tutorial on how to use dd.
3. That's it!
Part 4: Booting the Linux live USB
Unfortunately, there is currently a bug in the GRUB 2.06 boot loader where the GRUB menu is not visible. This is not present in older versions of GRUB and doesn't affect the OS or dual booting in any way. If your distribution of choice uses GRUB 2.04 (such as Debian 11) everything will work perfectly, but your system will still boot with 2.06.
Turn on the MacBook while holding down the Alt/Option key to enter the startup manager, insert your USB installer, then use the arrows or mouse to select it. Press Enter and you will be greeted with either a GRUB menu or a black screen. In either case, press enter to boot into Linux. After about 20-30 seconds you should see Linux beginning to load; if it doesn't, try pressing Enter and waiting again.
PRO TIP: If you only see the Linux distribution logo and want to see what it's doing, press Fn and any function key to show the verbose text.
Once the boot process is complete, if you are dual booting, select "Try without installing" if applicable (unless you're using a KDE-based or non-Ubuntu-based distribution), because we need to remove the empty partition from the disk.
Once you're at a desktop, open GParted (it's installed on most distros). Select your internal hard drive from the list on the top right, find the partition you created in part 2, and delete it. Now use the checkmark icon to apply changes.
Once that's complete, run the installer program and follow the steps. When you get to the step about partitioning, either select "Install <distro name> alongside Mac OS X" or "Replace a partition" (in which case select the FAT partition created earlier in the process). If you aren't dual-booting, just erase the entire disk.
If you don't get an option to "Install alongside", make sure you've actually deleted the partition using GParted. It's not enough to just format as "Free Space" under Mac OS X. If no OSes are detected, then macOS is installed on APFS (you're either using OpenCore, dosdude1's Catalina Patcher, or a different Mac model) and you have to manually create partitions under "Something Else". You need an Ext4 partition with the mount point of "/" and a "swap" virtual memory partition.
From there, installation should proceed as normal. Once it finishes, restart, and boot into your new system. You are now ready for the postinstall process.
Part 5: Accessing Mac OS X
Part 6: WiFi
WiFi works out of the box on kernels that bundle the open-source brcmsmac driver with official Broadcom firmware (such as Ubuntu and derivatives). You can use the fully official Broadcom drivers by installing the bcmwl-kernel-source package on Ubuntu, but they don't seem any better. On Debian, you must first add the contrib and non-free repositories, then install broadcom-sta-dkms while connected to Ethernet for WiFi to work.
Part 7: Graphics, GRUB, and sleep/wake
Note: If your MacBook doesn't contain an NVIDIA GPU, these steps are unnecessary since everything should be working out of the box.
setpci -s "00:15.0" 3e.b=8
setpci -s "04:00.0" 04.b=7
EOF
sudo chmod 755 /etc/grub.d/01_enable_vga.conf
Comments
Post a Comment