June 19, 2006

Installing SUSE Linux 10.1 on a PowerPC Mac

Author: Kris Shaffer

Since version 7, PowerPC versions of SUSE Linux have been conspicuously absent from the SUSE desktop lineup. Instead, SUSE and Novell have focused on x86 (and x86_64) versions of their desktop Linux distribution. With version 10.0, PowerPC support returned to SUSE, but Novell has quite a few kinks that need to be worked out before this distro hums like its x86 counterpart, starting with some killer problems with installation.

Before diving in and installing SUSE 10.1 on my PowerBook, I wanted to take it for a test drive, particularly because SUSE's installer cannot shrink existing Mac HFS+ partitions on the fly. A full installation of SUSE on a PowerPC Mac requires a fresh installation of Mac OS X, followed by the restoration of all applications, preferences, and data. That's a big commitment! Given the hesitancy with which one may approach a new distribution, one might expect that a PowerPC live CD would be a priority for the openSUSE project, but there is none for version 10.0 or 10.1 for the PowerPC.

Since my PowerBook doubles as a portable recording studio, I did not want to mess with my OS X installation. There was one other testing option before me, however: installation on an external drive. Having seen a tutorial for partitioning an iPod for -- amongst other things -- Linux installation, I decided to try installing SUSE 10.1 using my iPod as an external hard disk.

Since most Mac users considering a SUSE install probably won't want to reinstall Mac OS X from scratch, but may be willing to test it with an iPod installation, I will say a few words about installing SUSE on an iPod. First, the big warning: DO NOT PARTITION YOUR IPOD WITH APPLE'S DISK UTILITY! My fourth-generation iPod -- as well as other recent models -- contains two partitions: one for the firmware and one for the music. Disk Utility recognizes only the music partition. If you use Disk Utility to format and repartition the iPod, you will likely lose the firmware, and the iPod restore application may not be able to recover your iPod. I've read several reports of users who were unable to restore the iPod even to the factory settings after partitioning the iPod with Disk Utility. A much better partitioning method is to use dd and ditto to backup your firmware and data, and to use pdisk to partition your iPod. Please refer to the above-cited tutorial for detailed instructions.

Installation and bootloader issues

Before my first installation attempt, I created two new partitions on my iPod with pdisk, giving me a total of four: 1) iPod firmware, 2) iPod music (HFS+), 3) a small partition for the bootloader (HFS; you'll need 20MB or so), and 4) empty space for SUSE (I recommend at least 3.5GB for swap and the basic SUSE installation). Upon moving a few tracks to the iPod from iTunes and verifying that my music player still worked, I began the Linux installation. SUSE detected the iPod connected via USB 2.0 and suggested a partitioning scheme that would create swap and root partitions from the empty space, leaving all other partitions intact, which I accepted. I chose the small HFS partition for bootloader installation. I also accepted the default applications, adding a few extra font sets and games, and accepted the default hardware recommendations.

Mid-installation (at the end of the first of five CDs), SUSE requires a reboot; with an external-drive installation, this can be tricky. Theoretically, you can hold down Alt/Option while the Mac starts up and choose any bootable image from the menu. However, the USB-connected iPod does not show up; only Mac OS X and the SUSE installation CD appear on the boot menu. I changed out the USB iPod cable for FireWire, refreshed the menu, and a new option appeared for a bootable FireWire drive with Linux. However, this selection -- upon several attempts, both mid-installation and after completing the installation -- did nothing but mess with the screen colors and refresh the menu.

As a last resort, I chose to boot from the SUSE CD, but yaboot provides only three options: CD install, network install, and rescue. I did not want a new installation, and rescue did not find an installed system to rescue (since the installation was not complete yet). I had read in the 10.0 documentation that the install CD should allow me to boot an installed system from the linuxrc menu, but such a menu was nowhere to be found via yaboot. I decided to select "install" and see what I could do. This, however, offered no options in my favor, so I decided to abort and do some research. When I aborted the installation, the linuxrc menu appeared! From there, I was able to boot my (partially) installed system, which guided me through the rest of the installation process. Unfortunately, with the installation complete, the bootloader on the iPod still did not work, and I was required to use the installation CD every time I booted into the system. (SUSE's documentation does acknowledge potential problems with the PowerPC bootloader and offers some workarounds for internal hard drive installations.)

Installing Linux on an iPod brings some side effects for the music player. First and foremost is the effect of the bootloader. Since iTunes expects only one HFS or HFS+ partition on the iPod, it does not know what to do when it finds two (one for the music and one for the bootloader). In some cases, users have reported iTunes randomly picking one partition or the other when connecting to the iPod. In my case, iTunes always chose the 20MB bootloader partition, crippling the iPod. It still plays whatever music was already on it at the time of installing Linux, but iTunes can no longer modify the music library to add or remove music. After trying several partition arrangements, I decided to repartition the iPod three ways -- iPod firmware, iPod music (HFS+), and empty space for Linux -- and install SUSE fresh. Since I was unable in earlier attempts to get the bootloader on the iPod to work anyway, I would just rely on the installation CD to boot, avoiding the need for two HFS(+) partitions. With this arrangement, I was able to get a working SUSE system on the iPod without diminishing its functionality as a music player.

In my second installation, I originally attempted to use the iPod's FireWire connection throughout. However, for whatever reason, SUSE's partitioner was unable to detect the external FireWire drive, and I had to return to USB to install properly.

Have a lot of fun!

Ironically, this friendly greeting is not what most users want to see when they complete a SUSE Linux installation, as it means that something in the X.org setup failed, and the user is left without a GUI. But this is just what I got when I completed my installation. Fortunately, the problems with my PowerBook's X.org settings are documented, and I was able to get KDE up and running without too much extra work. According to the openSUSE docs, to get X.org working with the 15-inch PowerBook G4 monitor and the ATI Radeon 9700 graphics card, I needed to add Load "dri" under Section "Module", and Option "Bustype" "PCI" under Section "Device" in /etc/X11/xorg.conf. After that, typing startx should get me into KDE. However, this wasn't quite enough. I also had to adjust the horizontal and vertical refresh rates in xorg.conf before I could get my graphical system up and running. And since the graphics setup menu in YaST did not include the dimensions for my 15-inch widescreen monitor in its list of options, I needed to manually add my monitor dimensions to xorg.conf as well.

Another graphics issue was more crippling. Some of the animations -- particularly the preview popups which appear when mousing over an icon in the panel -- fatally froze the graphics system. As these freezeups occurred more than half of the time, I disabled the animation in "personal settings" (i.e. kcontrol). After this, I only experienced one freeze up in a couple of dozen sessions.

Other PowerBook hardware worked as expected, though not 100%. For instance, the trackpad mouse works fine, but since SUSE does not map ctrl-click or long click onto right-click as Mac OS X does, there is no way to right-click on the PowerBook without an external mouse or a keystroke hack. And of course, SUSE does not support scrolling via two-fingered motion on the trackpad like Mac OS X. Audio playback via the onboard sound card worked without any difficulties, and once past the X.org setup issues, the graphics worked fine as well. Ethernet also worked without a hitch. In fact, SUSE 10.1 responds faster to new connections and disconnections than any OS I've used before -- Linux, Mac, or Windows. However, SUSE detected neither the Airport Express wireless card nor the dialup modem in my PowerBook. And of course, nifty Mac features like the backlit keyboard are absent from the SUSE PowerBook.

One major thing to consider when deciding whether to install SUSE (or any Linux distribution) on your Mac is processor heat. The G4 PowerBooks are notorious for producing a lot of heat, and controlling this heat is vital. I noticed the PowerBook running hotter under Linux than under Mac OS X, enough to keep me from running it on Linux for more than a couple of hours at a time. A colleague of mine noticed the same issue when running Windows on his MacBook Pro via Apple's Boot Camp. There are various potential fixes for the heat issue floating around the Net; before committing to a permanent installation, particularly on an iBook or a PowerBook, be sure that you are comfortable with the temperature at which your machine runs under Linux, or find a fix for your distro/model that keeps the processor heat under control.

A portable installation

Once SUSE was up and running on my PowerBook, I decided to try hooking the iPod up to another machine -- a 1GHz 15-inch PowerBook G4 that belongs to a friend of mine. The SUSE installation on my iPod booted up successfully on another machine with slightly different hardware. It ran noticeably slower on the 1GHz model, but I noticed no problems in the brief time I spent on it. Though such portability is merely a novelty for a laptop owner who can bring his PC anywhere without much trouble, someone who owns only a desktop may find it quite beneficial to install SUSE -- or another stable OS -- on an external hard drive, and use that drive on other similar Macs. That way, when using a friend's or family member's computer, one has access to the same OS, applications, personal preferences, network settings, fonts, and data as when at home. Though installing SUSE on the iPod was a last resort for me in the testing process, some users may benefit from such a portable installation.

Once past the hiccups of the installation and setup process, SUSE was fairly stable. It looks pretty on the PowerBook screen, though it would be nice to enable animation without KDE freezing up. However, since the bulk of the work I do on my PowerBook is at home (where I already have a SUSE desktop), requires wireless Internet access (SUSE does not recognize my Airport Express card), or requires proprietary, Mac-only audio software, I don't think that it is worth a complete reinstallation of Mac OS X in order to get SUSE running natively on my PowerBook. However, if I decide to make the upgrade to Mac OS 10.5 "Leopard" when it comes out, I plan to take that opportunity to set up a dual-boot system with a clean Mac OS installation and a new SUSE installation, particularly if SUSE has increased support for Apple hardware by then.

I am ecstatic that the openSUSE project has resurrected PowerPC support for SUSE Linux, and I eagerly await the day when SUSE works on a PowerPC Mac as well as it does on an x86 PC. However, I expect it will take one or two more releases before the installation and setup kinks are worked out and support for Apple hardware is more extensive. Let's hope that Boot Camp and the new Intel Macs don't curb SUSE's newly reborn enthusiasm for the PowerPC Mac.

Kris Shaffer is a graduate student in music theory at Yale University and an avid open source software enthusiast. He is co-editor-in-chief of AmSteg.org, an online resource for young composers and music theorists, and he has written articles on Linux and open source software for Linux Journal, NewsForge.com, and Linux.com.


  • Linux
Click Here!