Skip to content
Robert Monahan edited this page Mar 26, 2017 · 34 revisions

The Apple MacBook 2,1 has a very nice 13.3 inch 1280x800 TN screen (which even rivals Flexview IPS ThinkPad displays), and even a Core 2 Duo processor. It has been completely abandoned by Apple, stuck at Mac OS X Lion 10.7.

The MacBook comes with an Atheros WiFi card (supported by open-source drivers) by default, so there's no need to replace it like on the ThinkPads.

Issues

  • Macbooks cost much more ($150-250) than ThinkPad T60 systems ($80-180). No one really knows why even outdated Apple laptops fetch a high premium.
    • Used Macbooks are generally only found in North America; a place where elementary schools issued entire fleets of pricey MacBooks. Expect to pay extra to import from NA if you're in Europe.
  • Uses an Apple keyboard, so there's no insert, del, home, end, pgup, pgdown keys.
    • But if you're used to MacBooks, you'll feel right at home.
  • Uses an Apple touchpad, with only one button. But the touchpad has very nice multitouch capability and is far beyond any other laptop.
    • If you prefer multitouch touchpads, this one's right for you. Especially since the ThinkPad X60 has no touchpad, and the T60 touchpad isn't the best.
  • Currently, Mac OS X cannot boot from Libreboot or GRUB. This is because Mac OS X uses a custom EFI bootloader to start up. It might be possible to install Chameleon or other Hackintosh bootloaders; just like a Coreboot Chromebook Hackintosh.
    • The question, of course, is how; and whether audio and graphics drivers will still work afterwards. Reinstalling using MyHack and no Extras folder given should work out... (How do you tell MyHack not to use any Extras folder?)
    • On the other hand, 10.7 Lion is no longer supported by Apple, so it might not be worth the trouble anyway.
  • The webcam requires proprietary drivers. Obviously, Trisquel doesn't support it. It's no loss, webcams are a security risk and the one on the MacBook isn't very good in the first place.
  • (partially fixed) The MacBook seems to get extremely hot under GNU/Linux. - There are a few tools that somewhat reduce the issue, such as macfanctld. However, there may be deeper issues with Libreboot itself, and the CPU microcode. See here for details..

Installing Linux

Libreboot is designed to run GNU/Linux. We recommend installing Linux on a Macbook before proceeding (follow the steps below).

But it is possible to dual-boot Linux and Mac OS X, using SeaBIOS like a Chromebook Hackintosh (still needs research).

Partitioning the Hard Drive

Note: This section is for those who want to dual-boot Linux and Mac OS X. Skip this step if Mac OS X will be deleted.

First, at least 15GB of free space for a second partition needs to be freed on the hard drive. Amazingly, the hard drive can be resized while Mac OS X is running.

  1. Boot into Mac OS X.

Note: This goes without saying, but back up all your data before proceeding. There's always a possibility that partitioning will go wrong. Use Time Machine or something, it's quick and easy.

  1. Open the app Applications/Utilities/Disk Utility.

  2. On the left panel, click the hard drive where Mac OS X is installed to (not the partition under it named "Macintosh HD")

  3. On the right panel, click the Partition tab.

  4. Pull the corner of the Macintosh HD partition, under the Partition Layout section, until at least 15GBs or more of free space is available.

  5. Click the Apply button to confirm the new partition scheme.

  6. Don't create any new partitions; the Linux installation will create them later.

Installing Linux

Note: A LiveCD is strongly recommended. Due to the Macbook's EFI firmware, it will be very difficult to boot from LiveUSB. Buy a blank disc, insert it into the Macbook, and burn the image.

  1. Download a Linux LiveCD ISO, preferably Ubuntu, Debian, or Trisquel.

  2. Burn the downloaded ISO image to a CD.

  3. Reboot the Macbook, and hold down the Alt/Control key while it boots.

  4. The bootloader will detect the GNU/Linux CD as Windows (because Apple doesn't think GNU/Linux exists). Select it and press Enter to boot.

  5. Install GNU/Linux by running the installer on the LiveCD.

  6. When you reach the partitioning section:

  • If you do not want Mac OS X, select Erase Disk and you're good to go.
  • If you want to dual boot Mac OS X and Linux, select Custom Partitioning, create a 1 MB EFI bootloader partition and use the rest of the space for the ext4 root / partition.
    • A swap partition is not necessary. If you only have 1GB of RAM, or if you like to hibernate your computer, just create some swapfiles later.
  1. After installation, eject the CD, and turn off the Macbook.

  2. Turn on the Macbook, and hold down the Alt/Option key while it boots.

  3. The GNU/Linux installation (on the hard disk) will once again be seen as Windows. Select it and press Enter to boot.

Mouse and Keyboard Tips

MacBooks have a different keyboard and touchpad layout scheme from most laptops, so here are a few tips for using them on Linux:

  • Since the MacBook TouchPad only has one button, tap two fingers on the touchpad to right-click, and slide two fingers up and down to scroll.
  • The F1-F7 keys will turn up the brightness/control sound/num lock by default. Hold Fn-F1 to actually press F1. The F8-F12 keys work normally.
  • [for Mac users] The Ctrl key is used for keyboard shortcuts, instead of the Command key. (Ctrl-C instead of Command-C, etc.)

Apple TouchPad Fixes

Initially, the default Synaptic touchpad settings on Linux might not be as fluid as it is on Mac OS X. The issue is hard to explain, but you'll understand immediately after switching.

Use these configuration tweaks to smoothen things out.

  1. Open up a Terminal (Menu/Accessories/Terminal).

  2. Use this command to check the current settings:

     synclient | grep -e 'FingerHigh\|FingerLow'
    
  • Usually it is set to this by default:

    FingerLow               = 29
    FingerHigh              = 35
    
  1. Use this command to set the MacBook touchpad to a more sensitive setting:

     synclient FingerLow=10 && synclient FingerHigh=16
    
  2. For extra fluid motion, try these settings:

     synclient FingerLow=01 && synclient FingerHigh=10
    
  3. Finally, after you've decided on which setting is right for you, make it permanent in /usr/share/X11/xorg.conf.d (For Ubuntu/Debian/Trisquel; others may vary).

     sudo gedit /usr/share/X11/xorg.conf.d/50-synaptics.conf
    
  4. Next, insert the following to make the settings permanent. (Change FingerLow and FingerHigh as necessary.)

    Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Option "FingerLow" "10"
        Option "FingerHigh" "16"
    EndSection

Fixing Noisy Fan Issues

The MacBook seems to get extremely hot due to bad thermal sensing, causing the fan to run loudly under GNU/Linux.

There are a few tools that somewhat reduce the issue, such as macfanctld. Install that from the PPA and configure the thermal settings, it seems to reduce the fan noise.

Run these commands to install the macfanctld repository, to get the latest version.

sudo add-apt-repository ppa:mactel-support/ppa
sudo apt-get update
sudo apt-get install macfanctld

Next, edit /etc/macfanctl.conf and make sure to replace these lines:

temp_avg_floor: 45
temp_avg_ceiling: 55

temp_TC0P_floor: 50
temp_TC0P_ceiling: 58

temp_TG0P_floor: 50
temp_TG0P_ceiling: 58

With these:

temp_avg_floor: 55
temp_avg_ceiling: 65

temp_TC0P_floor: 55
temp_TC0P_ceiling: 65

temp_TG0P_floor: 55
temp_TG0P_ceiling: 65

After editing, restart the macfanctld daemon with systemd:

sudo service macfanctld restart

However, there may be deeper issues with Libreboot itself, and the reverse-engineered CPU microcode. See here for details..

Installing Libreboot

Download Libreboot

  1. Download the Libreboot Binaries.

  2. Open a Terminal and navigate to the Downloads folder (or wherever else)

  3. Extract the Libreboot folder:

     tar -xvf libreboot_bin.tar.gz
    
  4. Navigate to the libreboot_bin folder:

     cd libreboot_bin
    

Install Dependencies (DEB-based Distros)

The Libreboot flash scripts require a few dependencies to function.

Use the following commands for DEB-based distros (Trisquel, Ubuntu, Debian, etc):

    sudo ./builddeb-flashrom
    
    or

    sudo apt-get install flashrom

Other Linux distros will need to find the corresponding dependencies on their own.

Find the Right ROM

Under the bin/ folder in libreboot_bin/, there are a multitude of Libreboot ROMs sorted by motherboard. Here is the folder with the MacBook ROMs:

  • bin/macbook21/ - MacBook2,1

Choose the ROM with your laptop's keyboard layout (US or UK, QWERTY or DVORAK).

Once you know which ROM to use, remember it's directory path for the next step (ex. bin/macbook21/macbook21_usqwerty_vesafb.rom )

Check the ROMs section from the official Libreboot Documentation for the latest list.

Back up Official Apple EFI Firmware

It is a good idea to back up the original firmware before proceeding, if you ever want to restore the MacBook to it's original factory state.

  1. Enter the flashrom folder.

     cd flashrom
    
  2. Use this command to backup the official EFI firmware:

     sudo ./flashrom --verbose --programmer internal:laptop=force_I_want_a_brick --chip SST25VF016B --read rom.bin
    

Note: Flashrom doesn't officially support the Macbook yet, so the parameter :laptop=force_I_want_a_brick has to be added. The parameter is just a warning against those who force flashrom to run on untested chips.

  1. Check for the following output:

     Resulting block protection : none
     Found SST flash chip "SST25VF016B" (2048 kB, SPI) at physical address 0xffe00000.
     Reading flash... done.
    
  2. The backup will be stored as rom.bin in the flashrom folder. Back it up somewhere safe; if you lose the ROM, the Apple EFI Firmware can never be restored, since it is unique to every MacBook.

  3. Return to the libreboot_bin folder.

     cd libreboot_bin
    

Flashing Libreboot on Apple EFI Firmware

Unlike the ThinkPads, flashrom works out of the box with the Macbook without patches, and Libreboot only needs to be flashed once.

  1. Flash Libreboot: (Replace /path/to/libreboot.rom with the path to the ROM you selected)

     sudo ./flash i945apple_fristflash /path/to/libreboot.rom
    
  2. Wait for flashrom to finish, which can take a while. A few Transaction Errors will occur as flashrom attempts to find the right erase function. Watch for the output to end with this message:

     Verifying flash... VERIFIED
    

Warning: If flashrom outputs Verifying flash... FAILED, DO NOT TURN OFF YOUR COMPUTER! Run the flashrom command again. If it still fails, contact the Flashrom IRC immediately.

  1. Power off the Macbook. Do not just restart. To ensure a clean shutdown, run this command:

     sudo halt
    
  2. Wait a few seconds, then boot. Libreboot will start up.

Note: Remove any USB storage to avoid a "--MORE--Unknown key 0xff detected" error upon boot

Note: The screen brightness will probably be extremely dim. Press F2 to turn it up.

  1. Use the Search for GRUB configuration on local storage option if the normal menu options don't work.

  2. The laptop should boot into GNU/Linux. Libreboot has now been successfully installed.

Adding SeaBIOS into Libreboot to boot Mac OS X

requires further research

GRUB2 is probably capable of dual-booting Linux and Mac OS X, but more research is necessary. It seems to require Chameleon, with many guides on the topic.

Chameleon, a legacy non-EFI bootloader for Hackintoshes, is used on Hackintoshes for Mac OS X to boot from SeaBIOS. However, unlike Hackintoshes, no additional boot flags are needed to boot Mac OS X on a Macbook, so it might not be necessary.

Chromebook Hackintosh systems, which use Coreboot and SeaBIOS, might be a good place to investigate.

If we ever figure it out, it would work by repartitioning the hard drive to put Trisquel as the first partition, and then the Mac OS X partitions following it up.

Libreboot Second Flash (optional)

Note: Afterwards, if Libreboot ever needs to be updated, you want to flash a customized Coreboot ROM, or you want to restore the Apple EFI Firmware, follow these steps. Unlike the ThinkPads, on a MacBook the second flash is optional.

  1. Enter the libreboot_bin folder.

     cd libreboot_bin
    
  2. Flash the ROM. (Replace /path/to/coreboot.rom with the path to whatever ROM you choose to install.)

     sudo ./flash  /path/to/coreboot.rom
    
  3. After the flash has completed, power off the Macbook. Do not just restart. To ensure a clean shutdown, run this command:

     sudo halt
    
  4. Wait a few seconds, and then boot. Libreboot will start up.

  5. Use the Search for GRUB configuration on local storage option if the normal menu options don't work.

  6. The laptop should boot into GNU/Linux. Libreboot has now been successfully installed.

The Updates that enabled MacBook 2,1

These patches were made by Vladimir Serbinenko and Mono Moosbart.

In general, since the hardware is very similar to the X60, most of the stuff should work. Better yet, the MacBook comes with an Atheros WiFi card by default, so no need to switch it out like on the ThinkPads.

Sources

BA Logo

Bibliotheca Anonoma

Coreboot Laptops

Coreboot is an open source, user configurable BIOS. However, it does use a few proprietary blobs here and there.

ThinkPads

These require hardware flashing. Due to Intel Management Firmware, proprietary blobs are required for newer Intel motherboards to even power up.

Chromebooks

Most Intel Chromebooks come with Coreboot preinstalled. SeaBIOS can optionally be installed to add Windows support.

Just use John Lewis's Installation Script for All Models to autoinstall.

Build Notes

NOTE: The Libreboot components of this wiki was divested into the Official Libreboot Documentation here. Please use that from now on.

Libreboot laptops are certified by the FSF to protect your freedom.

They contain no proprietary blobs of any kind, and have the best support for FSF certified GNU/LInux.

ThinkPads

Macbooks

Other Tutorials

Clone this wiki locally