Linux on PPC

 

These notes mostly document what I've figured out on my latest SuSE 7.0 PPC install on my iMac through several attempts at a triple-boot Mac OS 9.2.1, Linux, and Mac OS X.1 setup. If they're any use to someone who stumbles across this page... great ;-)

I'd like to at least 'sample' all of the Linux distributions for PPC before too long, but I just dragged out my SuSE 7.0 PPC cd's more or less when the Mac OS X.1.1 update was released (figured it was time to give Mac OS X another test-drive). On the other hand, I really hate RPM-based (or any dependency system) distributions, and I prefer more of a hands-on approach than what's available with the current PPC offerings. I've humored the thought of doing a 'linux from scratch' on PPC... and maybe trying to spin a PPC linux with a Slackware feel, but I'm not making any promises ;-)

 

Partitioning the hard-drive

As with almost any multi-boot setup on any hardware, every OS' disk partitioning/formatting tools have their pro's and con's. I believe I used every? utility available with Linux, Mac OS 9.x, and Mac OS X.x at least once from start to finish to produce a satisfactory triple-boot.

I'm aware of at least a few Linux partition tools for PPC (fdisk-mac with Debian, pdisk, parted), but I only used pdisk to do most of the partitioning work. If you prefer a semi-graphical tool, cfdisk is also available for Linux on PPC, but it often fails to work where pdisk does a very capable job. As a matter of fact, I just checked the Linux install on my iMac as I'm writing this, and cfdisk exits with a fatal error, complaining about a 'bad signature on partition table' on my disk that already has a fully-functional tripe-boot ;-) The good news is - pdisk is very similar to Linux fdisk if you've ever used it on Linux for x86 hardware.

Apple seems to put drivers in various (5 to 8, depending on your configuration) small partitions on the hard-drive before any portion you would actually use for an OS. The details aren't too important, except when you consider what happens when the machine boots. As I understand it, you need to create a special partition to hold 'bootstrap' information before you think about any other partitions for specific OS'. The table of partitions below was gathered by running pdisk -l under linux.

 

#: type name length   base ( size )
1: Apple_partition_map 'Apple ' 63 @ 1  
2: Apple_Driver43* 'Macintosh ' 54 @ 64  
3: Apple_Driver43* 'Macintosh ' 74 @ 118  
4: Apple_Driver_ATA* 'Macintosh' 54 @ 192  
5: Apple_Driver_ATA* 'Macintosh' 74 @ 246  
6: Apple_FWDriver 'Macintosh' 200 @ 320  
7: Apple_Driver_IOKit 'Macintosh' 512 @ 520  
8: Apple_Patches 'Patch Partition' 512 @ 1032  
9: Apple_Bootstrap 'Bootstrap' 1600 @ 1544  
10: Apple_Unix_SVR2 'Linux swap' 524288 @ 3144 (256.0M)
11: Apple_Unix_SVR2 'Linux root' 20971520 @ 527432 ( 10.0G)
12: Apple_HFS 'Mac OS' 29360128 @ 527432 ( 14.0G)
13: Apple_Boot 'MOSX_OF3_Booter' 16384 @ 50859080 ( 8.0M)
14: Apple_Loader 'SecondaryLoader' 1024 @ 50875464  
15: Apple_UFS 'Mac_OS_X' 9147392 @ 50876488 ( 4.4G)
16: Apple_Free 'Extra' 6552 @ 60023880 ( 3.2M)

(To be continued soon... ;-)

pmac-utils-2.1.tar.gz