Power Macintosh G4 - FreeBSD
For machine info, see main page.
Work log
2011-01-21: I built the agp.ko module like this:
cd /usr/src/sys/modules/agp make make install
kldload agp doesn't give any output in /var/log/messages or on console. I then do:
root@kg-g4# sysctl hw.ofwfb.relax_mmap=1 hw.ofwfb.relax_mmap: 0 -> 1
Now, let's see if we can get Xorg to work. Here goes:
Xorg -configure -retro
Nope - the machine still hangs.
2011-01-21: I upgraded to FreeBSD 8.2-prerelease, using csup and make world (which takes a long time on this machine). dmesg output: normal, verbose. Use set boot_verbose=yes in the boot loader to get a verbose boot. For some reason it doesn't want to load the snd_ai2s module, it just reports "KLD file snd_ai2s.ko is missing dependencies". But kldload snd_ai2s works fine. Strange. Ok, it seems that I need to load the sound module also. So, in /boot/loader.conf:
sound_load="YES" snd_ai2s_load="YES"
and that fixed it.
2010-06-16: I finished installing Xorg and Xfce ports on the machine. Takes some time (done in spare time). But X -configure just hung the machine, I had to use the power-button to turn it off. After the reboot (and fsck) I tried sysctl hw.ofwfb.relax_mmap=1, followed by X -configure -retro, still the machine hung.
2010-06-12: I added snd_ai2s_load="YES" to /boot/loader.conf. dmesg output:
Jun 12 23:04:45 kg-g4 kernel: tumbler0: <Texas Instruments TAS3001 Audio Codec> at addr 0x68 on iicbus0 Jun 12 23:04:45 kg-g4 kernel: pcm0: <Apple I2S Audio Controller> mem 0x10000-0x10fff,0x8000-0x80ff,0x8100-0x81ff irq 30,1,2 on macio0 Jun 12 23:04:45 kg-g4 kernel: pcm0: [ITHREAD]
soundstat
root@kg-g4# cat /dev/sndstat FreeBSD Audio Driver (newpcm: 32bit 2009061500/powerpc) Installed devices: pcm0: <Apple I2S Audio Controller> (play) default
2010-06-12: I used instructions from the powerpc page on the wiki, and installed FreeBSD 8.1-beta1 on my G4. dmesg output: normal, verbose. First I manually deleted all partitions with gpart delete ... (for some reason 'gpart destroy ad1' just said busy), then I created new ones as follows:
gpart add -s 800K -t '!Apple_Bootstrap' ad1 (ad1s2, the bootstrap partition) gpart add -s 1G -t freebsd-ufs ad1 (ad1s3, root partition) gpart add -s 4G -t freebsd-swap ad1 (ad1s4, swap) gpart add -s 9G -t freebsd-ufs ad1 (ad1s5, /var) gpart add -s 512M -t freebsd-ufs ad1 (ad1s6, /tmp) gpart add -t freebsd-ufs ad1 (ad1s7, used the rest (113G) for /usr)
After that I had to reboot and start over, as the new partition wasn't showing in "Label" in sysinstall. After a reboot, back into sysinstall, using label
and "C"reate to mount partitions, then install as usual.
A final step, go back to the menu, start another shell, and then copy the "bootcode" over: dd if=/boot/boot1.hfs of=/dev/ad1s2
. When rebooting, just hold
down the Alt key (or "Option" in Apple-speak) and you can select the drive to boot from with the mouse. Cool!
root@kg-g4# gpart show ad1 => 14 268435441 ad1 APM (153G) 14 1600 1 apple-boot (800K) 1614 2097152 2 freebsd-ufs (1.0G) 2098766 8388608 3 freebsd-swap (4.0G) 10487374 18874368 4 freebsd-ufs (9.0G) 29361742 1048576 5 freebsd-ufs (512M) 30410318 238025137 6 freebsd-ufs (113G) root@kg-g4# df -h Filesystem Size Used Avail Capacity Mounted on /dev/ad1s3 989M 157M 753M 17% / devfs 1.0K 1.0K 0B 100% /dev /dev/ad1s6 496M 26K 456M 0% /tmp /dev/ad1s7 110G 159M 101G 0% /usr /dev/ad1s5 8.7G 328K 8.0G 0% /var root@kg-g4# swapinfo -h Device 1K-blocks Used Avail Capacity /dev/ad1s4 4194304 0B 4.0G 0%
pciconf -lv output:
root@kg-g4# pciconf -lv hostb0@pci0:0:11:0: class=0x060000 card=0x00000000 chip=0x002d106b rev=0x00 hdr=0x00 vendor = 'Apple Computer Inc' device = 'AGP Bridge (UniNorth 1.5)' class = bridge subclass = HOST-PCI vgapci0@pci0:0:16:0: class=0x030000 card=0xa5b80208 chip=0x011010de rev=0xa1 hdr=0x00 vendor = 'NVIDIA Corporation' device = 'NVIDIA GeForce2 MX/MX 400 (NV11)' class = display subclass = VGA macio0@pci1:0:23:0: class=0xff0000 card=0x00000000 chip=0x0022106b rev=0x03 hdr=0x00 vendor = 'Apple Computer Inc' device = 'Keylargo Mac I/O Controller' none0@pci1:0:19:0: class=0x040100 card=0x10001073 chip=0x10001073 rev=0x00 hdr=0x00 vendor = 'Yamaha Corporation' device = 'Sound system (SW1000XG)' class = multimedia subclass = audio ohci0@pci1:0:24:0: class=0x0c0310 card=0x00000000 chip=0x0019106b rev=0x00 hdr=0x00 vendor = 'Apple Computer Inc' device = 'KeyLargo USB' class = serial bus subclass = USB ohci1@pci1:0:25:0: class=0x0c0310 card=0x00000000 chip=0x0019106b rev=0x00 hdr=0x00 vendor = 'Apple Computer Inc' device = 'KeyLargo USB' class = serial bus subclass = USB hostb1@pci1:0:11:0: class=0x060000 card=0x00000000 chip=0x002e106b rev=0x00 hdr=0x00 vendor = 'Apple Computer Inc' device = 'PCI Bridge (UniNorth 1.5)' class = bridge subclass = HOST-PCI fwohci0@pci2:0:14:0: class=0x0c0010 card=0x581111c1 chip=0x581111c1 rev=0x00 hdr=0x00 vendor = 'Lucent/Agere Systems (Was: AT&T MicroElectronics)' device = '1394A PCI PHY/Link Open Host Ctrlr I/F (FW322)' class = serial bus subclass = FireWire gem0@pci2:0:15:0: class=0x020000 card=0x00000000 chip=0x0021106b rev=0x01 hdr=0x00 vendor = 'Apple Computer Inc' device = 'UniNorth GMAC' class = network subclass = ethernet hostb2@pci2:0:11:0: class=0x060000 card=0x00000000 chip=0x002f106b rev=0x00 hdr=0x00 vendor = 'Apple Computer Inc' device = 'Internal PCI (UniNorth 1.5)' class = bridge subclass = HOST-PCI
Old work log follows.. 2007-11-03: tried to install the xorg 7.3_1 port. But xorg-server 1.4_2 fails (see output). The files it complains about are there. Strange.
2007-10-30: upgraded to 7.0-BETA1 (RELENG_7) - dmesg.
2007-07-15: Since smartctl in FreeBSD reports that drive ad0 (the OS X drive) is a DeskStar 60GXP Series, I tried running Apple's Hard Drive Update 1 in OSX, unfortunately, it just says that it can't find any drives to update.
2007-07-15: Ok, booting FreeBSD now works again. The machine now runs the latest current (dmesg), and uname -a reports:
tingo@kg-g4$ uname -a FreeBSD kg-g4.kg4.no 7.0-CURRENT FreeBSD 7.0-CURRENT #0: Sat Jul 14 23:57:02 CEST 2007 root@kg-g4.kg4.no:/usr/obj/usr/src/sys/GENERIC powerpc
2007-07-15: tried to boot my newly built and installed world. Unfortunately, my G4 suddenly decided that the OSX disk was "bad" somehow and refused to boot from it. I tried with apple Hardware Test, but it just said "data storage: no errors" - bah. Finally, I opened up the machine and re-seated all the connectors on the disks. After that, the machine booted OSX again. I took the oppurtunity to install some security fixes in OSX as well.
2007-07-14: cvsup'ed -CURRENT and started to make world.
2007-01-29: X (Xorg) now works, using this xorg.conf. Here is the Xorg.0.log log file. I use a cheap 17 inch monitor which can do 1280x1024. Autodetectetion of monitor modes fail, so I specify modes explicitly in /etc/X11/xorg.conf.
2007-01-29: A few days back, the OSX hard drive in the G4 nearly died. As OSX is needed to boot FreeBSD, I better save the boot script I use to boot FreeBSD. freebsd.tbxi came from the freebsd-ppc mailinglist sometime ago. It works like this: if the space key is pressed during boot, FreeBSD is booted. If no keys are pressed, OSX boots.
2007-01-20: I was getting a bit tired of the quite noisy fans of my G4. I disassembled the machine and found out that it has two fans: a case fan (Delta Electronics Sensflow, model WFC1212B, 120 mm x 120mm x 25 mm, 12V DC, 0.44A) and a PSU fan (Delta Electronics, model ASB0812HH, 80mm x 80 mm x 25 mm, 12V DC, 0.30A). Both fans were securely fastened with four screws directly to metal. So I found some soft material and put between the four corners of each fan and the metal. after assembling the machine it has now become a lot quieter.
2007-01-14: the January 2007 snapshot (7.0-CURRENT-200701-powerpc-disc1.iso) boots, even with the 'C' key. A binary upgrade worked well (note: you will have to use the 'Create' option in the fdisk editor, and then turn off the newfs flag afterwards), and the machine now runs the 200701 snapshot: dmesg.
2007-01-14: tried the 6.2-RC2 image (6.2-RC2-powerpc-disc1.iso) - it would hang when booting with 'C', but booting from OF with boot cd:,\boot\loader cd:0
works fine.
2006-10-22: tried the October 2006 snapshot of 7.0, butit just hangs after booting with these lines:
KDB: debugger backends: ddb KDB: current backend: ddb
It doesn't matter if I boot with the 'C' key on the keyboard, or break into OF and use
0 > boot cd:,\boot\loader cd:0
2006-08-30: tried installing the August 2006 snapshot of 7.0. The -disk1 CD will not boot, but the -bootonly (7.0-CURRENT-200608-powerpc-bootonly) image boots. unfortunately, the kernel panics on my machine after booting.
2006-08-29: installed the bsdstats (sysutils/bsdstats) port on my machine, and discovered that sysctl hw.model is empty.
2006-03-28: after installing about 65 ports, both large and small, I found that installing the a2ps-a4 port (using 'portinstall -R a2ps-a4') results in a kernel panic. This panic is reproducible. I ran Apple Hardware Test (both quick and extended) on the machine to be sure that the hardware is ok - it checked out fine.
2006-03-26: dmesg from the 7.0-20051105 snapshot installed on the machine. DMA for the ATAT controler in the Mac is not implemented, so all disks and CD-RW runs in PIO mode.
Disks:
ad0 OS X ad1 FreeBSD ad1s10 / ad1s12 swap
2006-03-24: I got the machine.
Early in 2006, I bought a used PowerMac G4 for the purpose of testing FreeBSD/ppc on it. From the information I have found, it looks like it is a Power Macintosh G4 (Digtal Audio) model.
Specifications are as follows:
cpu: G4 @ 533 Mhz ram: 512 MB (all 3 slots filled) disk drives: OSX on a 60 GB, FreeBSD on a 160 GB an (unsupported) sound card