The first big step in my move to run an open stack in the lab was getting Linux installed on my workstation. Being a pragmatist, I wanted to find the most cost effective way of doing this with the hardware I already have on hand. Using the Mac Pro I already have also suggests a dual boot, letting me incrementally switch over tools and processes from OS X to Linux. I’ve run a dual boot on my Mac Pro before to boot into Linux when working from home so as to have the same environment for work development as at the office.
I decided I didn’t want to fool around with re-partitioning my existing drive. I did that last time and it was really just a hassle. Given how cheap drives have become, I went ahead and ordered a 2nd internal drive. I figured this would give me some more flexibility if I got to a point where I felt I could ditch OS X altogether.
After the drive arrived, I set aside a Saturday morning to do the installation work. I actually invited my friend, John Taylor Williams, over to observe as we are planning to perform a similar installation on his Mac Pro down the road. I expected things to go very smoothly but unfortunately, that’s not exactly how things unfolded.
The first problem I encountered was with my ATI video card. With my previous dual boot, the video card under Jaunty and Karmic worked without complaint. The Lucid installer dropped to a black screen when trying to switch over to the graphical installer. I posted status messages about my problem and @claudiom offered the vital clue that helped me get past this particular issue. The ATI Radeon HD cards are known to have a problem setting modes. If you hit F6 at the initial menu on the install disc, you can add the “nomodeset” option. For good measure, I edited the boot line to add the kernel parameter, “radeonhd.modeset=0”.
Post installation I had a little more trouble getting these kernel parameters permanently configured. First, the install disc doesn’t actually add “nomodeset” to the editable boot line when you set it. I was trying to boot with only adding the Radeon specific parameter to the Grub boot entry. Once I realized I needed “nomodeset”, I was able to update /etc/default/grub to add “nomodeset radeonhd.modeset=0” to GRUB_CMDLINE_LINUX and run “update-grub” to merge that change into the boot configuration.
I hit a known bug with the standard installation disc when trying to install to a disk other than the first hard disk installed. There is a simple fencepost error in the menu code. If you try to select the second drive when you get to the disk partitioning step, you get an array index out of bounds error. I ended up using the alt install iso to get past this. The resulting system is identical but the alt image uses ncurses so doesn’t run afoul of the bug in the GUI installer.
The last problem I encountered was some confusion on Grub’s part with my two bootable disks. This was perhaps the most panic inducing as at various points, my system appeared to be unbootable into either OS X or Linux. The problem is that Grub was trying to set up to boot from the 1st drive in my system, what it labels as hd0. The config it was using was correct except that hd0 is my OS X drive, so the pointers to config files and paths simply were looking at the wrong drive. I tried to intercede with Grub’s powerful boot editor, like I had for the video parameters I needed. Nothing I tried worked to get Grub to recognize that hd1 was the actual Linux drive.
Thankfully, another online acquaintance stepped in to help, @eeefak. He recommended I run the disk tool under rEfit, the alternate EFI boot loader. Doing so resulted in an extra, non-bootable option showing in rEfit’s menu from that point on. Small price to pay as fixing the suggested drive activation in that tool sorted out the Grub confusion making the Linux and OS X boots both work as required.
Once I got the video and Grub issues resolved, well after JTW had to leave, I encountered no other problems with my fresh install. I was able to quickly get my usual tools set up and running, primarily Firefox with my preferred add-ons and Thunderbird plus Enigmail pointed at my Gmail account. I haven’t had time yet to dig into my next project on the list, getting my FireWire mixer to work, so for now I am booting back into OS X to recorder, master and publish podcast episodes.