Installing FreeBSD on Apple PowerPC Nathan Whitehorn November 6, 2013 (Applies to FreeBSD 8.1 and newer) Supported Hardware ==================== All New World Apple machines (ones with built-in USB) are supported. SMP is supported on all machines with more than one CPU. Caveats: - On machines with more than 2 GB of RAM, only the first 2 GB can be used with a 32-bit kernel. - The very first Powermac G5 systems (PowerMac 7,2) have unsupported fan control if you are using an older release than FreeBSD 9. - Firewire is unsupported on the Blue & White PowerMac G3. Booting the Install CD ============================ On most machines, holding C on the keyboard at boot will boot the CD. Where that does not work, hold Command-Option-O-F (Windows-Alt-O-F on non-Apple keyboards), and enter the following at the prompt: boot cd:,\boot\loader cd:0 For Xserves without keyboards, follow the directions at http://support.apple.com/kb/TA26930 to boot into Open Firmware. Partitioning ============= If you are using FreeBSD 9 or newer, ignore this section -- the installer works out of the box. For FreeBSD 8 and older, because sysinstall does not support partioning using APM, you will have to make partitions either prior to installation or using gpart from the install CD shell (Fixit menu -> shell). To make a bootable system, you need one 800K partition of type 'Apple_Bootstrap' before the FreeBSD installation, and then the standard partitions that you want beyond that. Sample gpart command sequence: gpart create -s APM ad0 (Optional, new disks only) gpart add -s 800K -t apple-boot ad0 gpart add -s 600M -t freebsd-ufs ad0 gpart add -s 1G -t freebsd-swap ad0 gpart add -t freebsd-ufs ad0 (Fills the rest of the space) Once the disk is partitioned, sysinstall should function normally. After installation is complete, go back to the fixit menu, and invoke a shell again to install the boot loader to the bootstrap partition: gpart bootcode -p /dist/boot/boot1.hfs -i ad0 Your system is now installed! Booting into FreeBSD ==================== If FreeBSD is the only installed operating system, Open Firmware should automatically detect and boot it. If you are dual-booting with OS X or Linux, you can use the OF boot menu to select it by holding the option key at start (Alt on a non-Apple keyboard). Alternatively, you can set the boot-device variable in Open Firmware as follows, where N is the partition number of the bootstrap partition: setenv boot-device hd:N,\\:tbxi NB: Open Firmware may use different numbering for partitions than FreeBSD. You can use the command dir hd:N,\ to list the contents of partition N. The FreeBSD boot partition is labeled 'FreeBSD_Bootstrap' and contains a directory named 'ppc'. On machines running with serial instead of graphics consoles (Xserve), you may want to use the technique above to bypass part of the boot script by setting boot-device to point directly to the boot loader as follows: setenv boot-device hd:N,\ppc\boot1.elf