Initially this will be install notes from my experiance installing Debian 3.1 "sarge" (testing) on a Beige (Oldworld OpenFirmware 2.0f1) Apple Power Macintosh G3. I hope that we can put together a simple install guide for others with this machine (and the OF 2.4 version) and some notes on other tweaks or issues using Debian 3.1 on these machines. -- JacobAnawalt
Quik Install Guide
Hopefully you haven't gotten too overwhelmed by all the documentation and discussion about how difficult it is to boot anything but ?MacOS's on the Beige G3. There is a lot of good information out there but the latest DebianInstaller (end of May 2005) makes simple work of this system provided you have the right hardware.
The easiest method to get Debian on this system is to have an internal SCSI hard disk to boot off of. A little 4-8G drive would do nicely and it doesn't have to be a fireball since you are only going to get 5 maybe 10 mb/s off of that Bus. If you can't get a ?SCSI2 compatible drive in there, then you may want to just skip this option and try the ?BootX method. Every once in a blue moon when OpenFirmware is feeling nice and you're lucky at guessing parameters you might be able to boot from the IDE drive. I was not successfull after trying for over 12 hours.
I was given a Beige G3, 266Mhz processor, ?128MB ram, IDE hard disk (8gb) and CD-ROM drive, ?SCSI2 zip disk. I didn't want to mess with a ?MacOS partition after getting Debian going so I looked into using Quik.
To make a long story short, I replaced the zip disk with a 4gb ?SCSI2 drive where I installed (root), booted using the latest floppies and except for a few minor glitches which I will cover everything worked great. Installing Quik even updated the OpenFirmware variables to the right settings. In my case that seemed to be.
boot-device /pci/mac-io/mesh/sd@0:0 boot-file boot-command begin ['] boot catch 1000 ms cr again
Quik Install Glitches
The fact that I had to put a hard disk on the internal SCSI bus seemed to be a big glitch, but it is a shortcomming of OpenFirmware 2.0f1 (and possibly other versions). I could have gotten a PCI SCSI card that was or could be flashed to be recognized by OpenFirmware. I have on in the system but I chose not to make it Mac specific by flashing it. Once the kernel is loaded the PCI card works fine.
I tried using the other floppy images, not the floppy-2.4 images listed above, but they created a blank boot disk on 2005-05-28.
I skipped the keyboard step, it didn't list the ?AppleDesktopBus (ADB) keyboard, and my keyboard was working fine.
I realize that I should only need to use either the cd-driver floppy or the net-driver floppy, but I found that I needed to use both. I loaded them in that order since the cd-driver floppy loaded a module that enabled the floppy drive eject and the net-driver floppy enabled hardware detection. I loaded installer components from both places, though perhaps just the net would have worked. I thought I tried just the net-drivers method, but I tried so many options that I'm not sure now. What worked for me was installing from both and then loading the base system. More on that later.
When the detecting network hardware hook would call, my DEC ?FasterNet card which had been detected and loaded with a tulip driver in the detecting hardware phase for loading the CD-ROM would always be detected a second time as a de4x5 which would fail to load. This seemed harmless. It also always re-detects the floppy.
I guess there isn't enough room on the floppies for a country list, though it seems one could have been pulled from my netinst CD-ROM. I had to use the "enter information manually" option and type in ftp.us.debian.org. (ftp.<country code>.debian.org should work for you.) The default directory, ''debian'' should work.
I liked the Workstation partition scheme from the Guided Partitioning. I ended up using a modified version of that since I had three hard disks in the system by the time I was done testing. If I only had one 8+gb SCSI disk I would have left this scheme as it was auto-calculated.
I tried just installing from the CD-ROM by not downloading installer components. When it gets to the kernel selection during "Install the base system" it prompted me with a -powerpc, -power4, -power3 and -apus kernel. I chose the kernel-image-2.6.8-powerpc image but the D-I menu appears as soon as I choose the kernel, before the install is done (progress bar still visible in the background). If I load installer components from the CD and then download them from the 'net I only get prompted with kernel-image-2.6.8 and the install works great.
Installing Quik on a hard disk worked great and automagically when I used a disk on the internal scsi bus. When I started out using the IDE bus the install quik step seemed to work, but nvsetenv showed that the boot-device was not set. When I tried using a drive on a PCI SCSI card quik installed but I got a red background as it tried to update OpenFirmware. Neither of those cases worked. Just the one where I used the disk on the internal SCSI bus.
I need to fill out an installation report on this. It's unfortunate I didn't have the G3 months ago to try this out.
Another powerpc-utilities program, nvsetvol, never returns from execution. There is bug 304493 covering this. Hopefully the fix makes it into Deiban 3.1.
BootX Install Guide
If you only have the Internal IDE drive to work with, your easiest way may be to try using BootX. I didn't test this but the concept seems simple. If you're starting from scratch you need to use ?DiskTools to wipe the disk and make a small (maybe ?200MB) partition for os 8-9.5 to load on. You could use the MacOS 8.1 Disk Tools System folder and maybe throw System Disk 2.3.1 on as well for an OpenFirmware GUI (though you shouldn't need to mess with OF unless you mess something up, and even then you would probably get things set right faster just by zaping the PRAM (Command-Option-P-R).
BootX Install and SystemDisk running from a modified MacOS-BootCD
- Rip your old Mac OS bootable install CD to disk
Get the Makefile and put it in an empty directory
- Modify the Makefile as stated in the comments section
- Maybe you want to have other things like XPostFacto on this disk too, edit the Makefile to your likings
run make cdrw (this will blank a rewritable cd, modify the image pointed to by BOOTABLE_MAC_CD, and burn it)
Congrats, you now have an emergency CD you can use to get back into linux in case quick, miboot or the likings ever give up on you. It also has Apple's System Disk in the root to get your OF variables up to date. Follow the next steps to setup a brick beige G3 from the start ..
- Start up
- Hold down Apple+Alt+P+R after startup, wait for the boot chime, release the keys after you heard it for about three times)
- Hold down Apple+Alt+N+V to clear NVram also
- If you modified the hardware with a new cd drive you might have to do the following two steps
- open up the case, remove the 1/2 aa battery, wait 30 minutes, put it back in
- press the reset button on the board for a longer time (located at the left end of the board)
You should now have factory defaults everywhere
- Put in the emergency CD you created, hope that it boots, try holding the c key if it does not
- After Mac OS CD booted, run BootX App
- select debvmlinux as kernel
- select Options, unselect everything, but Choose a ramdisk (go to Linux Kernels folder and try debnetbootird.gz)
- unselect No video driver
type 32000 in the field ramdisk size
add in the field kernel arguments video="atyfb:off" to turn off onboard video and have the kernel look for another graphics card (e.g. radeon) in one of the pci slots - I do not recommend modifying OF variable pci-probe-list as it messes up Mac OS monitor detection code (no finder on your desktop is one symptom
cross thumbs and hit Linux
If your Mac sporadically crashes
This was the hardes part in getting my Beige G3 finally working stable. If you have irreproducible crashes or hangups during cpu intensive tasks your best bet ist to first check your ram and if you're sure it's ok, go on to experiment with the L2CR (the level 2 cache register). Big blue has a nice user manual on the 750 cpu which explains the l2cr's bit meanings. For me raising the L2OH (level2 output hold time) to 1 ns did the job. The kernel uses 0.5 ns per default on my machine which was the low end given in the l2 chip's datasheet. The chips on my cpu must be of low quality so they don't work at 0.5 ns L2OH although the datasheet says it's possible. I also had to reduce the running speed of the L2 cache from 208 MHz (cpu freq divided by 2) down to 166 MHz (divided by 2.5), since I run the G3-400 a little overclocked at 416 MHz. I hope this will fasten your bug search or prevent you from giving up on your hardware - I was close to, but have a rock solid system now (running 4 days at full steam and going).
You can specify the l2cr contents just like the video option using a kernel boot argument. Use l2cr="0xhhhhhhhh" and substitute hhhhhhhh to a meaningful hex value. You should specify at least l2 size, speed, type, output hold and enable bits. I disabled the ZZ feature also - leave it on if your machine works stable as it is an energy saving measure.
I re-installed a number of times just to test things and try different configuration options. I only went through base-config twice. The first time I allowed the updated Quik package to write to the boot block and stuff (Y to upgrade question) and I didn't check nvsetenv afterwards. Well, on the next boot the kernel started to load and choked. /etc/quick.conf was probably wrong.
When configuring the keyboard at this stage, I told it to not touch the keymap. Seems to work just fine.
Configuring xserver-xfree86 my ATI card is at PCI:0:18:0 even though lspci says 0000:0:12.0. I must just not understand lspci or something. The X logs said where the device should have been, so I adjusted the config accordingly (too bad I even had to specify if the X-Server can figure it out.)
Post install notes
My sound is working, but only through the audio-out port (yes I did check to see that the front speaker is connected.) The front speaker stopped working somewhere through the testing process. Oh well. If your sound seems to not work, try the "headphone jack".
3d on ATI Mach64
I'd like to get 3d hardware acceleration going. A little ?TuxRacer in addition to ?CircusLinux, ?MadBomber and ?FrozenBubble would be nice. I'm looking around for this. A thread on debian-powerpc talks about it. I think they may have been a little too hopeful.
There is more detail about 3d on ATI at the DRI wiki, http://dri.freedesktop.org/wiki/ATIMach64. I'm not sure if the "ATI Technologies Inc 3D Rage I/II ?215GT ?GT Mach64 rev 154" in this Beige G3 is of the triangle setup engine variety or not.
Even without 3d support there is a lot of use to be had out of this machine. It would just be a nice perk.
I found a couple people on #debianppc to be very helpful. Especially simonrv and Bor_Ed, though others chipped in useful information as well.
You could check out the Debian 3.1 PowerPC installation manual] is better than the 3.0 one, but they have a difficult task of covering such a wide array of hardware with one grouping "PowerPC". The 3.0 manual pointed to the NetBSD SystemDisk tutorial. You shouldn't need to mess with ?SystemDisk for your ?BeigeG3 if you can do the Quik install listed here. Simon Raven has taken content from the ?NetBSD site and added comments for a Linux/Debian view on the settings and information at his site.
Good explination troubleshooting quik and OF settings: http://lists.terrasoftsolutions.com/pipermail/yellowdog-general/2002-June/002674.html
More OpenFirmware commands including alias and listing: http://mail-index.netbsd.org/port-macppc/2000/03/08/0000.html
I came across a nice article on installing Debian 2.2 "potato" on a Power Macintosh 9600. I would expect that this is much easier now with the new DebianInstaller, but I don't have a 9600 to test with. Perhaps someone will write about it at ?PowerPCMac9600 or some better WikiName page.