MacBook: Tri-Booting

The Apple MacBook and MacBook Pro have now hit the market and are becoming widespread. I actually saw someone with a white MacBook in Philadelphia, so they’re definitely starting to go mainstream. If you read online news sites at all, you have probably heard dozens of sites talking about how the new Intel processors allow you to dual-boot Windows or Linux with the standard Mac OSX.

Apple even released their very own Boot Camp, which is essentially a boot loader. For those unfamiliar with the term, a boot loader is a very small program, that for PCs must be within the first 512KB of the hard drive (not sure how Macs handle it, but I’m guessing a lot differently), that reads the hard drive for operating systems and then allows you to choose which one to load. If there isn’t more than one available, it often doesn’t even ask you which OS to boot into, since there is only one. I know Windows’s NT Loader doesn’t ask you unless you tell it to in the C:/boot.ini file. Common non-Windows bootloaders that are used for everything from custom OSes to Linux to BSD are LILO (LInux LOader) and GRUB (GRand Unified Bootloader). Apple’s Boot Camp is a boot loader that will let you boot into the various different OSes on your hard drive.

Everyone talks about the dual/multi-booting abilities, but few articles actually tell you how to accomplish that. I expect to be getting a MacBook after a new revision comes out in a year or so, so I am naturally very interested in the process. I did some quick research and found an excellent resource that teaches you how to not only dual boot, but tri-boot all the major OSes on your system: the stock Mac OSX Tiger, Windows XP SP2, and finally Debian Linux. You can probably use whatever version of Linux or Windows you want, but I think most of the drivers for Windows are XP-only. You can access the article here.

The article starts by discussing how to partition your hard drive. The MacBook comes with a hard drive that has a single partition, for Mac OSX. A partition, for those who don’t know, is simply a divider inside the hard drive. You need to place these dividers between each OS, because each operating system is going to want to use a different file system (special standards in computing that define how files are stored on the hard drive… they are way too complex to discuss here) and doesn’t want to mix its system files up with another computer. If you make three partitions, one for Linux, one of Mac OSX, and one for Windows, all three systems can exist separately, but still on the same hard drive. Windows will see partitions as separate hard drive icons, as will Mac OSX. If you know a bit about Linux, you probably already know about partitions because good practice when installing Linux requires three partitions (boot, swap, and root).

It then moves into installing Windows, which is fairly straight-forward. Windows XP will need some drivers off a CD that you burn near the beginning of the article, mainly for the mouse and keyboard to function as expected. From there, you install a utility called rEFIt. This essentially takes care of feeding the NT Loader what it wants so Windows doesn’t get mad at you. From there, it gets a lot easier.

You can install Linux as they mention. Nothing really difficult or out-of-the-ordinary, except maybe the swapfile being on the same partition as the root filesystem. Any Linux user should be familiar with every step of that (mkswap, swapon is standard practice when making your own swap partition; Mandrake, Debian, etc. do this for you in their installers, but it’s good to know how to do it yourself for situations like this). Fstab editing is also simple, as well as Xorg configuration. From there, they go to build the custom kernel. That may be shaky for a lot of users, and unfortunately I’m not going to cover that right now. (I am planning a series of Linux articles this summer, so you can expect an article fully devoted to customizing your Linux kernel… not hard, I promise) After that it’s simple Linux application setup (thank apt for the easy wireless setup).

As I’ve said before, I do not yet have a MacBook so I can’t try any of this stuff. However, this article seems to break it down fairly well, and the article it tells you to reference through the whole thing has a lot of good sections explaining what you are doing. Once I actually get a MacBook in a year, I’ll probably run an article on my successes/failures, though I’m sure Leopard will be out by then and Apple plans on making it a lot easier to multi-boot in Leopard (Boot Camp will be included, and I expect a lot of other utilities that will hold your hand). Right now, dual booting is still sort of like a hack. It just doesn’t feel like Apple. Any Apple user knows that Apple computing is all about stuff “just working” automagically. I expect Apple to address the difficulties that currently come up to those trying to dual or tri-boot, and I wouldn’t be surprised if Leopard had a “Multi-Boot Utility” under /Applications/Utilities, or maybe had something integrated into the new version of Disk Utility, that would easily let you install multiple OSes on an Intel Mac.

Until then, articles like the ones linked to above will be the way to get things done. Early adopters of the MacBook systems who have a desire to run Windows and/or Linux alongside their Mac could most likely follow the above guides with success. I’m sure there are probably ambiguous areas, but if you have any questions don’t hestitate to leave a comment. I don’t have a MacBook, but I may be able to decipher some of the instructions for you.