# iMac G3 -> Fatal kernel trap



## quux_corge (Oct 21, 2009)

Hello,

I have an iMac G3 (400MHz 512MB ram, DV slot-loading, 1999). It runs OSX fine and I would like to install freebsd 7.2. 
The iMac can boot on the installation disc. I see the OF orange screen, it says that it wants to load "boot/kernel/kernel" and that I have to hit Enter (or wait a bit).
Then the black console displays a few commands, but then it instantly reboots. It barely lets me time to read the error message, but it says :



> fatal kernel trap: = 0x7 (program).
> exception .....



A picture (taken with a camera) of the screen right before the reboot is attached.

The HD is hfs/apple formatted, but that shouldn't be a problem since I'd like to completely erase it and install freebsd on it. I tried to remove it from the iMac on put an USB flash key (just to see what happens) but with the same result.

In the OF orange screen, the "lsdev" command always returns an empty list.

Any hints ?


----------



## quux_corge (Oct 22, 2009)

Version 8rc1 freezes after detecting my usb.


----------



## quux_corge (Oct 24, 2009)

I tried to install v8rc1 on another iMac G3 (400MHz, 1GB ram, 40GB HD. The console freezes after detecting my optical device (picture attached).


----------



## quux_corge (Oct 24, 2009)

...and version 7.2 has the same problem than the other iMac.

Is anyone successfully running Freebsd on a Mac ppc ? I'd welcome to hear that..


----------



## joel@ (Oct 24, 2009)

Send a problem report to freebsd-ppc@freebsd.org


----------



## quux_corge (Oct 25, 2009)

Thanks. I'll keep this topic up to date in case I can eventually install freebsd on my imac.


----------



## quux_corge (Oct 26, 2009)

Ok so it's the firewire. The following command lets you boot the iMac on the install CD:


```
set hint.pcib.2.skipslot=14
```

Thanks to Nathan for the help.


----------



## quux_corge (Oct 30, 2009)

Ok, I've successfully installed FreeBSD 8rc1 on an iMac G3. That was really really really painful tho.So here are a couple of hints:

- Don't forget to disable firewire in the open firmware:

```
set hint.pcib.2.skipslot=14
boot
```

- The fastest and simplest way to create the partition table on your HD is by using Mac OS X's pdisk command. After testing 10000 different partitions maps and failing, here is what worked for me:


```
Partition map (with 512 byte blocks) on '/dev/disk3'
 #:                type name      length   base      ( size )
 1: Apple_partition_map Apple         63 @ 1        
 2:          Apple_Free a         262144 @ 64        (128.0M)
 3:           Apple_HFS /      155773120 @ 262208    ( 74.3G)
 4:          Apple_Free b         262144 @ 156035328 (128.0M)
 5:     Apple_Bootstrap fboot       4000 @ 156297472 (  2.0M)
 6:          Apple_Free Extra         16 @ 156301472
```

The "Apple_Free" partitions are apparently needed by Mac OS, for some reason. Note that there is one Apple_HFS partition named "/" for the OS and one partition of kind Apple_Bootstrap to install the bootloader. Make sure that the later is AFTER the main partition. Otherwise FreeBSD will try to intall itself on it..

- Once you have created this partition map with pdisk, you need to copy the bootloader. This is done by mounting FreeBSD's iso on the Finder and entering this command:


```
dd if=/Volumes/FreeBSD_Install/boot/boot1.hfs of=/dev/diskXXXs5
```
The XXX must be replace with whatever your disk BSD name is (type "mount" to figure out what it is, or use Disk Utility).

- Boot on FreeBSD's install CD (don't forget to disable the FW)
- Sometimes, it won't see the HD. Just reboot.
- In the DiskLabel editor, select the main partition and hit "C"
- Choose "Filesystem"
- Name it "/"
- Hit "q"
- Choose to install the Minimal FreeBSD. All of the other will return an error later on.
- Once FreeBSD is installed, exit the installer. And your Mac is ready to boot on FreeBSD !! Just choose the proper disk by pressing Alt at boot time.


----------



## quux_corge (Nov 10, 2009)

The following disk partition is slightly better:


```
Partition map (with 512 byte blocks) on '/dev/disk4'
 #:                type name     length   base     ( size )
 1: Apple_partition_map Apple        63 @ 1       
 2:          Apple_Free Extra    262144 @ 64       (128.0M)
 3:     Apple_UNIX_SVR2 /      77636991 @ 262208   ( 37.0G) S0 RUFS k0  /
 4:          Apple_Free Extra    262144 @ 77899199 (128.0M)
 5:     Apple_Bootstrap fboot      4000 @ 78161343 (  2.0M)
 6:          Apple_Free Extra        16 @ 78165343
```

I used "Apple_UNIX_SVR2" instead of Apple_HFS.


----------



## joel@ (Nov 11, 2009)

This is looking more and more like a howto, maybe you should post a thread in the Howto forum, describing the best procedure to get FreeBSD running on an iMac G3?


----------



## quux_corge (Nov 11, 2009)

Ok, good idea. Maybe when my firewire is working so I can describe how to patch the kernel.


----------

