Rate this page del.icio.us  Digg slashdot StumbleUpon

Painless dual-booting with Red Hat Enterprise Linux 5 and a MacBookPro

by

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:

https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-8.36.5-x86.x86_64.run

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.

40 responses to “Painless dual-booting with Red Hat Enterprise Linux 5 and a MacBookPro”

  1. John says:

    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.

  2. Noah Gift says:

    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.

  3. Rick says:

    What differences would there be to the process to get Fedora running?

  4. Noah Gift says:

    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.

  5. brent langston says:

    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.

  6. brent langston says:

    forgot to mention that on fedora, I don’t need the ‘noapic’ option.

  7. gabor szentivanyi says:

    Can you create a virtualized solution based on the dual boot config? Is it written down somewhere?

  8. Noah Gift says:

    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.

  9. Walter says:

    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.

  10. Noah Gift says:

    “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.

  11. Walter says:

    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.

  12. Noah Gift says:

    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.

  13. Ergi says:

    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.

  14. Noah Gift says:

    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.

  15. Kelsey Hightower says:

    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.

  16. Noah Gift says:

    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

  17. basavaraj says:

    hi, this basavaraj

  18. Iain Wade says:

    While straight-forward enough for a technical type, this is pretty far from what most OSX users would classify as “painless”.

  19. Noah Gift says:

    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…

  20. Sean McKay says:

    Noah, a little bit of a rabbit trail, but what would you recommend for a beginner interested in linux-based animation tools?

    Thanks!

  21. Briandot says:

    What about the camera? And 802.11n, and bluetooth, etc.? What is supported, and what is not?

  22. pundit says:

    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.

  23. miguev says:

    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).

  24. miguev says:

    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

  25. Ben Tran says:

    Hi Noah,

    Do you have the instructions on how to configure Macbook’s keyboard and trackpad? Thx.

  26. nigam says:

    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

  27. William Robertson says:

    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.

  28. erwin escalona says:

    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?

  29. Noah Gift says:

    My first guess is that your booting into the Xen Kernel? Try the regular kernel.

  30. Nils Denon says:

    Hi! Can somenone tweak this tutorial for the newest MacBook Pros running with Nvidia graphics card an which drivers are best in that regard?

  31. Adam says:

    Has anyone had any luck with 64 bit red hat enterpise linux 5 on VMfusion or bootcamp?

  32. Paul says:

    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.

  33. vellanki sarma says:

    i want yesterday cpu information

  34. Niels says:

    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?

  35. arunkumar says:

    i need the pdf file for the procedures of installing red hat linux o.s with picture itself.please send it through mail

  36. Joe Wulf says:

    I’ve been installing RHEL5.2 x64 on the Mac Pro, dual quadcore CPUs 4GB ram, dual nic and 500GB HD. This has the nVidia graphics card. I too have totally blown away all partitions and used the full drive. Originally had done this for Windoze XP 64 bit, but now using it for RHEL5 (want to leverage xen in bulk).

    The graphical installation would never go. Got textual garbage everytime I went there. Did a text based install, and that went farily well. Now I’m looking for how to tailor the xorg.conf while in runlevel3. I’ve got the xfs service started, have saved the original /etc/X11/xorg.conf and my various edits haven’t worked so far. Insight and advice from those who have experience with this would be very welcome.

    Thanks.

    R,
    -Joe

  37. Eric says:

    I have a new unibody MacBook Pro and I’m having a problem that I don’t recall having when I set up RHEL5 on my old MacBook Pro. I am attempting to dual boot it with OSX. After I am done installing it tells me to remove the media and reboot. When I do so and hold option, there is no option to boot from Red Hat (only OS X). In Disk Utility, it says: “Invalid BS_jmpBoot in boot block: 000000″

    Any thoughts would be very helpful!

  38. Eric says:

    Ok, I got that working eventually. I’m not sure what was leading to my problem before specifically, but installing on just one partition ended up solving it.

    One note:
    The install command must be “linux all-generic-ide” or else there will be errors about drivers not being found for your hardware. This same all-generic-ide parameter must also be used in the command to start the OS after it has been installed.

    Now I have a new problem. I need drivers. In particular I guess I’ll need some for networking and the trackpad since the video seems to be working (though maybe not performing optimally). Does anybody have an idea where to find the drivers I need?

  39. Marc says:

    Hi,

    I solved the missing os by booting redhat from dvd into linux rescue mode. Then let the rescue action mount your redhat installation and chroot /mnt/sysimage.

    Run grubinstall /dev/sda3 (partition with linux) and exit the chroot and reboot. Refit now actually sees a linux partition !

  40. Roy says:

    I have tried installing both on my macbook pro (unibody) and my mac pro… still I cant seem to get it work. I cant see the Linux (or the ironic-windows) option with mac’s built-in chooser. I only see “Macintosh HD”…

    So I tried installing rEFIt. And still I cant see the linux bootable drive..
    some guidance please Noah? or anyone..