Dubsquare.net - Words, sounds & dirty tricks.

Debian GNU/Linux on a MacBook Pro 13″ (dual boot)
08/02/2011 | Audiotek, en | Leave a comment

1. Prologue

To be honest, I’m not really sure what came over me when I decided to leave a fine working OS X and exchange it for a dual boot version with Debian as my main operating system. Probably I was just tired of Apple’s profit-driven vagaries and hence, in the best case having to buy software in order to bypass those stumbling blocks. Loads of troubles with purchased software for sure added to my frustration with proprietary operating systems: at times it seamed way more complicated to install a legally obtained piece of software than to get a crack up and running. Last not least, a certain fascination for DIY contributed to my decision.

Especially the installation process of a Linux system on a Macintosh ain’t free of glitches. However, this isn’t always the fault of the Linux developers, but rather a consequence of some companies’ restrictive closed source policy. This concerns Apple all above, but also companies such as NIDVA or Apogee, just to name two of my favorite enemies. Once get your system running and configured properly, I think that Linux can indeed work as an interesting alternative for OS X.

An issue might be that Linux feels ‘older’ than an up-to-date OS X system. This is even more the case with Debian, as its developers have a very conservative testing-policy. The advantage however is that usually you shouldn’t experience too much trouble when installing updates. I decided to upgrade to testing (at Debian you can choose between stable, testing, unstable and experimental software packages) at some point, as it seemed to be the best compromise between up-to-date and stability.

Whereas Debian as a core system is very well documented and works fine as such, I had the experience that the GNOME desktop manager was (and still is) the biggest weakness of my system. I experienced this already last year, when I installed Ubuntu on several computers in early 2010. Most of the times, the problem was caused by two applications trying to run the same process at the same time, regardless if I wanted to burn or mount a CD, mount a USB-modem or upgrade the system. Whereas this issue seems to have improved over the past months, I still had problems of a similar nature with the various different package management tools you can employ for upgrading your system. In this case I’d recommend to leave GNOME and enter a simpler Desktop-system, such as the pre installed TDM Window manager (when you click on your user in order to log in, you can choose your window-manager at the bottom of the login-screen). TDM doesn’t seem to launch too many automatic processes in the background and thus avoids conflicts with deliberately entered commands. Another (quite beautiful) alternative might be Blackbox window manager, but you’d have to install the according package.

One last thing: please keep in mind that this HOWTO is a work in progress.

OK, enough talking, let’s get technical…

2. Links – a few pages that helped me a lot:


3. Downloads you will need

– Debian-ISO-CD at http://debian.org/
– Ubuntu Live CD (we’ll need it later in order to fix a problem with the boot loader) at http://www.ubuntu.com/
– rEFIt (.dmg-image for OS X) at http://refit.sourceforge.net/

4. Partition your hard-disk with Apple Disk Utility (use your OS X Installer CD)

Here’s what my partitions look like:

swap 2 GB HFS+/OS X journalled extended
linux 32 GB HFS+/OS X journalled extended
osx 32 GB HFS+/OS X journalled extended
data 98 GB HFS+/OS X not journalled

[Excursion: during my last effort to install Linux in 2010 I made a big mistake, that was I used Debian’s partition tool which didn’t hide a small partition at the beginning of the harddisk which is vital for OS X’s bootloader. I couldn’t even boot from CD/DVD and was afraid to have bricked my computer. Fortunately this partition is automatically reset when you change your computer’s RAM-configuration: physically remove any extra RAM from your machine and the boot from the OS X Installer DVD; hence, you can reinsert the RAM again.]

5. Install OS X on partition ‘osx’

Nothing special.

6. Install rEFIt under OS X

You may have to reboot twice, before you will see the boot-loader on startup.

7. Install Debian on partition ‘linux’

During the installation, GRUB should be installed on the MBR (Master Boot Record) for a dual boot system (for triple-boot systems with Windows you might have to find a different solution)

8. Setting the bootflag for the GRUB-bootloader

When restarting, you should see the rEFIt-bootloader now; booting OS X should work fine, but probably booting Debian will result in a black screen telling you “no bootable device found”. It seems that the GRUB-bootloader doesn’t recognize the bootflag of the ‘linux’-partition. Thus we boot the Ubuntu-live-CD and ‘try out Ubuntu’.

In Ubuntu, we use Gparted (Ubuntu’s partition-utility) in order to manually set the bootflag for the ‘linux’-partition. Even if gparted recognizes a bootflag for this partion, we remove it and set it again. Then reboot and when choosing to load debian in rEFIt, GRUB should detect the bootflag on the ‘linux’-partition and Debian should boot fine

9. Key-mapping

Key-mapping is really easy in Gnome: System/Preferences/Keyboard, choose Layout/Options; change the ‘Alt/Win key behaviour’ to ‘Control is mapped to Win keys (and the usual Ctrl keys)’; And the Apple MacBookPro (Intl.) is the correct layout, of course.

keep in mind that your right Alt key is in fact an Alt-gr key, so [Alr-right]+[q] will give you an ‘@’, [Alr-right]+[< ] a '|' and so on;

[update August 2011] Installing pommed will enable Keyboard backlight.

10. Mouse/trackpad

Trackpad seems to be a pain in the ass under gnome, I’m still looking for a good setup; a USB-mouse with three buttons works fine however. The fact that the trackpad works poorly under Windows as well, might be some kind of consolation :p

[update August 2011] At http://uselessuseofcat.com I found an easy way to emulate three mouse-buttons via the synclient-command. Create a file named xorg.conf at /etc/X11/ with the following content:

Section “InputClass”
Identifier “touchpad”
Driver “synaptics”
MatchIsTouchpad “on”
MatchDevicePath “/dev/input/event*”
Option “FingerHigh” “50”
Option “RTCornerButton” “0”
Option “RBCornerButton” “0”
Option “MinSpeed” “0.7”
Option “MaxSpeed” “1.7”
Option “SHMConfig” “on”
Option “TapAndDragGesture” “off”
Option “PalmDetect” “on”

Depending on how many fingers you use for a click, the trackpad will thereby emulate the left mouse-button (one finger), the right mouse-button (two fingers) or the middle mouse-button (three fingers). “man synaptics” will give you information on all of the tunable options for the synaptics driver.

11. Wireless-LAN

My MacBookPro comes with the following wireless-card: Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller [14e4:432b]

As described on http://www.linuxwireless.org/en/users/Drivers/b43#Known_PCI_devices you can find this out by typing in a terminal as root:

lspci -vnn | grep 14e4

Check out which driver you need at the site mentioned above. In my case, I needed to install the non-free wl-driver from Broadcom. This seems to be a bit complicated, however at http://wiki.debian.org/wl#Squeeze you can find an excellent step-by-step howto which worked fine for me. In case you change from stable/Squeeze to testing/Wheezy, please use the according howto at http://wiki.debian.org/wl#Wheezy

[update August 2011] Usually after Linux-kernel-updates I had to go through all steps once again in order to have wireless working again.

12. Keybindings Iceweasel/Firefox and Icedove/Thunderbird


Icedove/Thunderbird: delete message > backspace (not delete)

13. Flash

As I’m really relying on Flash, I prefer to use the non-free version by Adobe, as it seems to work much better than gnash, the open source aquivalent.

13. Mounting ‘data’-partition

In order to be able mount, ready and write on the ‘data’-partition created by Apple’s disk utility, we have to tweak it a little bit (mounting hsf+ partitions (read+write) under Linux):

A good source is http://wiki.debian.org/MacBook#Cross-mount_file_systems

If you want to mount a Mac OS X-filesystem under Linux in read-write mode (not read-only) then you have to turn off journaling first under Mac OS X. If you leave journaling on, you can only mount in read-only mode and will not be able to write or modify files in the Mac OS X-filesystem. This is a trade-off, of course, because journaling gives you security that your Mac system lacks if you turn it off. It might thus be advisable to have one partition for the Mac operating system with journaling (which is the default) mounted from Linux read-only (if at all) and one partition with user data without journaling mounted from Linux read-write. See HOWTO hfsplus for more information about HFS+ under Linux.

Hence, you’ll have to change the permissions so that all users can read and write the files/folders on this partition.

14. Software updates

As already mentioned in the prologue, I recommend to use an alternative desktop manager such as TDM or Blackbox for larger software updates. Gnome’s update utility seems to have problems resolving conflicts between packages. Changing to TDM is quite simple, just log out the current user, log in again but choose TDM in the menu at the bottom of your log-in-page when you’re asked for the user-password. In TDM click the right mouse button and start Synaptic Package Manager, select “Mark All Upgrades” and then “Apply” – done.

(to be continued…)

No comments yet

Leave a comment

home | © 2006 - 2016 Dubsquare.net | Contact: info(at)dubsquare.net