POWER on %%FreeBSD%% has been supported for quite some time. Support for Apple, Freescale, and Sony hardware is considered mature. Support for IBM, Raptor, and Tyan hardware is stable but being actively worked on. //The official project page at [[http://www.freebsd.org/platforms/ppc.html]] is known to be stale as of 20190705.// :!: if you're adding relevant information here, please poke someone to update its source document at [[https://svnweb.freebsd.org/doc/head/en_US.ISO8859-1/htdocs/platforms/ppc.xml|ppc.xml]]. ===== Supported Configurations ===== ==== Supported Hardware ==== Listed in alphabetical order by manufacturer. * Apple * %%PowerPC%% ('New World') machines (ones with built-in USB ports, 1999-2006) * Freescale * MPC85XX evaluation boards (powerpc, powerpcspe), %%AmigaOne%% A1222 (powerpc, powerpcspe), %%AmigaOne%% X5000 (powerpc, powerpc64) * IBM * Open Firmware-based Power5 machines and succesors (including [[powerpc/IBM9133|9133]]), (powerpc64 only) * Power8 and Power9-based systems (including IBM LC922, IC922, IBM 8247), (powerpc64 and powerpc64le) * Sony * Playstation 3 (powerpc64 only, starting with %%FreeBSD%% 9.0) * Raptor Computing Systems * [[powerpc/Raptor|Raptor]] [[powerpc/Raptor/Blackbird|Blackbird]] and [[powerpc/Raptor/TalosII|Talos II]] Power9-based systems, (powerpc64 and powerpc64le) * Tyan * [[http://tyan.com/EN/solution/openpower-GN70BP010/index.html|Tyan GN70-BP010]] Power8 (powerpc64) ==== Supported Virtual Instances ==== * QEMU * See [[powerpc/QEMU]]. ===== Getting started ===== * Raptor and Tyan machines: * Install the %%FreeBSD%% ISO (.iso) image. Don't use the USB memstick (.img) image. * At least %%FreeBSD%% 12 is needed, but %%FreeBSD%%-13.0-RELEASE or %%FreeBSD%%-14-CURRENT are recommended for Blackbird and Talos II. See [[powerpc/OSVersionNotes|OS version notes]] for more information. * Talos II with System Package/firmware v2.00 may crash in petitboot with LSI SAS controllers. This is fixed in v2.01-next, see [[https://wiki.raptorcs.com/wiki/Talos_II/Firmware/Public_Beta|Talos II Firmware Public Beta]] * When installing from USB on a Raptor machine, you may encounter a USB bug that prevents the installer root from being mounted. To work around this bug, wait at the %%%%''%%mountroot>%%''%%%% prompt until you see some probe related errors appear on the screen. This may take a minute to appear. Your USB drive should then attach and be usable. (type %%%%''%%cd9660:/dev/iso9660/13_0_CURRENT_POWERPC64_CD%%''%%%% after you see it attach on the console to retry the mount and continue with the installer.) * This only ever seems to happen during initial boot. Plug and play of additional devices works fine after that point. * On a Tyan Palmetto system, if you are running a self-built PNOR image that was built from sources between Nov 22, 2017 and Jan 23, 2020, you likely are unable to boot ELFv2 kernels. If you are on the proprietary BMC software, the best solution is either to upgrade to %%OpenBMC%% (see https://github.com/openbmc/docs/blob/master/openbmc-conversion.md ) or to build a customized version of the palmetto PNOR that is compatible with the proprietary BMC. If you go with the second option, you will need an up-to-date op-build tree, but you will need to revert commit 4e54c75a6a954e27553cf878f19f49e4e7f4099e to switch back to the legacy flash access method. (The palmetto pnor files being auto-built by https://openpower.xyz/ are ONLY compatible with %%OpenBMC%% after Feb 15, 2020 due to mutually incompatible flash access settings that were forced due to the Pantsdown vulnerabilities against the AST BMC chip.) * Apple machines: * Starting with 9.0, the installer works properly, and most of the following instructions can be ignored: * Pre 9.0: [[http://people.freebsd.org/~nwhitehorn/ppcinstall.txt]] * Sometimes you need these hints: * Booting from hard drive: ''%%boot cd:,\BOOT\LOADER cd:0%%'' * PXEbooting: ''%%boot enet:0,\\loader.ppc%%'' * Booting alternative kernels easily from loader: * Edit /boot/defaults/loader.conf and uncomment the %%%%''%%loader_delay="3"%%''%%%% line. * Reboot and press Ctrl-C during the delay after loader starts. (quick series of dots) * %%%%''%%set bootfile=/boot/path/to/kernel%%''%%%% * %%%%''%%boot%%''%%%% * Quirks with specific firmware revisions: * Apple %%PowerBook6%%,5 4.8.7f1 %%BootROM%%: * Due to failure to clean up the MMU during initialization of %%OpenFirmware%%, the page at 0x00100000 is left mapped. This interferes with kernel loading. * Workaround: %%%%''%%dev /memory@0 100000 1000 do-unmap%%''%%%% * U-boot installs: [[powerpc/UBoot-Install]] ===== Ports ===== See [[powerpc/ports]] for the overview of ports built via gcc (the default). ==== Xorg ==== X11 on Power8/Power9 is believed to be stable now. xorg should work on all supported Apple hardware. Console restore after leaving X11 may or may not work, depending on your graphics hardware. Early on, Peter Grehan tested X11 on: *rev B iMac (Rage 3D Pro 215GP, accel disabled). *700Mhz eMac (Nvidia %%GeForce2%% MX) *12" 1.33G G4 powerbook (Nvidia %%GeForce%% G5200) *and Martin Minkus has run it on a 350MHz iMac, Rage 128VR. On ATI Radeon-based machines there are still some problems: * Sometimes ''%%Option "NoAccel"%%'' is required * The Xserver sometimes seems to have problems querying the Monitor Modes On Blackbird and Talos II with onboard graphics card, the colors will be wrong when using PowerPC64 (big-endian). To fix this, do the following: * Use a modified xf86-video-scfb driver: [[https://github.com/rayddteam/xf86-video-scfb/pull/6]] (note that this needs the FBIO_GETRGBOFFS ioctl that is only available on %%FreeBSD%%-14-CURRENT). * The modified scfb driver requires a recent X11 version (at least 21.1.0). To use 1.20, the following patch must be applied: [[https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/573]]. * To fix colors on (some) programs that use Mesa, the following patches are needed: * https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8767 * https://gitlab.freedesktop.org/luporl/xserver/-/commit/ac98133d78e5491d143a04eaa06328d59218f310 ===== Sound ===== uaudio(4) works. snd_ai2s(4) and snd_davbus(4) support built-in audio on various Mac models. ===== See Also ===== * [[powerpc/BookE|BookE]] * [[powerpc/Bugs|Bugs]] * [[powerpc/IBM9133|IBM9133]] * [[powerpc/OSVersionNotes|OSVersionNotes]] * [[powerpc/POWER8|POWER8]] * [[powerpc/POWER9|POWER9]] * [[powerpc/QEMU|QEMU]] * [[powerpc/Raptor|Raptor]] * [[powerpc/ToDo|ToDo]] * [[powerpc/UBoot-Install|UBoot-Install]] * [[powerpc/llvm-elfv2|llvm-elfv2]] * [[powerpc/ports|ports]] ===== External Links ===== * Open Firmware Quick Reference: http://www.firmworks.com/QuickRef.html * Garance A. Drosehn's description about %%FreeBSD%% on the Minimac: [[http://lists.freebsd.org/pipermail/freebsd-ppc/2005-January/000814.html]] * //%%FreeBSD%% on the %%PowerMac%% G-series// thread on the %%FreeBSD%% Forum: [[https://forums.freebsd.org/threads/13827/]] * [[https://openpowerfoundation.org/|OpenPOWER Foundation]] * [[https://wiki.raptorcs.com/w/images/6/6c/IODA2WGSpec-1.0.0-20160217.pdf|OpenPOWER I/O Architecture Version 2 Workgroup Specification]]