8.1 KiB
Specifically (Order No. / Model No. / CPU) for macbook 1,1:
- MA255LL/A / A1181 (EMC 2092) / Core Duo T2500 (tested - working)
- MA254LL/A / A1181 (EMC 2092) / Core Duo T2400 (tested - working)
- MA472LL/A / A1181 (EMC 2092) / Core Duo T2500 (untested)
For macbook 2,1:
- MA699LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T5600 (tested - working)
- MA701LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T7200 (tested - working)
- MB061LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7200 (untested)
- MA700LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T7200 (tested - working)
- MB063LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7400 (works)
- MB062LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7400 (tested - working)
Internal flashing
Macbook2,1 can always be flashed internally, even if running Apple firmware:
sudo flashrom -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w your.rom
Macbook1,1 same as above, but if running Apple firmware see below for external flashing.
External flashing
macbook1,1 requires external flashing, if running the default Apple firmware. macbook2,1 can be flased internally, regardless. If running coreboot or libreboot you can already internally re-flash.
This page shows disassembly guides
Locate the flash. It'll be a SOIC8, which looks like this:
motherboard. How to remove the motherboard.
Refer to the following guide:
Externally rewrite 25xx NOR flash via SPI protocol
You need to replace OS X with GNU+Linux before flashing libreboot. (OSX won't run at all in libreboot), if you wish to internally flash on a macbook21. libreboot won't boot OSX either (well, maybe with Tianocore it would, but that's untested and OSX is inferior to GNU+Linux). In general you should think of your Macbook like a regular laptop, for the purposes of anything coreboot.
If it's a macbook2,1 with the core2duo processors, you can run a 64-bit distro. For macbook 1,1 the CPU probably only has 32-bit support.
GNU+Linux on Apple EFI firmware
How to boot an ISO: burn it to a CD (like you would normally) and hold down the Alt/Control key while booting. The bootloader will detect the GNU+Linux CD as 'Windows' (because Apple doesn't think GNU+Linux exists). Install it like you normally would. When you boot up again, hold Alt/Control once more. The installation (on the HDD) will once again be seen as 'Windows'. (it's not actually Windows, but Apple likes to think that Apple and Microsoft are all that exist.)
Coreboot wiki page
The following page has some information:
Issues and solutions/workarounds
There is one mouse button only, however multiple finger tapping works. Battery life is poor compared to X60/T60. The Apple logo on the back is a hole, exposing the backlight, which means that it glows. You should cover it up. The MacBook2,1 consumes more power with libreboot than with the Apple EFI firmware, which means it overheats a lot.
The MacBook2,1 comes with a webcam which does not work with free software. Webcams are a privacy and security risk; cover it up! Or remove it.
Make it overheat less
NOTE: on newer libreboot revisions, this section is less relevant, because C3 states are supported now. However, this section may still be useful, so it will be retained.
The MacBook2,1 overheats a lot with libreboot, we still don't know why but a simple workaround is to install macfanctld.
Macfanctld is available on the default repos of many distributions.
For example, to install macfanctld on an Arch-based distro (Parabola, ...), you would run as root
pacman -S macfanctld
and don't forget to enable it by using systemctl
or by a script that will run macfanctld if using runit.
Then, you want to install powertop and tlp. And then, run the following on battery
sudo tlp start && sudo powertop --calibrate
Then, after quitting powertop, run :
sudo powertop --auto-tune
Now, configure tlp, edit the /etc/tlp.conf
and uncomment/add/modify the following:
CPU_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=0
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1
PLATFORM_PROFILE_ON_AC=performance
PLATFORM_PROFILE_ON_BAT=low-power
The MacBook will still overheat, just less.
Enable AltGr
The keyboard has a keypad enter instead of an AltGr. The first key on the right side of the spacebar is the Apple "command" key. On its right is the keypad enter. We can make it act as an AltGr.
If your operating system is Trisquel or other dpkg-based distribution, there is an easy solution. Under root (or sudo) run
dpkg-reconfigure keyboard-configuration
and select the option "apple laptop", leave other settings as their defaults until you are given the option "Use Keypad Enter as AltGr". Select this. The keypad enter key will then act as an AltGr everywhere.
For Parabola or other systemd-based distributions you can enable AltGr manually. Simply add the line
KEYMAP_TOGGLE=lv3:enter_switch
to the file /etc/vconsole.conf and then restart the computer.
Make touchpad more responsive
Linux kernels of version 3.15 or lower might make the touchpad extremely sluggish. A user reported that they could get better response from the touchpad with the following in their xorg.conf:
Section "InputClass"
Identifier "Synaptics Touchpad"
Driver "synaptics"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "synaptics"
The next two values determine how much pressure one needs
for tapping, moving the cursor and other events.
Option "FingerLow" "10"
Option "FingerHigh" "15"
Do not emulate mouse buttons in the touchpad corners.
Option "RTCornerButton" "0"
Option "RBCornerButton" "0"
Option "LTCornerButton" "0"
Option "LBCornerButton" "0"
One finger tap = left-click
Option "TapButton1" "1"
Two fingers tap = right-click
Option "TapButton2" "3"
Three fingers tap = middle-mouse
Option "TapButton3" "2"
Try to not count the palm of the hand landing on the touchpad
as a tap. Not sure if helps.
Option "PalmDetect" "1"
The following modifies how long and how fast scrolling continues
after lifting the finger when scrolling
Option "CoastingSpeed" "20"
Option "CoastingFriction" "200"
Smaller number means that the finger has to travel less distance
for it to count as cursor movement. Larger number prevents cursor
shaking.
Option "HorizHysteresis" "10"
Option "VertHysteresis" "10"
Prevent two-finger scrolling. Very jerky movement
Option "HorizTwoFingerScroll" "0"
Option "VertTwoFingerScroll" "0"
Use edge scrolling
Option "HorizEdgeScroll" "1"
Option "VertEdgeScroll" "1"
EndSection