Painless dual-booting with Red Hat Enterprise Linux 5 and a MacBookPro
by Noah Gift
I know there are many OS X users curious about running Linux on their Mac hardware, but are overwhelmed with the configuration options. There are also many Linux users who want to work on one machine and would like to dual-boot OS X and Red Hat Enterprise Linux 5.
Here’s one scenario—in the animation industry. Maybe you want to work on OS X for video editing but want to boot RHEL 5 for your Animation Software, and Gnome/KDE specific open source applications. You may also be a developer who wants to work in and develop cross-platform applications. RHEL 5 is a great developer platform and now you can work in both worlds.
Enough talk, lets get your MacBookPro dual-booting. These instructions are specifically for dual-booting with MacbookPro, but there should only be minor changes to apply these instructions to different models of Mac Hardware.
Preparation
You will need to perform 6 steps before beginning:
Step 1:
Perform a full backup of your hard drive onto an external drive. This is not an optional step. There is a chance you could lose data, so do not proceed without fully backing up your system. The easiest way to do this is to boot onto an external firewire drive running OS X and to make a disk image of your whole partition using the Disk Utility Application. Please refer to Apple documentation on your computer if you have never done this before.
Step 2:
Download and install Boot Camp: http://www.apple.com/macosx/bootcamp/. Please note you must carefully read the installation instructions before installing. In some situations you may need to perform a firmware upgrade before using bootcamp.
Step 3:
Download the ATI video driver for Linux x86, RadeonX1600. This is the exact download URL:
Or you can also go directly to the driver page and select the driver yourself:
http://ati.de/support/driver.html
Step 4:
Copy this driver onto a USB stick. You will use this USB stick to install the driver from the command line after you install RHEL5, as the X window system will not start so you won’t have access to a GUI web browser.
Step 5:
You need to have access to a wired internet connection as you will need to authorize your RHEL 5 installation, perform updates and do some package installations using YUM to complete the installation. Getting wireless working is beyond the scope of this article, but can be done later.
Step 6:
Have a copy of all five RHEL 5 discs downloaded, and both the installation and entitlements codes printed out.
Step 7:
Finally, print out this article during your installation as you don’t want to have to remember commands from memory later.
Creating a second partition with Boot Camp
Boot Camp was designed to repartition your OS X hard drive so you can create an additional Windows volume to boot from. It also modifies the EFI bootloader to show an additional volume called Windows. I won’t go through the specifics of how to run Boot Camp, you can refer to the bootcamp documentation that comes with the application. In a nutshell, create another volume of about 20-30GBs that you will later erase when installing RHEL 5. Please note you do not need to create a Windows driver CD as you won’t need it.
Please format the partition as a FAT32 partition for the purpose of this tutorial, although it really doesn’t matter as we will be deleting this partition later.
Installing RHEL 5
Step 1: Boot to RHEL 5 CD
Insert the RHEL 5 Installation Disk into your machine and change the startup disk in System Preferences to the RHEL 5 CD. Please note you can also reboot and hold down the “option” key to see all available boot volume options. You will do this later as the way to select RHEL 5 booting after you’re done installing.
Step 2:
Once you boot onto the CD, you can go through the default options until you get to Disk Partitioning. Please be extremely careful as if you select the wrong choices you will delete your hard drive permanently.
2a. Make sure all external drives are detached before you begin. If you have an external firewire drive or usb stick please remove them and navigate back several screens until the Disk Partitioning dialog starts over.
2b. Select Custom Layout.
2c. There is a 99% chance you will see three partitions:
/dev/sda1 vfat /dev/sda2 hfs+ /dev/sda3 fat32
2d. You want to highlight the fat32 partition which should probably be additionally be marked at /dev/sda3 and mark it for deletion and apply the changes. Please be extremely careful and double check that the partition is a fat32 partition before you delete it.
2e. Go back to the original dialog boxes and select option: “Use existing free space”. This will now automatically partition the free space you just created by deleting the windows partition into a customized Linux layout. You should see something like this:
VGVolGroup00 21344M volgroup LVLogVol01 21344M swap LVLogVol00 1984M ext3 /
The sizes will be different depending on how much RAM you have and what size of partition you created. Again double check and make sure that you still have a vfat and hfs+ partition before you commit any changes.
Step 3:
Go through the rest of the installation until you get to the Boot Loader Configuration. Please install Grub and tell grub to install on the first sector of the boot partition and not the MBR or Master Boot Record or Grub will fail to install as the MBR is where Apple stores its Boot Information.
Step 4:
Select what software package groups you would like to install. I selected Software Development, Virtualization, and Webserver as I used the Developer 30-day Evaluation entitlement.
Step 5:
When the software installs, you’re almost done. But in order to get a GUI running we will need to do a little more work. Remember the seven steps I mentioned in the beginning of the article? You’ll need to use them now.
Booting into RHEL 5
Whenever you want to boot into RHEL 5 you will need to hold down the “option” key while you are rebooting. This will bring you to a screen that shows an OS X and a Windows partition. You will need to select the “Windows” partition icon to boot into RHEL 5. (I know, how ironic.)
Pay careful attention to the Grub boot process. You will need to press the return key when you see the red Grub splash screen to append a kernel boot time parameter. The OS X hardware is a little tricky to boot into linux and so you will need to select “e” to edit the kernel options and put this exactly to the kernel line in Grub, otherwise you will get a kernel panic:
append=”noapic”
The line should look something like this now:
kernel /xen.gz-2.6.18-8.el5 append=”noapic”
Press return to enter the data and then “b” to boot with this option. Later you will need to permanently edit grub.conf to hold these boot time parameters. Don’t forget to edit this file later.
You should now be booting into RHEL 5, but the X Windows system will not be able to start as you don’t have the proper ATI driver loaded yet.
Getting the GUI to work
Step 1: Update
Update your system, but make sure you’re plugged into a wired internet connection first.
Type in exactly:
yum update
Yum will now trigger registration to Red Hat Network. Enter your installation code.
Step 2: Mount your files
Place your USB stick into your system and mount it into /mnt. To do this type in the command exactly:
fdisk -l
You should see the output list all of the volumes on your system and should see one called something like /dev/sdb VFAT. This is your USB stick. Type this command to mount it:
mount /dev/sdb /mnt
Step 3: Install the ATI driver
Change into the directory:
cd /mnt ls -l
You should see the ATI driver you downloaded earlier:
ati-driver-installer-8.36.5-x86.x86_64.run
Please make a directory in /opt
mkdir /opt/ati
then:
mv ati-driver-installer-8.36.5-x86.x86_64.run /opt/ati
then:
cd /opt/ati
You are moving the driver off of your USB stick into the /opt directory so you can generate an rpm for installation. Next, you’re ready to install the driver so you can begin using a GUI again. A black terminal is only nice for so long.
Run the installer by typing this into the terminal:
./ati-driver-installer-8.36.5-x86.x86_64.run
Please go through the wizard and select the Generic driver. This will now create an rpm for you to install. When the wizard is done you will see an rpm called:
fx...blah...rpm
Please install this driver by using the rpm install command:
rpm -ivh fx...blah...rpm
You will most likely see an error complaining that you do not have the correct C++ library installed. Don’t worry, you can use yum to fix that for you:
yum install c++library
Now issue the install command again.
rpm -ivh fx...blah...rpm
You should have now installed the ATI driver. Take a deep breath and relax. There are only two commands left to bring your machine’s GUI to life:
Step 4: Configure xorg.conf through the aticonfig tool.
4a. First run:
aticonfig --initial
This will create an intial aticonfig file.
4b. Then configure it for your Macbook resolution:
aticonfig --resolution=0,1440x900
5. Launch the GUI:
Type in exactly to start the GUI:
startx
You’re now running RHEL 5. Pat yourself on the back.
Summary
Quick rewind: We used BootCamp to create another partition by resizing the internal hard drive, and we then installed RHEL 5. Because we were prepared before beginning, we were able to install the ATI driver and get the X Windows GUI working. Note: Wireless configuration is beyond the scope of this article, but can be done by using a 3rd party driver from http://madwifi.org/.
Shout, scream, and show your new dual-boot RHEL 5 laptop to all your friends.







May 17th, 2007 at 1:48 pm
I think its cooler showing friends you got RHEL5 running in virtual machine on a mac book pro. Dual boot is no brainer has been around for ages. I like being able to switch between os without rebooting or second machine.
May 17th, 2007 at 1:53 pm
I think they are both cool. I practically live inside of virtual machines, all day long as part of my job.
In some industries though you need raw horsepower like animation. Many people would like to dual boot linux and Intel OS X in production, but are little overwhelmed. I hoped to help.
May 17th, 2007 at 3:45 pm
What differences would there be to the process to get Fedora running?
May 17th, 2007 at 3:50 pm
Not much difference really. It should work just fine,except you won’t need to authorize fedora. I had fedora 6 dual booted for a while and it worked great.
May 17th, 2007 at 4:04 pm
I too run Linux (fedora) on my Macbook Pro… I’m using vesa drivers, but did install madwifi for wireless.
i’ve also discovered that rEFIt is a cool bootloader to install, and there is a fan control utility you can use in OSX to set your minimun fan speed… it will survive a reboot, so it can help to keep your linux installation cooler also.
May 17th, 2007 at 4:06 pm
forgot to mention that on fedora, I don’t need the ‘noapic’ option.
May 19th, 2007 at 1:12 am
Can you create a virtualized solution based on the dual boot config? Is it written down somewhere?
May 19th, 2007 at 8:07 am
I know that for Windows and BootCamp this functionality is supported with Parallels and VM Fusion Beta. It does not appear to be supported yet for RHEL 5. That could be very useful though! We should send in requests to both companies and ask for support for Linux.
May 19th, 2007 at 2:04 pm
Is there some reason to use boot camp? I installed RHEL5 directly from the install CDs onto an external hard drive on a Mac Pro.
I also installed RHEL5 on a MacBook Pro. In this case, I partitioned the internal hard drive using Apple’s Disk Utility, then booted from the RHEL5 install CD to install linux. This seemed OK, until I installed the ATI video driver. Soon after that, I started having random shutdowns, indepently of whether I am booted into Linux or OSX. I wonder if somehow Linux, when installed without Bootcamp, is capable of causing hardware damage in Mac laptops. Or whether ATI’s drivers are bad. I will probably never find out, because after I get the MacBook back from repair, I will be afraid to put Linux on it again, except under Parallels.
May 19th, 2007 at 2:28 pm
“Is there some reason to use boot camp?”
It is easier, and does not require an external hard drive or another boot loader such as rEFIT: http://refit.sourceforge.net/
I have used both methods.
In regards to your shutdowns, I don’t think it is related to the RHEL 5 install. There should be no reason that it could cause problems unless the fans do spin up fast enough to control heat, and there is a utility that helps with that:
http://homepage.mac.com/holtmann/eidac/software/smcfancontrol2/index.html
I had a problem recently with my battery in which it would die at exactly 48% capacity. I shipped the battery back to Apple and it was a known defect. I dual boot constantly and never have any issues with random shutdowns, especially considering it is with both OS X and Linux it points to a hardware issue..perhaps the battery.
I have been very happy with RHEL 5 under my macbook pro. I like virtualization as well, but there are times when I want to natively be in the Operating System to test something or I need raw horsepower.
May 19th, 2007 at 2:46 pm
Noah, thanks for the reply.
A little more information about the random shutdowns: As I mentioned, they started after I installed the ATI driver. What I didn’t mention, is that right after I got the ATI driver installed, I was able to use the full resolution of my screen (1680×1050) for the first time. So I was set to get some work done. I started up Eclipse and started a build. The fans started speeding up. They got so loud that I stopped the build and quit Eclipse. I tried several more times. Every time I started an Eclipse build, the fans would speed up until they were quit noisy. During a build, both processors were loaded to about 95%. I though that maybe the fan speedup was a normal response to the extra load, but then, suddenly, I got a shutdown. After that, shutdowns were routine, even under much less load, and even in OSX.
You could be right about this not having anything to do with Linux (or ATI). MacBooks have been known to have this shutdown issue. It could be that the problem was already present, but just needed a situation in which the processors were especially loaded for it to manifest.
May 19th, 2007 at 3:17 pm
Hmmm. That sounds interesting. I had something similar with an open source tool called radmind: http://rsug.itd.umich.edu/software/radmind/
I was using it to rebuild a cluster of OS X machines and I noticed that one machine locked up everytime I ran radmind. At first I thought it was radmind, but it turned out to be bad RAM that was put under heavy CPU utilization. Doing things that are out of the ordinary will find hardware failure very quickly. A good test would be to use XCode and compile some big Open Source Project like adium and see if it did the same thing.
I would try the dual boot again personally as I like the native feel when developing/testing etc.
June 1st, 2007 at 6:10 pm
HI guys,
I know that this documentation is a for mac boot pro but i gave it a try anyways on a Mac Pro 8 core.
I am a apple fan and i would like to install Linux on my Mac Pro. This documentation helps up to the point when i installed RHEL5 and see the available partitions. I guess i am e the exception of the 1% because i see one more free partition about 120Mb.
/dev/sda1 vfat
/dev/sda2 hfs+
/dev/sda3 fat32
free space
So if i delete the fat32 partition it will add that partition to the free space.
After doing that i can finish the install but nothing actually loads after the reboot. I get a system disk error.
June 1st, 2007 at 7:45 pm
I am unsure what that other partition is, but make sure that your not deleting the vfat partition. The vfat partition holds the OS X boot loader.
If for some reason you did blow away the vfat partition it isn’t really that big of a deal as you can do a clean install of OS X.
I would be curious to see what happens when you reboot and hold down the “option” key, do you see any bootable partitions? If not this means you erased the vfat partition.
Also, make sure that you install grub onto the boot partion and not the MBR as it won’t take properly. This can also give you the “system disk error”.
Please remember that if you put in a system disc, like the one that came with your machine, you can boot from it by holding down the “C” key. This can help you get going if you made a mistake in deleting something.
My best guess though is that you might have installed grub to the MBR and not to the boot loader. If you hold down the “option” key you should be able to boot back into OS X.
This is complicated enough it sounds like maybe we can join or start an official Fedora or Red Hat Wiki to discuss this further? It would be nice to have a somewhat “official” guide to dual booting every piece of Mac hardware on RHEL 5.
June 1st, 2007 at 11:39 pm
I run RHEL 5 on my MacBook Pro as the only OS. I was able to get GRUB to boot without using bootcamp by switching to a text console during the install and writing zero’s to the drive (Clears out the EFI partition and all your data!)
dd if=/dev/zero of=/dev/sda
Running that for about a min will do the trick. Ctrl-C and return to install.
Also to get the ATI driver working I had to install the compat-libstdc++-33-3.2.3-61 package. This allows the “fglrx’ module to load, would get a black screen without it.
I used the ATI installer to install the driver, and did not use the RPM method. Just be sure to run aticonfig when your done.
June 2nd, 2007 at 9:02 pm
Kelsey,
I like the dd command quite a bit too. It is also a great way to test disk i/o with a time command attached.
My favorite way to destroy my running Linux or Mac OS X system is a recursive delete from /. I won’t type the command in as I don’t want someone to try it :)
Thanks for posting the exact package:
compat-libstdc++-33-3.2.3-61
This was under my cryptic rpm -ivh fx…blah…rpm
June 5th, 2007 at 4:14 am
hi, this basavaraj
June 5th, 2007 at 9:28 pm
While straight-forward enough for a technical type, this is pretty far from what most OSX users would classify as “painless”.
June 6th, 2007 at 4:18 am
Ian,
I would agree with your comment, although this is probably as painless as it can get. It is very doable with a little patience though…
June 11th, 2007 at 11:36 am
Noah, a little bit of a rabbit trail, but what would you recommend for a beginner interested in linux-based animation tools?
Thanks!
June 12th, 2007 at 2:12 pm
What about the camera? And 802.11n, and bluetooth, etc.? What is supported, and what is not?
June 28th, 2007 at 8:07 am
I second Briandot’s questions. Could someone who’s tried please point out what is (can be gotten) working and what isn’t (can’t)?
Power management and suspend/hibernate support, for instance.
July 11th, 2007 at 9:38 am
Nice article, thanks for putting it all together.
Briandot, all that stuff works fine with Ubuntu 7.04, kernel 2.6.20-15, using madwifi (experimental) driver 0.9.30.10 with everything working fine except WPA2 (not supported yet).
July 12th, 2007 at 1:24 am
Gave it a try yesterday but couldn’t go further than the first reboot because every key I pressed was being seen twice buy the kernel and there was no rroooott user. I had a similar problem in the past and I’m afraid it’s related to a MacBook C2D firmware issue.
To recover my Ubuntu installation I booted the live CD, mounted the installation in /mnt/disk and run grub-install –root-directory=/mnt/disk /dev/sda but at some time fdisk -l told me I had lost my partition table. Guys, really do the lovemaking backup! :-D
July 31st, 2007 at 7:18 pm
Hi Noah,
Do you have the instructions on how to configure Macbook’s keyboard and trackpad? Thx.
August 13th, 2007 at 7:35 am
i m new to linux and working on redhat linux 5….i m not able to mount my windows partitions in it….the error goes like this
error:unrecognized file system NTFS
August 17th, 2007 at 3:21 am
So has anyone got CentOS 5 to boot in a Parallels VM with more than 516MB of RAM? I’ve found nothing about this on the net so maybe I’m the only person who gets a kernel panic if I try to assign a usable amount of memory to the VM.
September 2nd, 2007 at 10:09 pm
William Robertson,
Using my Mac Os X’s Parallel app, i tried to install RHEL 5, using 1024 Ram. I was able to install RHEL 5 sucessfully. BUT after rebooting. I get the kernel panic…something about not syncing. much like your own:
http://www.williamrobertson.net/images/oelinux5-kernel-panic.png
were you able to get through this problem?
September 2nd, 2007 at 10:40 pm
My first guess is that your booting into the Xen Kernel? Try the regular kernel.
September 11th, 2007 at 9:48 am
Hi! Can somenone tweak this tutorial for the newest MacBook Pros running with Nvidia graphics card an which drivers are best in that regard?
November 18th, 2007 at 10:07 am
Has anyone had any luck with 64 bit red hat enterpise linux 5 on VMfusion or bootcamp?
April 26th, 2008 at 11:30 pm
Has anyone had a go at installing Oracle Enterprise Linux 5 in a similar way? I tried following the instructions to do this, as I believe they are very similar flavors of linux. However, the install stalls very early on and doesn’t respond to the keyboard. I wanted to use Oracles version, as it’s free to download and want to install oracle RDBMS thereafter.
July 6th, 2008 at 11:29 pm
i want yesterday cpu information
August 4th, 2008 at 6:36 am
Hi,
I have encountered a problem similar to the one Ergi(13.) described.
I tried the installation on a MacPro and saw the same chunk of free space. After finishing the installation, the Linux partition just does not show up in bootcamp.
After synchronizing the partition tables with rEFIt, there is another boot option, but it’s labeled “Legacy OS” and results in a “Missing operating system” message.
Any ideas?