Content Cleanup Required
Style Cleanup Required
If you've ended up at this page, you're probably about to do something irrational: install Linux on an OldWorld Mac. This page is loosely formatted as a series of users' individual experiences, beginning with a very detailed one that should be helpful. You should read the whole thing at least once before proceeding, to get a feel for what you're wading into. Then, take a Zen moment and accept the possibility of failure. This might not work on your system.
Then again, it might.
In either case, you will lose all data on the machine you're installing to, and may do irreparable harm to it as well. Now, a few general suggestions, then on to the specifics.
1) When it's time to begin the procedure (after you've read this whole document through once), make sure you have the following items: an OldWorld Mac, an OS 9 installation disk, an Ubuntu alternate install CD (not a desktop live CD), a second computer with a working Internet connection, a CD-ROM burner, and plenty of patience.
2) Zero the hard drive on your target OldWorld machine. You can do this with the Disk Utility on the computer's original Software Restore disk, by choosing "Initialize," then finding the "Zero" or "Write Zeros" option in a configuration menu. Once you start this process, it will take a few hours to complete, and it will destroy all data on the machine. However, it will ensure that your installation doesn't get derailed by extra crud left from old operating systems. Go grab a nice long lunch while it initializes.
3) Install the original OS (quite likely pre-OS 9) from the Software Restore disk, then turn right around and do a clean installation of OS 9 from your OS 9 disk. Important note: An "OS 9 Installation Disk" you see advertised on eBay may not work. Most of these are disks that came with iBooks, and they won't install on anything besides an iBook (which is a NewWorld machine, so you wouldn't be doing this procedure with it anyway). Be certain you have a full OS 9 installation disk, which will generally cost more on eBay than the iBook disk. Ask the seller if there's any doubt. When installing OS 9, be sure to partition the drive as described below.
4) Connect the machine to the Internet and run System Update. Apple will update your OS 9 to the last version of that OS. This will ensure that BootX runs properly, which is absolutely critical, so don't skip it.
5) Tell everyone to leave you alone for the next several hours, close the door, take a deep breath, and proceed.
UPDATE FOR 2.6 KERNELS
At least from 4.10 Warty and newer
BootX does NOT configure per its own DOCs
See notes at end of this document. You must use both a kernel and ramdisk in bootX to boot a 2.6 kernel.
Ubuntu Breezy Badger on OldWorld G3 Mac PPC. - zcat's howto.
I got given a G3 Server a while back, and finally got around to making a mac-to-VGA adapter for it. Specs are 300MHz PowerPC, 192M ram, 5Gb SCSI drive. Plus the usual on-board serial ports, network, sound, DTB (ADB?) keyboard and single button mouse. It was running MacOS9 and came with MacOS8 install CD's. In the time I've had it I've tried Debian, Warty, Warty kubuntu and most recently the Breezy preview. Breezy is awesome, and I'll probably install Breezy kubuntu with a nice OSX theme as soon as it's officially released.
Boot up the MacOS8 install CD and run the partition tool. Make a single partition just big enough to hold MacOS and leave the rest of the drive unallocated. I allowed 200M but it's only using 110M so this could have been smaller, and it doesn't need to be any bigger. Install MacOS, leaving off all the optional components. The only thing you need is Stuffit and a browser which are both part of the minimal OS8 install.
Set up TCP/IP and download BootX or just copy it from another network-connected machine using floppy or CD. For some reason (possibly the very old version of Stuffit that I had) I could only get version 1.1.3 to work, but it does the job. Drop the sit archive onto the StuffIt program (it's hidden somewhere in the Internet Tools folder) to unpack it, open the resulting folder and drop it's contents into the System Folder to properly install it. It will configure itself as a startup and Applemenu item.
Insert the ubuntu PPC install disk and navigate to the /install/powerpc folder. Copy vmlinux (the linux kernel) to “System Folder/Linux Kernels”. Copy initrd.gz (the init ramdisk image) to “System Folder” and rename it to ramdisk.image.gz
BootX should appear on the apple menu, and also run on every reboot. When you run BootX it should have “Use Ramdisk” checked and show vmlinux as an available kernel. If this is all in order go ahead and click the “Linux” button and in a short while you should be looking at the regular Ubuntu install dialogs.
When it gets to partitioning the drive Ubuntu will suggest using the entire disk for Linux. Don't do that because you still need MacOS to run BootX to boot Linux. Select the “Use Free Space” option or partition manually. I set up /dev/hda6 as root using the reiserfs filesystem, and later added a small swapfile. None of this is particularly important as long as you remember where you put your root. You will need to know later.
Copying /boot to the HFS* System Folder
The rest of the install is fairly straightforward until you get to the part where Ubuntu tries to install a bootloader. GRUB and Lilo don't work on OldWorld Macs, so Ubuntu will warn you that no bootloader can be installed. Switch to a second console at this point (Option-F2) and use “df” to see where things are currently mounted. In my case the newly installed ubuntu was on /dev/sda6 (The installer calls it /dev/scsi/host0/bus0/target0/lun0/part6, but this is just an initrd thing, by this stage in the install /dev/sda devices will work) mounted as /target and the HFS filesystem was /dev/sda5. Make a mountpoint and mount the HFS filesystem.
* HFS is the partition where Apple OS is installed. So we have : "hfs+" (Apple) + "ext3" (for ubuntu) + "swap" partitions.
cd /target mkdir hfs mount /dev/sda5 hfs -t hfs
If your MacOS Partition is formatted with HFSExtended (hfs+), use the hfsplus filesystem instead.
cd /target mkdir hfs mount /dev/sda5 hfs -t hfsplus
You might also want to add an entry to /etc/fstab so it will be mounted when you reboot. This makes updating kernels easier in the future.
echo '/dev/sda5 /hfs hfs defaults' >> etc/fstab
Or for hfsplus:
echo '/dev/sda5 /hfs hfsplus defaults' >> etc/fstab
Now copy the kernel and boot image over;
cp boot/vmlinux hfs/System\ Folder/Linux\ Kernels/vmlinux cp boot/initrd.img hfs/System\ Folder/ramdisk.image.gz
Option-F1 to get back to the installer, and tell it to go ahead and reboot.
When the machine reboots the BootX dialog should come up straight away. Hoary seemed to find it's own rootfs but Breezy doesn't, so type "root=/dev/sda6" in the kernel parameters box. Press tab so the Linux button is highlighted then click on the “Save as default” button. Then click Linux.
Ubuntu should proceed through the rest of the install as usual.
If you want a more OSX-like desktop install KDE (either download it in synaptic or install from a kubuntu CD). I haven't figured out how to theme Gnome to look and behave like OSX yet.
If you only have a one-button mouse, F11 and F12 on the keyboard will act as the middle and right mouse buttons.
END zcat's howto
Slight Tweaks on a Wallstreet
I followed zcat's instructions almost to the letter on a G3 Series Powerbook Wallstreet. This machine is OldWorld, unlike the bronze-keyboard Lombard that came immediately after it, which is NewWorld - a point often missed in Linux PPC discussions.
BootX 1.2.2 unstuffed fine for me in Mac OS 9. The Ubuntu installer popped up in the midst of some video weirdness that divided and mirrored the screen roughly in quarters, but it was readable, so I pressed on. My /target ended up in /dev/hda10, and I couldn't figure out where the HFS was. I guessed that it was probably in /dev/hda9, and that worked. All other commands were formatted precisely as above.
On reboot, I checked the "No video driver" option in BootX, thinking that might help with the video weirdness, then I continued with the reboot. A very long period with a dark screen followed, but the hard drive was clacking along, so I let it incubate. Finally, up popped Ubuntu, with perfect video.
After a shutdown and a new boot, be sure to check the "No video driver" box in BootX again, and save that preference (it doesn't seem to take the first time, even if you saved it). Sleep/wake-up doesn't seem to work, either, but I consider that a very minor glitch. All else is fine, as far as I can tell.
Frankly, I was amazed. A previous attempt at installing Debian on this machine about a year ago was excruciating, and ultimately failed. Ubuntu rocks!
End Alan's Wallstreet entry
This page tells the story of what I did (mistakes and all), to let people know that it works. There are better ways of doing this, I am sure. Feel free to edit this page, make it better, and share it with friends.
(These instructions apply to Ubuntu's Warty Warthog version. The Hoary Hedgehog and other future versions may require different tricks, or may not install on oldworld macs at all.)
Initial Set Up
The 4 gig hard internal SCSI drive (attached to an Adaptec card) was partitioned as (from a previous install):
- Partitions 1-4 - normal apple drivers, etc. Partition 5 - 350 MB, HFS, has miboot installed as the loader Partition 6 - 3.6 GB ext3 Partition 7 - 128 MB swap
Booting Linux from a mac can be a black science, and I won't get into it. I use miboot to boot my Mac, it's like yaboot is for New World machines. But you can just as easily use BootX...and I assume you know how.
It would be good to get the link above hosted somewhere more permanently...(hint,hint,hint).
The above tarball has the mini System Folder of miboot and all the kernels and initrds that you need to install and then successfully reboot into your new Ubuntu distribution. (Actually, I think it contains the latest kernel as well, 220.127.116.11-3 and the associated initrd.)
If you don't can't use the tarball, then continue here: Mount the Ubuntu CD. Copy path-to-cd/install/powerpc vmlinux to your 'Linux Kernels' folder. Put initrd.gz and initrd.list on your HFS partition, outside your System Folder.
My boot.conf file (used with miboot, values taken from the yaboot.conf file on the CD) has this for an entry, you can pick out the necessary values for BootX:
Default Names from CD
label = install-powerpc
label = install-powerpc
image = vmlinux
image = vmlinux-ubuntu-install
initrd = initrd.gz
initrd = initrd-install.gz
append = "DEBCONF_PRIORITY=critical devfs=mount,dall init=/linuxrc"
append = "DEBCONF_PRIORITY=critical devfs=mount,dall init=/linuxrc"
root = /dev/ram
root = /dev/ram
Now you should be ready to boot.
Ubuntu uses the new debian-installer. The first screen lets you pick your language. Before you select anything, hit ctrl-opt-F2 and drop to a console. I need to do this because the installer doesn't quite get the needed modules installed (one for the CDROM, and one for the onboard ethernet).
At the console prompt type:
modprobe mesh modprobe mace
If it says it can't find the module, then 'cd' to the directory (e.g. /lib/modules/18.104.22.168-1/kernel/drivers/scsi ) and try to modprobe it there.
Now the rest of the install proceeds without a hitch until the installer says you need to set up the boot partition. It looks like it's finished. Don't let it finish! (And as a side note, the installer really isn't finished, it's only at 81%. That's just bad design...)
You have to figure out a way to get your newly installed kernels onto your HFS partition so they are accessible to BootX/miboot. That means for my setup, I have to get them from /target/boot (during the install /dev/sda6 is mounted as /target) to /dev/sda5.
This part tripped me up. Pressing CTRL-OPT-F2 again drops me to a console. The version of mount that I have access in the install didn't let me mount an HFS partition. So I used 'pivot_root' to change into my newly installed distro:
mkdir /target/mnt/foo /sbin/pivot_root /target /target/mnt/foo
Then I mounted my HFS directory:
mkdir /mnt/foo2 mount -t hfs /dev/sda5 /mnt/foo2 cp /boot/vmlinux-22.214.171.124-1-powerpc /mnt/foo2/Linux\ Kernels/ cp /boot/initrd.img-126.96.36.199-1-powerpc /mnt/foo2 umount /mnt/foo2
They are copied, and I think I am nearly done. Unfortunately, the installer isn't really finished, and won't quite finish it's last tasks (thanks to my pivot_root trick, there is no /target anymore like the installer expects. Of course, if the installer were truly finished this wouldn't be an issue!)
So the installer can finish, you can pivot back to the installer's root, putting the target system back in the target directory:
/sbin/pivot_root /mnt/foo /target
then switch back to the installer with CTRL-OPT-F1 and let it finish.
(Note: With the tarball of kernels and initrds from above, which has the install kernel and the 'normal' kernel, put them *both* in place when you are getting ready to install. Then you'll just quit the installer when it prompts you to reboot. Reconfigure BootX/miboot to boot with the 'normal' kernel and initrd to finish the second stage install.)
And Bob's your uncle!
How to Try a Live CD With an Old World Mac
I wanted to try Breezy on my old Wallstreet powerbook. I found the above instructions helpful on how to use BootX to boot from CD, but it was for an install and I didn't want to perform an install, just boot the live CD. I found the rest of my answer here: http://scotfl.ca/category/scotflca/os-transition/
- 1) Download BootX. 2) Insert the ubuntu PPC install disk and navigate to the /install/powerpc folder. Copy vmlinux (the linux kernel) to “System Folder/Linux Kernels”. Copy initrd.gz (the init ramdisk image) to “System Folder” and rename it to ramdisk.image.gz. 3) Add the following arguements to the boot command in BootX.
casper/enable=true casper-udeb/snapshot/backing-file=/cdrom/casper/filesystem.cloop --
- 4) Hit the "Linux" button in BootX, and it boots from the Live CD.
From NathanSprangers Tue Nov 16 01:27:21 +0000 2004 From: Nathan Sprangers Date: Tue, 16 Nov 2004 01:27:21 +0000 Subject: Copying Kernel and initrd image to hfs volume Message-ID: firstname.lastname@example.org
I used BootX to boot the CD so I could run the installer. Once the installer finished I booted from the Debian boot floppies (available at ftp://ftp.debian.org/debian/dists/stable/main/disks-powerpc/current/powermac/images-1.44/) and immediately dropped into a shell where I mounted the Ubuntu partition to /mnt and my HFS partition to /target. I copied the kernel and initrd from /mnt/boot to /target then rebooted into Mac OS 9 on the HFS partition.
The last step was to boot into Ubuntu using BootX. I selected the installed kernel and initrd.img and set the boot parameter root=/dev/hda11 where my Ubuntu installation was. From there everything worked smoothly.
An additional note: a previous attempt to install Ubuntu on this machine failed (Open Firmware settings had been changed and I was unable to revert them). I believe it didn't work because I had deleted a partition and created new partitions using Ubuntu's installer. I reformatted the drive using Mac's installer, leaving plenty of free space for Ubuntu's partitions then partitioned that space with the Ubuntu installer. This was done on a Beige Rev B PowerMac G3 with the help of BootX and the Debian install floppies.
From TimCarroll Sun Dec 12 22:32:08 +0000 2004 From: Tim Carroll Date: Sun, 12 Dec 2004 22:32:08 +0000 Subject: Copying kernel and initrd from /boot with SCP Message-ID: <20041212223208+0000@https://www.ubuntulinux.org
While trying the above solutions on my Wallstreet, I found myself at the end of the installation in /boot and thought to try to send the kernel and initrd files to another machine on my network via secure copy and it worked! Since the installer had configured my Wallstreet on the network via DHCP, this was very easy to do:
scp /boot/vmlinux-* me@theNetworkMachine:~/ scp /boot/initrd.img* me@theNetworkMachine:~/
Then, once I booted back into MacOS?, I was able to retrieve the files fromt he remote machine to place them in the appropriate places for BootX. For some reason, I still cannot boot into ubuntu, as I have a kernel panic related to not finding my /dev/hda10 partition ("unable to mount root fs") but this is another story...
From S.Nielsen Sun Jan 16 09:10:45 +0000 2005 From: S. Nielsen Date: Sun, 16 Jan 2005 09:10:45 +0000 Subject: Copying kernel and initrd from /boot with SCP Message-ID: <20050116091045+0000@https://www.ubuntulinux.org In-Reply-To: <20041212223208+0000@https://www.ubuntulinux.org
I tried all the above solutions to copy my kernel from /boot but with no luck. I got a wallstreet, and I hope there might be a chance that you could drop me your kernel and initrd.img That will save me all the frustrations, as there seems to be no way I can get there.
From TimCarroll Mon Jan 17 15:17:14 +0000 2005 From: Tim Carroll Date: Mon, 17 Jan 2005 15:17:14 +0000 Subject: re: Copying kernel and initrd from /boot with SCP Message-ID: <20050117151714+0000@https://www.ubuntulinux.org
To be sure, I did the pivot_root trick above, before I did my scp trick, so I had access to the scp on the installed partition.
Here is a link to my kernel and initrd files: http://www.boomboom.com/wallstreet/
I hope this helps! If you need more help, please write me at email@example.com.
From RaylynnKnight Thu Jan 20 21:12:03 +0000 2005 From: Raylynn Knight Date: Thu, 20 Jan 2005 21:12:03 +0000 Subject: Copying kernel and initrd Message-ID: <20050120211203+0000@https://www.ubuntulinux.org
I managed the copying of the kernel and initrd by using a USB thumb drive. My G3 has a PCI USB card. I plugged in a USB JumpDrive and just before the installer rebooted I copied the kernel and initrd from /boot to the JumpDrive. After reboot I re-entered MacOS and copied the kernel and initrd from the JumpDrive to the MacOS partition.
Works fine for me. 1998 Wallstreet Series 1, 250mhz. Installed to an external SCSI drive (just didn't want to mess up my OS X install on the internal drive until I was sure it would be OK).
One note: If you find that you have a vertical line of fuzz running down the left side of your screen after X starts, try adding: video=atyfb:vmode:14,cmode:8,mclk:71 to your boot parameters in BootX.
From ChrisLobkowicz Sat Feb 5 06:32:47 +0000 2005 From: Chris Lobkowicz Date: Sat, 05 Feb 2005 06:32:47 +0000 Subject: What worked for my G3 Gossamer (beige desktop) Message-ID: 20050205063247+0000@https://www.ubuntulinux.org
I installed as per the instructions above. What seems to need further clarification is BootX configuration. I wont cover BootX config, the link is here on this page, and the documentation with BootX is more than adequate.<br> ---Install (boot from the cd)--- copy vmlinux and initrd.gz from /cd/install/powerpc to the /MacOS-disk/System/Linux Kernels/ rename the kernel to install-vmlinux, and the ramdisk to install-initrd.gz - no additional kernel parameters
---PostInstall Boot the installed Ubuntu System--- however you get your kernel file to the Linux Kernels folder is up to you.(scp, pivot_root, floppy, whatever) Set BootX to the new kernel, installed initrd.img ramdisk, no additional kernel parameters. Might be a good idea to rename the installed images install-vmlinux and install-initrd.img
This worked for me, I have a beige G3 desktop, Gossamer systemboad, not sure of what firmware rev. But I have an ide hard disk on the primary controller, and an ide cdrom on the secondary controller, no scsi for me.
Your mileage may vary, but this is what worked for me. Further documentation is here in the forums:
Additional Screen-fuzz question:
Please forgive me for any mistake as I am testing this wiki for the first time.
I just wonder if anybody has solved the issue of vertical bar/flicker on the wallstreet screen.
I have tried editing the booX parameters according to Ray's instruction but the flickr is still there...
From unknown Tue Mar 15 18:37:13 +0000 2005 From: Date: Tue, 15 Mar 2005 18:37:13 +0000 Subject: Custom / expert install via BootX? Message-ID: <20050315183713+0000@https://www.ubuntulinux.org>
I am having good luck with an Ubuntu install on my Wallstreet G3 Powerbook, but I am hard-drive-space challenged (I only have ~1.4GB for Ubuntu) and keep running out of disk space.
How do I pass the 'custom' or 'server-expert' commands to the install process using BootX?
From DaveM Fri Apr 8 19:15:53 +0100 2005 From: DaveM Date: Fri, 08 Apr 2005 19:15:53 +0100 Subject: Kernel Panic! aaahh! Message-ID: <20050408191553+0100@https://www.ubuntulinux.org>
I have a PM7500 with a G3 card in it and 2 hard drives (2gig and 9gig). I have OS8.6 on the 2 gig and managed to install hoary 5.04 release canditate on the 9gig. I got the kernel and initrd.img file by booting my G4 from a live cd and then copying them to a USB thumb drive. I keep trying differnent combiations of settings but I can't get the machine to boot to Ubuntu. I have G3 cache on, force video on, I have tried it with the initrd file and without and then used the "no video driver" check box.
when I can actually see video I get "Kernel panic can't find sda2 or something like that.
To DaveM -- I cannot tell what version of Ubuntu you're trying to install. I hope you posted your question to the forums. -- TommyTrussell
Success with Edgy
I just successfully installed Edgy on a Power Mac 9600. I had tried and tried to get Dapper to install, but for some reason none of the disks would boot -- I got a kernel panic and there was no evidence it saw the drive I was booting from OR the CD. I had decided it was a problem with the IDE controller I added to get larger cheaper disks. I tried the Dapper Desktop, Alternate and Server disks, with no luck. Strangely I never had trouble booting Dapper on my Wallstreet II PowerBook, but in the end I was doing an upgrade on the laptop rather than a clean install so maybe that was the difference.
I downloaded the Edgy Alternative disk and copied the kernel and ramdisk to bootx and it booted the 9600 just great with NO special kernel parameters. (To get X running right I had to put the appropriate video parameters for my card, but with nothing it successfully used the generic fbdev driver with the ATI video card I'm using.)
Ultimately I also had to add the ide=nodma kernel parameter because there's some sort of problem with DMA on my IDE controller.
Another Place to Look
Look on OldWorldMacsHardware for info on a machine or card you would like to use. and post your findings there!