# Aros/Platforms/PPC support

* Navbar for the Aros wikibook
* Aros User
* Aros User Docs
* Aros User FAQs
* Aros User Applications
* Aros User DOS Shell
* Aros/User/AmigaLegacy
* Aros Dev Docs
* Aros Developer Docs
* Porting Software from AmigaOS/SDL
* For Zune Beginners
* Zune .MUI Classes
* For SDL Beginners
* Aros Developer BuildSystem
* Specific platforms
* Aros x86 Complete System HCL
* Aros x86 Audio/Video Support
* Aros x86 Network Support
* Aros Intel AMD x86 Installing
* Aros Storage Support IDE SATA etc
* Aros Poseidon USB Support
* x86-64 Support
* Motorola 68k Amiga Support
* Linux and FreeBSD Support
* Windows Mingw and MacOSX Support
* Android Support
* Arm Raspberry Pi Support
* PPC Power Architecture
* misc
* Aros Public License

## Overview

AROS hosted on PowerPC PPC linux was first to be developed (2001-2004), acting as it usually does as a precursor to native ports later.
AROS/linux-ppc is the hosted port of AROS to the Linux operating system running on the PowerPC family of processors.
Native PPC AROS has run on the Acube Sam440EP desktop motherboard (first half 2008 and 2010) and the efika small pcb board (2009) by Michal Schulz and did boot on the Acube SAM460ex thanks to Jason McMullan (2012).
* linux-ppc-system for PowerPC hosted linux.
* darwin-ppc-system - most PPC hosted on early MacOSX versions
* sam440-ppc-boot-iso for SAM 440ep
* efika-chrp-ppc-boot-iso for Efika 5200B.
* open source PPC machine
There are four major PowerPC PPC standards
* PMac (Power-Macintosh)
* Apus allows you to run Linux/PPC on Amiga PowerUP computer systems like BlizzardPPC and CyberstormPPC
* PowerPC Reference Platform (PReP) was a system architecture for PowerPC-based ... no one was happy with PReP
* Common Hardware Reference Platform (CHRP), was developed as the new standard and used by most
Best order to install OSs
* Mac OS X with X11 added via the Customise button or installed later
* BSD
* Linux
Leaving yaboot (Linux) OS boot chooser as the last to install

## Booting and Installing
### Native Environment

PPC interest is diminishing due to the continued popularity of x86 and ARM over the last few years.
Crash handler displays detailed information, including the byte offset of crash occurrence, relevant symbol name (if such name exists at all) and the executable name. The log includes also the backtrace (with offsets, symbol and module names) which tries to reach as far as possible.

#### Sam 440EP 460ex 460cr

Native Bootloaders (there is no grub but there is...)
* parthenope 0.91
* ub2lb UBoot Second Level Bootloader open firmware 0.93
* slbv2 1.19
Uboot => Bootloader => Bootable partitions => Configuration file => Operating system
Both bootloaders can read the AmigaOS configuration file, SYS:Kickstart/Kicklayout, and a configuration file on the Linux side, /boot/a1boot.conf (for SLB) or /menu.lst for Parthenope. So they both allow to boot either AmigaOS or Linux.
You can either use AmigaOS 4.1 and Linux (SLBv2), or AROS and Linux (Parthenope or ub2lb). It's not possible to use AmigaOS 4.1 and AROS, unless you replace the SLB each time before booting the other OS.
Parthenope does not support booting AmigaOS 4.x. FFS can't be used as AmigaOS boot parition with it because it AFAIK it only supports short name FFS partitions (DOS\0-DOS\5), not the long name FFS ones (DOS\6 and DOS\7) which are required for an AmigaOS 4.x boot partition. SFS can't be used either because it only supports the AROS SFS (which is basically the same as the ancient AmigaOS SFS version 1.84), not the current AmigaOS versions of SFS.
* parthenope supports FFS (all 8 formats of it, even if only DOS\6 and DOS\7 can be used for the AmigaOS boot partition), SFS\0, SFS\2, ISO9660, Linux (ext2fs/ext3fs) and network booting.
* slbv2 support for JXFS filesystem, SFS2 filesystem and FFS2 filesystem
Hyperion's slbv2 cannot boot AROS and neither AROS nor AROS' slb supports SFS2. Keep in mind you will need to have your OS4 kernel files (kicklayout and modules) on a SFS partition. AROS' Parthenope SLB (the same you probably use to boot linux) does not support JXFS yet.
UB2LB listens to uboot and uses its list of boot devices. It tries to boot of media selected through the environment variables boot1, boot2 and boot3. As soon as it supports booting from desired media and as soon as the media contains boot/menu.lst file (the file defining the layout of kernel modules and other boot options) it will start booting from it.

#### Genesi Efika 5200B

2009/2/24 23:36 A new screenshot which shows AROS booted from the Efika's HD, with a few USB devices attached.
Previous isos were released for test purposes only and the users are expected to try it with USB mass storage devices. The iso does not support the builtin ATA controller yet but was added later.
If you have an USB stick, format it with SFS filesystem and put contents of this iso there. Then, try to boot from USB stick and tell me what are the results. formatted a new SFS partition and copied the contents of the iso to it with MorphOS. After a reset entered
at the firmware prompt but got an error: bootimage format is of an unknown format
are missing from some install isos
The port was completed

#### Apple Power Books Desktops

Nobody has written yet the boot time loader and necessary driver support for AROS native on PPC Apple(TM) hardware. Wonder how far you might yet if you use bootx (required if you to have mac os x installed too) to bootstrap the kernel on an HFS partition. Still require some modification
The darwin-ppc MAC OS PPC hosted port may still have problems rendering it unusable. (based on past reports from others)
Linux-ppc hosted builds on trunk (abiv1) and seems to run ok on the G5 tower box running ubuntu 10.04lts ppc except for the noted regina and pixman build errors issue noted on the bugs forum, which are probably just configuration errors..
If you want to temporarily stop the Mac startup chime sound, just hold down the Audio Mute button on your Mac keyboard, this will silence the boot sound for that particular system boot/reboot. This can be on the F3 (powerpc), F10, or F9 (newest) key.
Open Firmware 3

### Hosted

Best option is to created several partitions using MAC OS Disk Utility before installing MAC OS to the first partition formatted with an HFS+ filesystem
The additional partitions can be UFS Unix or Empty so that they can be used by BSD or Linux later. In the future, maybe AROS native.
The release architectures for Debian 9 and ubuntu/lubuntu include amd64, arm64, armel, armhf, i386, mips, mips64el, mipsel, ppc64el, and s390x. What's different from previous versions is that PowerPC 32bit is no longer considered a release architecture but is being discontinued. Now what that means varies.
The Debian PPC packages will still continue to be built, etc. It's now up to the Debian FTP Masters to decide whether PowerPC will remain an architecture in the main archive or if the PowerPC packages will move to ports.
Debian PPC uses a 64-bit kernel with 32-bit user space. This is because the 64-bit PowerPC processors have no "32-bit mode" like the Intel 64/AMD64 architecture.
The Ubuntu Linux developers discussed last year the removal of support for 32-bit PowerPC systems, which means that starting with Ubuntu 17.04 (Zesty Zapus) there won't be any ISO images available to let you install Ubuntu or any of the official flavors on the PowerPC (PPC) 32-bit architecture. Lubuntu will no longer be able to have a PowerPC Zesty release past Feature Freeze February 2017.
LTS security support for PowerPC systems will last until April 2019, so if you have a system that uses the PowerPC architecture on Lubuntu 16.04 LTS, you can expect security updates from the Ubuntu archive until April 2021, or support from Lubuntu until April 2019 (only a *three* year support period as opposed to five for the entire archive).

#### Linux

Hosting on top of Linux the possibilities (not tested) are
* Latest , Adelie 32bit for G4 under 1GHz,
* Older with some support but ending eventually Debian 8 Jessie, Debian 6 or 7, Ubuntu 12 or 14, lubuntu 14.4, https://wiki.ubuntu.com/PowerPCDownloads Lubuntu 16.4,
* No longer maintained [ MintPPC], [ OpenSUSE dropped official support for PowerPC in its 11.2 release in November 2009], [ Fedora 13 dropped official PowerPC support], [ Arch Linux recent release for which an ISO file can be downloaded is 2010.02.26 with a 2.6.33 kernel], T2 SDE, Yellow Dog 7 but more likely 6.2 6.1,,
* 2004 Crux 2.0, Fienix,
General news on Overview, News
The only bootmanager for linux PPC based machines is yaboot.

##### Debian 8 Jessie

Once Linux is installed download the latest AROS build e.g. 20131123 linux ppc system file AROS-20131123-linux-ppc-system.tar.bz2 to your /home directory
to check what disks / partitions are available
the bz2 file unarchived by opening terminal and typing
e.g. tar xjvf AROS-20131123-linux-ppc-system.tar.bz2 -C /home/dir/
inside directory /home/dir/AROS-20131123-linux-ppc-system/linux
or edit AROSBootstrap.conf
Install the tunctl command on your host:
Delete Devs/Monitors/Nvidia
- Edit boot/AROSBootstrap.conf to suit your needs (e.g. add "memory 256" to assign 256 MB RAM to AROS)
- In S/icaros-sequence, remove the line "assign system: sys:"
- Create the script bootaros.sh in the AROS folder, make sure you read the comments. Adjust where necessary:
- Make the script executable:
- Start the script from a shell:
- Inside AROS, the network settings will have to be configured like this:
to mount some device or directory (for example a DVD-drive) as a drive under aros hosted? If yes how? You have to add something like this to Devs/Mountlist
and add the following to AROS via s:user-startup e.g.
Full screen mode relies on the screenmode.prefs file being in the same exact format on every system.
TARGET should be the host-side absolute path to your Prefs/Env-Archive/SYS/screenmode.prefs file.
Keep this script under System/Host/bin and execute (backgrounded) from the bootaros script before booting AROS. It must be backgrounded as it will watch the screenmode.prefs file for further changes (only occurs when changes are saved in AROS) ie. something like this:
It requires inotify-tools and xrandr. Running an Ubuntu-based system, so the paths may be different on Fedora et al.
Installing Linux
Create a few partitions using Disk Utility and then install MacOS first, because it will erase a GNU/Linux installation. Use Disk-Utility in MacOS to make as many as you need partitions (typically 3 or 4). Make each at least 5 GB to test but better 10 GB for debian. The 10GB will be made ready later and include a Swap-Partition (double amount of RAM) and one New-World-Bootblock (16 MB) inside.
* BACKUP data from MacOS-Partition!! just in case of disaster
Debian 8.8 kernel 3.16, Debian 8.6
lxde, xfce or Netinst options
The debian installer usually autoruns now and asks for username, clock, timezone, etc
Later will offer to manage your partitions- Guided partitioning. Delete one of the empty UFS partitions created earlier then choose (Guided - use largest continuous free space) and auto create a new partition with ready made directories inside (All files in one partition). Then use this partition to install Debian automatically then Finish
minimal tips about creating the USB install media, pretty much avoid Startup Disk Creator, Unetbootin - but for Lubuntu
in OF worked perfectly
If CD Rom has some issues, an USB install means booting into openfirmware
At the end of the Debian Linux install, the Yaboot install takes a very long time to run (well over 30 mins) if there are many partitions to examine.
Linux out-of-the-box-Support: Keyboard, USB 2.0, Firewire, Ethernet, Display, Touchpad (use Mouseemu for right click), Sound, Power-Management (Suspend-to-Memory, Display), Function-Keys with On-Screen-Display for brighter/darker-Display and Mute/Volume Up/Down (KDE/Gnome), DVD/CD-RW - the temp sensors use i2c
install went fine but somewhere during the boot the display blacked out. I was able to ssh into it and edit /etc/modprobe.d/blacklist.local.conf to include blacklist nouveau, then update-initramfs -u -k all and reboot and all was well, running fine now. Suggest that if you try this at home you enable sshd during the install process so you can get into the machine if anything goes awry.
Wireless - Airport Extreme
Yaboot is the bootloader for NewWorld Power Macintoshs. Shown below is an example of /etc/yaboot.conf:
Previously you had to do the Debian install section manually but most is automatic now. This just for reference now.
If you partitioned earlier, make a note of the partition number of the MacOS partition where you place these files. You will need to supply the partition number in the command you type at the Open Firmware prompt below.
You can use the pdisk L command to check for the partition number without changing the partition map. The pdisk utility is provided on all Mac OS X machines within Applications/Utilities/Terminal; type "sudo pdisk". There is also an older version of pdisk, which might run within MacOS 9 or earlier, provided here in the release folder. Extract from pdisk.20000516.hqx, and then double click on the resulting "pdisk" application.
Restart the Mac, and immediately (during the chime) hold down the Option, Command (apple/cloverleaf), o, and f keys all together. After a few seconds you will be presented with the Open Firmware prompt.
At the prompt, type
replacing x with the partition number of the MacOS partition where the installation files were placed, followed by a return. In a few more seconds you will see a yaboot prompt
At the yaboot prompt, type
followed by a return. (This is also the default if you don't type anything, you can see the other options using the Tab key.)
This should start the Debian installation program, at "Select a Language".
If the installer stops very quickly, usually displaying something like OF-quiesce, then you probably need to change your boot command to send the video=ofonly option to the kernel. Just try re-booting from Open Firmware and at the boot: prompt
Keep the 4 files you used to boot the installer around, for as long as you run this version of the Linux kernel; they will serve as your 'rescue disk' allowing you to boot back into the Debian installation system if needed. You just type rescue at the boot: prompt to put the installer into Rescue mode.

##### Debian 7 Wheezy

Download file AROS-20131123-linux-ppc-system.tar.bz2 to your /home directory
Security support for Wheezy handed over to the Debian LTS team (25 Apr 2016)
7.11 iso,, 7.4 and information

##### Debian 6 Squeeze

Download file AROS-20131123-linux-ppc-system.tar.bz2 to your /home directory
It was the oldstable distribution till end of May 2014. Squeeze received Long-Term-Support until 2016-02-29. Now it is archived, and no longer receives security updates.
Linux Sleep-to-RAM and disk just works with all kernel >= 2.6.13 out of the box - wireless >=2.6.17

##### lubuntu 16.04 LTS Xenial Xerus

Download file AROS-20131123-linux-ppc-system.tar.bz2 to your /home directory
Type to start up in lubuntu live mode several minutes
Double click install icon and have ethernet connected
Use an empty UFS partition and install something else option
keyboard test, username, password, etc
PB 12" fx5200 compiling it on ubuntu 16.04.1 running 4.4.0-36-powerpc-smp, do this at the end before you reboot
As debian
If radeon graphics an issue (crashes) make a change to /etc/yaboot.conf to swap out the video option:
Ran `sudo ybin` and rebooted
for later 2005 radeon graphics
download b43-legacy installer and remove the ethernet cable
$ lspci | grep Network 0001:10:12.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
Using the firmware-b43-installer and associated firmware sorted that
Most PowerBook G4s have sound working out of the box, but...
remove the snd_aoa entries from /etc/modprobe.d/blacklist.local.conf and then edit: /etc/modules
Then a reboot to confirm it worked
To make Powerbook hotkeys work and the keyboard backlight add this to the module for /etc/modules to make permanent

##### lubuntu 14.04 LTS Trusty Tahr

Download file AROS-20131123-linux-ppc-system.tar.bz2 to your /home directory
...to the top

#### BSD

FreeBSD is the only one of those that has an "official" AROS hosted port, but it hasn't been updated for a couple of years, possibly not since FreeBSD 5.x
Unfortunately the Unix hosted version of AROS is not at all portable - there's a heap of platform-specific stuff that needs to be known. For the moment you're pretty much limited to Linux if you want to use hosted.
For BSDs, the best of both worlds would have FreeBSD graphics support + OpenBSD network,security support

##### OpenBSD

In the mid-nineties Berkeley's Science Research Group released 4.4BSDlite and spawned the creation of FreeBSD and NetBSD. Theo de Raadt, one of the coders at NetBSD, left and formed OpenBSD (which actually isn't open at all) with 80 coders and started to release stable, secure versions of his OS that concentrated extra emphasis on security and design.
The OpenBSD 6.1 release, packages, firmware bwi wifi,
The macppc-specific portion of the OpenBSD 6.1 release is found in the "macppc" subdirectory of the distribution. That subdirectory is laid out as follows:
.../6.1/macppc/
install61.iso The boot and installation CD-ROM image, which contains the base and X sets, so that install or upgrade can be done without network connectivity.
cd61.iso Simple bootable image consisting of the bsd.rd kernel but will require the base and X sets be found via another media or network.
ofwboot The OpenBSD/macppc secondary boot loader.
You boot the install CD by either holding the C key or from the Open Firmware prompt like so
where x.x could be 6.1, 5.9 or 5.4 - After a series of text questions, you are dumped into fdisk or pdisk (text app to prepare the hard drive) and then onto install.
OpenBSD has some of the best Apple PowerPC support of all BSDs Sadly, suspend/hibernate would not work. If you want suspend to work your only choice is OS X or Linux. There appears to be no support for FX5200 Go but other graphics card are working.
The Airport Extreme card most PowerBook iBooks uses the Broadcom driver, bwi. Unfortunately, Broadcom does not release open source firmware, which has to sourced elsewhere and manually installed with pkg_add.
Hardware support is mixed on this machine. Firewire and Bluetooth are not supported.
Battery and power management is lacking, though running
gives an overview of battery life
to change the CPU clock speed to whatever I decide X is (either 50% or 100%).
Using low resource desktop managers like spectrwm, cwm, FVWM2 and XFCE
Other OpenFirmware command options include
device aliases typically take the form of "ide", "cd", etc. To boot to an alternative device, you may substitute them with entries from this list
(boot from an appropriately prepared OpenBSD CD-ROM in the CD/DVD drive)
(netboot from a pre-configured dhcp/tftp/nfs server; "ofwboot" will be obtained from the tftp server, while "bsd.rd" will be obtained from the NFS server, as specified by the "next-server" and "root-path" dhcp options)
(After installation, boot /bsd from the slave device on the second ATA bus)
Other Open Firmware command examples:
setenv auto-boot? false (force the machine to wait at Open Firmware for user input at next reboot; options are true/false)
setenv boot-device hd:,ofwboot (force the machine to boot into OpenBSD automatically at next reboot)
To reset an Apple product of this era to the factory-configured Open Firmware settings (hard reset effectively), simultaneously hold down the Command, Option, P, and R keys immediately upon booting. Typically the machine will then attempt to load Mac OS, if available.
OpenBSD has a very terse but mostly automatic and easy text based installer.
You can install the whole system with only a few key presses if using the whole hard disk for OpenBSD.
The installation script will invoke an interactive text editor allowing you to create your desired layout. If you are starting with a new upartitioned disk and want to use it all for OpenBSD, you will probably start out with only the 'c' partition of fstype 'unused' that represents the whole disk. You cannot modify the 'c' partition! You must create partition 'a' as a native OpenBSD partition, i.e. one with "4.2BSD" as the fstype, to hold the root file system.
In addition to partition 'a' you should create partition 'b' with fstype "swap", and native OpenBSD partitions to hold separate filesystems for /usr, /tmp, /var, and /home.
to run fdisk (MBR partitioned disk - use all of the disk) or pdisk (HFS partitioned disk - share with MAC OSX)
If sharing with Mac OS partition and others, then at the time of installing MACOS create a few extra UNIX or empty partitions in MAC OS Disk Utility before attempting to install other Operating Systems (OSs).
Having OpenBSD multiboot, or share, a disk with Mac OS X/Mac OS 9 is possible as long as the disk is first partitioned with the Mac OS utility, Drive Setup (Mac OS 9) or System Disk Utility (Mac OS X). Unallocated space, or a partition not in use, must be left for OpenBSD's use. Since OpenBSD is only able to boot from an HFS (not Mac OS X UFS) filesystem, the first partition must be formatted as HFS or HFS+, not UFS, to be able to boot OpenBSD.
When creating many partition with Apple's Disk Utility, please leave one or more Unused or UFS partitions at the end of the hard disk. If the disk was previously partitioned, it is much easier to reuse a partition for OpenBSD, as long as it is not the first partition on the disk. The bootloader is expected to be found in that first (HFS) partition.
After many terse question (most answered with a return / enter key responses) like
* select to configure the network, ask for the DNS domain name, the IP and address of the primary name server to use
* asked for the initial root password of the system, twice
* (M)odfiy a Partition or (A)bort ?
press M so that spare partition can be changed into something that OpenBSD can use
pressing p will display a list of partitions on the hard drive as it stands at that moment
press t and the partition number to change partition type to OpenBSD
press p to check
press n and the partition number to change the name to OpenBSD (no choice it has to be this)
press p to check
finally w and y to write the information back to the drive to use - care needed as any changes so far are not recorded and as soon as written is not recoverable
(A)uto Layout, (E)dit Layout or (C)ustom ise Layout of directories inside the newly created OpenBSD partition
When installing from a CD-ROM, you will be asked which device holds the distribution sets. This will typically be "cd0". Next you will be asked which partition on the CD-ROM the distribution is to be loaded from. This is normally partition "a".
You will also have to provide the relative path to the directory on the CD-ROM which holds the distribution, for the macppc this is "x.x/macppc" (usually press enter key as already completed)
Then the 6 or 7 tgz are extracted to your hard drive (with time left indication)
After a reboot - need to boot into OpenBSD (it is not auto setup to do this) When it is finished installing, reboot your computer with
After you reboot you will need to enter Open Firmware and set up the boot environment. If ofwboot and bsd.rd (from /6.1/macppc/bsd.rd) are copied to an HFS partition, it is possible to boot from HD To enter open firmware press the key combination cmd-opt-O-F just as you power on your Mac.
At this point the computer will reset. After logging in you can get your CD out using the following command:
You can also eject the CD from inside Open Firmware using this command:
Inside OpenBSD for the first time - type
then
to get the first message. You quit mail by entering
pkg_add <app_name>
An encrypted /home. using the vnconfig tool. It's similar to Truecrypt in that you create an encrypted file that will be treated like a device that you can read, write, etc. You should create a separate /crypt partition (3GB) to store imortant information and resized the /home partition to as little as you need say 4 GB.
...to the top

##### FreeBSD

* Releases FreeBSD 11,
* Stable 10,
* EOL FreeBSD 9.1 , FreeBSD 8.2 although now EOL end of life,
FreeBSD is the one with the most bells and whistles is FreeBSD... FreeBSD has the largest development team, the largest user base, the largest number of ported applications, and the largest collection of active e-mail lists. It also has the best documentation... FreeBSD is extremely easy to install directly via an Internet connection.
Having said that, FreeBSD/ppc is not for the faint of heart. There are AFAIK no binary packages, so you have to compile yourself and the machines being already relatively slow. Even if ports compile they might not work properly since they receive less testing than the i386/amd64 architectures. I
PowerPC Macs have been supported since version 7.0 of FreeBSD. FreeBSD 9.0 should be avoided due to Kernel Panics
10.1 also has a funky regression and can't boot. FreeBSD10.0-STABLE booted, installed and worked
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)
Since FreeBSD is Tier 2 now (do it yourself) compiling curl from source was already taking 4 hours so I'm not even going to start compiling X from source. After several days of compiling from ports, got X11 running and Openbox but being in ports now, you have to build a lot of apps yourself.
10.1 also has a funky regression and can't boot. FreeBSD10.0-STABLE booted, installed and worked, but the lack of binary packages meant I spent 3 hours compiling zsh.
Netsurf, links+ and dillo are the best web browsers. Could try Seamonkey + Unplug + NoScript.
If you are using FreeBSD 9 or newer, ignore this section -- the installer works out of the box. For FreeBSD 8 and older have to make partitions either prior to installation (using MAC OS) 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:
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:
Your system is now installed!
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:
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'.
During the boot process you may see that FreeBSD sees a device but will tell you (no driver attached). If you missed the boot up messages, you can look at them with:
FreeBSD will only load what it's told to or what is built into the kernel. If your devices are on the hardware supported list then your device must be a module that was not loaded. Look in /usr/src/sys/conf/NOTES or better /usr/src/sys/<yourarch>/conf/NOTES and discover what the modules name is. Then locate the <module>.ko file:
The realtek chip on the network card wasn't automatically loaded. To load a module:
kldstat will show loaded modules. Also check dmesg to see if it loaded correctly.
Remember that on FreeBSD 11, wireless sub-devices are not shown in ifconfig.
To have it load permanently on boot add it to /boot/loader.conf (this file may have to be created).
You can see helpful examples of loader.conf stuff in /usr/share/examples/bootforth/ and “man loader.conf”.
...to the top

##### NetBSD

* Latest 7.1,
* Previous ISO mirrors, http://www.netbsd.org/ports/macppc/
NetBSD is a nice reference system for studying kernel code portability across platforms. NetBSD runs on everything from generic x86 boxes to exotic hardware such as the BeBox and the Sega Dreamcast.... Keeping the operating system portable means keeping the code clean, and so the other BSDs often borrow code from NetBSD
NB. Some versions of NetBSD cannot boot from Open Firmware.
After the chime starts, but before it stops, hold down the four COMMAND-OPTION-O-F keys (the COMMAND key looks like a four-leaf clover or an open apple, and the OPTION key may look like a two-way switch with four straight line segments or say ALT) until you see the Open Firmware command prompt on your screen:
Now, set your system to always stop at the Open Firmware prompt.
Alternatively, if you are currently running MacOS X or Darwin, you can use the nvram command to set this variable before rebooting.
You will need to enclose the whole nvram argument in double-quotes to prevent your shell from trying to interpret it.
Open Firmware is capable of booting from a variety of media (such as hard drives, CD-ROMs, and ethernet). Open Firmware is able to boot files from a variety of file systems (such as ISO9660, HFS, HFS+, and MS-DOS FAT). Unfortunately, Open Firmware is not able to directly boot from the NetBSD file system (FFS) or Apple's BSD-based file system (UFS), so we must put the bootloader in a location that Open Firmware is capable of understanding. Therefore, to boot the NetBSD kernel, Open Firmware must first load a `bootloader' (ofwboot.xcf) which knows how to load the NetBSD kernel.
The following bootable media are available for loading the bootloader:
HFS or HFS+ file system This method loads ofwboot.xcf from an HFS or HFS+ partition which then loads the kernel from an acceptable location. The kernel (compressed or non-compressed) may be on an HFS or HFS+ partition. Due to Open Firmware pickiness, it must be on the same partition as ofwboot.xcf.
MS-DOS file system In this method, Open Firmware loads the ofwboot.xcf bootloader from an MS-DOS file system. It may then load a NetBSD kernel from the same MS-DOS file system. This has only been thoroughly tested on floppy disks, but may work on Zip disks or FDISK-formatted hard drives. This does not work for MS-DOS partitions on a hard drive with an Apple Partition Map.
Ethernet (network boot)
Hybrid HFS/ISO9660 CD-ROM file system Load the ofwboot.xcf bootloader from the CD-ROM's HFS file system. It can then load a NetBSD kernel from the HFS or ISO9660 file system. Make sure that the CD has an Apple Partition Map. Open Firmware can only open files on the first session of a multi-session CD-R
Once the bootloader is loaded, it can open the kernel from one of the following sources:
The boot CD image provided has both a `partition zero' bootloader and ofwboot.xcf on a hybrid partition so it can be booted on all Open Firmware versions. It also has an ISO9660 file system with an installation kernel and the distribution sets.
once you enter the command hit return/enter key. Next type:
Now hit the return key. Right after hitting the return key hold down C. This will boot the Mac OS X 10 Disk. Initially a Mac Icon will appear with a smiling mac. Then you will hear the boot chime again and it will stop at the Open Firmware boot.
Now remove the Mac OS X 10 CD from the CD drive and insert the Net BSD CD into the CD Drive and close the drive. Now type in
and hit the return key. If there are any errors just reboot the computer by holding COMMAND+CTRL+ Power Button. Then retype the command. This will boot from the CD and continue onto the installation wizard.
Once installation is complete to boot from hard disk type in the following at the Open Firmware prompt
Hit the return key and when prompted hit the return key again.
...to the top

##### MAC OS X

darwin-ppc-system,,
Unarchive the above darwin-ppc-system file to MAC OS / Applications folder
Open a terminal here using CDTO, [ Automator], OpenInTerminal, [ ShellHere], [ OpenTerminal], FinderGo,, and type
On 10.4.11
On 10.5.8
The problem is because of incompatible ABIs. AROS code is calling functions of the host OS. If the ABIs of both do match like for i386 Darwin or Linux it just works. This can be worked around but....
it was only a "hope this works" and then removed when it was found not to function, nor to be quick and easy to fix. There were some low level details which differed enough from linux-ppc and the native-ppc ports which broke under darwin hosted. It is possible to build and run a linux hosted PPC version on an old mac hardware.
So after almost a month in Linux, going back to Coreplayer for video playback , TFF 45, ClicktoPlugin, ViewTube, Webkit for work (Javascript), Citrix ICA/Receiver for work ( which isn't available for Linux PPC ) and mplayer ( via macports ) for the X265 video support
Only things still missing on OS X 10.5.8 is a recent Silverlight for those pesky tv streaming sites and a more recent Qemu (2.6.0 which fails to compile/work via macports/homebrew since 2.2.x )
Debian/(L)Ubuntu is fine for a modern browser and a lightweight low memory machine with a light desktop but not giving me all the above options which can get from OS X 10.5.8
To conclude, nouveau/mesa on Linux has improved a lot but running glxgears there gives me 60 fps and this is OS X 10.5.8
...to the top

## Developing
### Native
#### Apple Power Books Desktops

None at the moment
[ Darwin 7], [Darwin 8],

### Hosted
#### Linux

the ppc linux hosted aros worked for me. Next hurdle is to compile simple / beginner sources. The linux-ppc-sdk seems to expect to install onto an intel/amd system... Surely this is a mistake? Should I just try to modify the shell script so that it skips the cpu architecture check?
linux-ppc-sdk != sam440-ppc-sdk ??? whats the difference between the two sdks ? One is for Aros running hosted on linux (uses linux functions to access hw) and the other one for aros _native_ ? In that regards the hosted sdk would produce linux/elf-files and the native one aros/elf-file. So they are not binairy compatible. Imagine if i would use the hosted PPC sdk to produce executables for my ps3. Those files run when linux is installed on my ps3, but you can imagine those binairies to not run native on that same PS3
using a prebuild PPC toolchain, made with:
Rebuilding AROS hosted from source code requires a patched gcc3.4.3. The diff file can be found in contrib/gnu/gcc.
It does work now with a patched gcc - haven't moved it from .unmaintained yet because the build currently has some flaws here and there. Basti Posted on: 2005/4/13 18:22

#### BSD
##### OpenBSD

trying to build hosted openbsd 4.5
That looks like there's a gcc version support problem for 4.2.x in the AROS include files.

##### FreeBSD

There's a configuration file where you enable any hardware and options:
Now build your kernel and install it: cd /usr/src make buildkernel KERNCONF=POWERMACG4 make installkernel KERNCONF=POWERMACG4
If there is an error in your config gcc will recognize it and exit defining the config file followed by the line: .../usr/src/sys/powerpc/conf/POWERMACG4:7
Or it will tell you options that are not allowed. “installkernel” will transfer your kernel to the boot directory and have it load automatically at boot.

##### NetBSD

Trying to build hosted netbsd 5.0

## Tested Hardware

Various PPC platforms use different firmwares, filesystems, etc which makes an all-in-one compatibility very difficult.
There's bound to be problems since the PPC builds aren't actively tested and fixed. No one has been actively maintaining the PPC AROS ports through the many good changes in AROS sources trunk. Occasionally a developer will do a little work as it suits them. There was never an ABI_V0 PPC distro like i386-aros has with Icaros/AspireOS/Broadway traction to maintain compatibility with.
You're best bet to run AROS on PPC hardware is with a linux hosted port. There is/was a low level design implementation preventing OSX PPC hosted AROS from working on the Mac PPC hardware, while linux hosted worked on the same hardware.

### Desktop Systems

| Name | Chipset | SATA | Gfx | Audio | USB | Ethernet | Opinion |
| Linux Hosted | | | | | | | Works as at Feb 2012 |
| bplan Genesi PEGASOS II | G4 1GHz | N/A | | AC97 STAC 9766 | 1.1 | Marvell Discovery II MV64361 | Native not working - working via Linux hosted |
| Eyetech AmigaOne SE | G3 | | | | 1.1 | | Untested native should work Linux hosted |
| AmigaOne XE | G4 | | | | 1.1 | | Untested native should work Linux hosted |
| Acube Sam 440ep and the later Flex which kept the same technical specifications as Sam440ep but offers 3 slots PCI and 1 miniPCI slot more, while keeping a compact size | AMCC440 adheres to the Power ISA v.2.03 using the Book III-E specification with additional four-stage FPU that can be included using the APU (Auxiliary Processing Unit) interface - | | ATI Radeon Mobility M9 | Cirrus Logic CS4281 and AC97 Realtek ALC655 audio | 1.1 with 2.0 to follow - provide both device and host support for version 1.1 and device support for version 2.0 with Transceiver Macrocell Interface (UTMI) specification included - Endpoints do not support high-bandwidth isochronous transfers | emacs.device 1 or 2 interfaces to the physical layer but the PHY is not included on the chip One full Media Independent Interface (MII) with 4-bit parallel data transfer Two Reduced Media Independent Interfaces (RMII) with 2-bit parallel data transfer Two Serial Media Independent Interfaces (SMII) Packet reject support | Booting and working original OWB as at Feb 2011 and brought back into use by balaton (Jan 2018), |
| Sam 460ex (2012) or 460cr (cost reduced version 2014) | Applied Micro AMCC460 (440 CPU core) | Silicon Image 4 SATA ports | Sm502 | AC97 ALC655 | 1.1 with 2.0 to follow NXP PCI controller | Gigabit | Boots and brought back into use by balaton (Jan 2018), integrated controllers for DDR or DDR2 SDRAM, USB 2.0, PCIe, SATA, and Gigabit Ethernet |
| Genesi Efika 5200B | 400 MHz Freescale MPC5200B | | ATi Radeon PCI AGP 9250 | AC97 IDT (formerly Sigmatel) STAC9766 | OHCI | Realtek RTL8201CL MII PHY thru a BestComm DMA controller | Working middle 2009 but not working August 2011 |
| Aeon Amiga One X1000 | 1.8GHz PA6T 32bit with and Xena FPGA | | | | | | 2011 Untested native should work Linux hosted |
| Amiga Netbook | | | | | | | 2012 lime ppc laptop type - untested |
| Amiga X5000 | 64bit PPC | | | | | | |
| Acube A-Eon Amiga A1222 Tabor | 64bit PPC | | | | | | |
| Power Mac G3 PowerMac2,1 Model Number M5521 | 400Mhz G3 | | | | | | |
| Power Mac G3 PowerMac4,1 | G3 600 MHz | | ATi Rage 128 | | | | Untested native should work Linux hosted |
| Mac Cube G4 PowerMac5,1 Model Number M7886 Jul 2000 | G4 433, 450, 500 MHz | | ATi Rage 128 | | | | Untested native should work Linux hosted |
| iMac G4 PowerMac4,2 M8672LL/A*, Model, M6498 (EMC 1873) Jan 2002 | G4 700 800 | | Nvidia GeForce2 MX with 2x AGP and 32 MB video RAM | | | | Untested native should work Linux hosted - 15″ 1024 x 768 flat panel display with new keyboard, one with white keys and gray letters - superdrive on 800Mhz - 35% lighter than the old one and draws less power - |
| Apple iMac PowerMac4,5 Model Number M6498 Jul 2002 | | | | | | | |
| Powermac3,1 | PowerPC G4 (7410) 350MHz | | Rage 128 | | | | 1999 Sawtooth |
| Powermac3,3 | Dual G4 400 450Mhz | | ati rage 128 pro | | 2 1.1 ports | | 2000 Sawtooth 2 ports Fw400 - 7400 browser - 10.4 Tiger - iTunes 9.2.1 |
| Power Mac G4 PowerMac3,4 Model Number M5183 Jan 2001 | 833GHz | | | | | | |
| Power Mac G4 PowerMac3,5 Model Number Jan 2002 | 733Mhz M8359LL/A 867Mhz 8360LL/A 933Mhz G4 - Dual 800 MHz M8361LL/A 1 GHz M8493 | | 1920 x 1200 Nvidia 32Mb Geforce2 MX or 64Mb Geforce3 | | | | Quicksilver - 7400e browser |
| Power Mac G4 PowerMac3,6 M8570 Jan 2003 M5183 Jun 2003 | 1GHz G4 | | | | | | Mirror Drive Door MDD - FW Firewire 800 - Leopard 10.5 - iLlife 09 with iMovie HD - |
| IMac G4 PowerMac6,1 | G4 800 - 1.25 GHz | | Radeon 9200 or Geforce 4 Ti | | | | 2003 17" Untested native should work Linux hosted |
| iMac G4 PowerMac6,3 A1065 | 1.25 Ghz G4 | | | | 2.0 | | 2003 20" |
| eMac PowerMac6,4 A1002 | 1.25 or 1.42GHz | | | | | | 2004 17" |
| Power Mac G5 Powermac7,2 A1047 | 1.6 2.0 DP | | | | | | |
| Power Mac G5 PowerMac7,3 Model Number A1047 A1047-2061 | Dual 1.8Ghz | | | | | A1027 Airport Extreme card bcm43xx wl.device:0 Broadcom BCM4318 4320 | |
| iMac PowerMac8,1 | G5 1.8 Ghz | | | | | | MacRISC3 Power Macintosh |
| Power Mac G5 PowerMac9,1 | Single Core 1.6Ghz 1.8Ghz | | AGP | | | | Not working native - works Linux hosted |
| Power Mac G5 PowerMac9,2 | Solo Core 1.8Ghz 2.0Ghz 2.3Ghz 2.5Ghz 2.7Ghz | | | AGP | | | Not working native - works Linux hosted |
| M9686xx/A M9686xx/B M9687xx/A M9687xx/B M9971xx/A M9971xx/B PowerMac10,1 Mac Mini G4 A1103 | (Jan 2005) 1.25Ghz, (Sept 2005) 1.33Ghz and (Jan 2005) 1.42Ghz | | Radeon 9200 32MB VRAM | AC97 | | | Untested native should work Linux hosted |
| Mac Mini G4 M9687xx/B M9971xx/B A1103 PowerMac10,2 (October 2005 onwards) | (24/27 Sept 2005) 1.5Ghz | | Radeon 9200 64MB VRAM | AC97 | | | Untested native should work Linux hosted |
| Power Mac G5 PowerMac11,1 A1117 PowerMac11, | Dual Core 2.0Ghz - Dual Core 2.3Ghz - Quad Core 2.5Ghz | | PCI-E | | | | Not working native - works Linux hosted and with qemu |
| Power Mac G5 PowerMac | | | | | | | Not working native - works Linux hosted |
...to the top

### Laptops

| Name | Screen | Chipset | ACPI | IDE | SATA | Gfx | Audio | USB | Ethernet | Wireless | Opinion |
| Original G3 Mainstreet and later Wallstreet 1998 M3553 | 13.3″ or 14.1″ passive FSTN and later active TFT | 233 MHz G3 on 66Mhz and later 250 MHz, 292 MHz G3 on 83 MHz system bus | | | | | | | | | rubberised top section suffered - PC card slots - Made i Cork, Ireland - WallStreet was the last Apple “Old World ROM” architecture laptop - reset PMU button to left of serial port, turn computer off first - |
| Powerbook G3 series revision II aka PDQ 1998 PowerBook1,1 M4753 | 14.1″ screen, 1024 x 768 | PPC 750 G3 300 MHz | | | | ATI Rage LT Pro | | N/A | | | 66 MHz motherboard - supporting only 192 MB of memory, sometimes reaching a total 512 MB installed RAM - single battery with 2 to 3 hours of use with Apple’s original 49 Watt-Hour - subcontractor, Quanta Computer, in Taipei, Taiwan - reset PMU turn computer off, press Shift-Fn (function)-Ctrl (control)-Power, wait 5 secs, press the Power button to restart - |
| PowerBook G3 (a.k.a. Bronze Keyboard and Lombard) 1999 PowerBook1,1 family M5343 | | 333Mhz 14.1″ 24-bit 1024 x 768 91 ppi color active matrix | | | | ATI Rage LT Pro | | 2 USB 1.1 ports | | | New World ROM - only one drive bay (incompatible with the previous one), only one PC Card slot, and no ADB port. The keyboard also looks different, made of a translucent brown (Apple calls it bronze) plastic - last with SCSI - reset PMU turn computer off, press reset button is located between the external video and modem (RJ-11) ports, wait 5 secs, power on - |
| Apple iBook Clamshell 1998 PowerBook2,1 multiple colors blueberry orange indigo green | 12.1″ 24-bit 800 x 600 SVGA 83 ppi | G3 300 to 400 Mhz | | | | ATi Rage M2 | | 1.1 | | | Does not boot native - untested linux hosted - poor mono speaker with no mic - reset PMU, turn computer off, remove AC and battery, reset button above power button, 5 secs, power on - |
| Apple iBook SE Clamshell 1999 Graphite and Ice or Key Lime livery PowerBook2,2 M2453 M6411 | 12" 800 x600 | G3 466 MHz | | | | ATI Rage 128 M3 with 2x AGP | | 1 USB 1.1 port | | 802.11b AirPort optional | 64 MB of SDRAM, expandable to 576 MB via one 1.25″ 3.3V PC66 compliant SO-DIMM - no PC card slots - AC 24V 1.875A - Battery 14.4V M6392 M7426 M7621G/A - DVD bezel usually breaks off and lost - very time consuming to swap hard drive - |
| Powerbook G3 Pismo 2000 PowerBook3,1 family M7572 | | 400 or 500 MHz PPC 750 G3 up to 900 MHz (major heat issues) or 550 MHz on the G4 | | | | ATI Rage 128 on an AGP 2x bus | | 2 USB 1.1 ports | | Lift up the keyboard and remove 5 screws to get to the hard drive, AirPort Card, and upper RAM slot | FireWire ports instead of SCSI, room for an AirPort Card, and 100 MHz motherboard - Pismo PowerBooks will not boot with a dead PRAM battery but will boot if the PRAM battery is removed - the PC Card slot is now CardBus - Only 7 screws to get to the CPU card and lower RAM slot - |
| Powerbook4,1 G3 iBook 2nd Gen White 2001 | | G3 500Mhz | | | N/A | aTi | | | | | does not boot native - untested linux hosted - A1036 45W PSU - reset PMU turn off computer, remove AC and battery, reset on left audio port for 5 seconds, power on - all 12in batteries are interchangeable - |
| Name | Screen | Chipset | ACPI | IDE | SATA | Gfx | Audio | USB | Ethernet | Wireless | Opinion |
| Apple TiBook 2001 Powerbook3,1 A10 | wide aspect 1152 x 768 pixel display | G4 7400 7450 400Mhz 128 MB RAM and 10 GB & 500 MHz 256 MB RAM and 20 GB | | | | ATI Rage 128 | | USB 1.1 | | to access the hard drive and AirPort Card, you need to remove over a dozen screws from the case bottom | PowerBook first TiBook shipped in two versions. Both included a DVD-ROM drive, VGA video output and supported up to 1 GB of RAM on a 100 MHz bus, clear keyboard keys with black smoke effect - reset button located on the rear panel of the computer between the external video and modem ports - |
| Apple TiBook October 2001 Powerbook3,2 A10 M7710LL/A | | G4 400 500Mhz | | | | | | USB 1.1 | | | won't turn on your PRAM battery might be dead. To force power on hold "Shift+CTRL+Option+Power button" for 5 seconds. Release. Wait 5 seconds. Then hold the "Power Button" again for another 5 seconds. If this worked for you, your PRAM battery is dead - |
| Apple 2001 Powerbook3,3 A10 M8407 Dec 2001 | | top end 667 MHz 7450 model on 133 MHz system bus - lower end 550 MHz on 100 MHz system bus | | | | ATi | | USB 1.1 | | | hinges (left) become a big problem becoming brittle over time and use - December saw Apple replaced the DVD-ROM drive with a Combo drive, which can read DVDs and burn CDs - 512 MB of RAM, 30 GB or 128 MB RAM, 20 GB drive - |
| Apple Powerbook 15" Jan 2001 Titanium PowerBook3,4 Model Number A1001 | 15.2" wide 1280 x 854 | 400Mhz, 533 MHz, 800Mhz, 1GHz | | | | Rage 128 or Radeon 7500 32Mb or Radeon 9000 | | USB 1.1 | | Airport | Does not boot native - untested linux hosted A1021 65W PSU Charger |
| Powerbook3, G4 April 2002 | 15" 1280 x 854 | 667 MHz and 800 MHz with larger level 2 cache - 1 MB vs. 256 KB than earlier | | | N/A | ATI Radeon 7500 with 32 MB of video RAM | | | | | does not boot native - untested linux hosted - third version of the TiBook, the VGA port found on earlier TiBooks replaced by a digital DVI video interface - hinge design changed to prevent breakage - |
| Powerbook3,5 A1025 Nov 2002 TiBook | 14.1" | G4 7455 867Mhz or 1GHz | | | N/A | Radeon 9000 GPU with video RAM doubled to 64 MB top end | | | | Apple M7600LL/A Airport WiFi 11Mbit | 256Mb 8x Combo 40Gb or 512Mb 1x SuperDrive 60GB - clock pram battery under cd drive - max 2x512MB pc100 sodimm - 1 GHz TiBook was the first and only titanium PowerBook to ship with a SuperDrive - reset button located under keyboard on the upper right side of the logic board near the power button - |
| Name | Screen | Chipset | ACPI | IDE | SATA | Gfx | Audio | USB | Ethernet | Wireless | Opinion |
| Apple Powerbook 17" Jan 2003 Aluminium PowerBook5,1 A1013 AlBook | 17" 1440 x 960 | 1GHz G4 (7447A) | | | | Radeon 7500 | | 2 USB 1.1 | gigabit | Airport Extreme 54Bit | first 17inch version - FW800 and FW400 - 8 months for sale - Does not boot native - untested linux hosted Combi Drive - silver keyboard backlit keys - Reset the power manager by pressing the key combination Control-Option-Shift-Power, DO NOT hold down the "fn" key - combo drives on cheaper machnes, superdrive on more expensive - supports Type II cards only - |
| Apple Power Book 12.1" G4 Jan 2003 Aluminum Model ID PowerBook6,1 Model Number A1010 Jan 2003 M8760LL/A | 12.1" 1024 x 768 4ː3 aspect ratio | 867 MHz G4 7455 (G4) | | | | Nvidia Geforce 4 420 Go | PMac Snapper Dev 31 | ohci USB 1.1 | Broadcom BCM5221 PHY | Broadcom 43xx | Does not boot native - untested linux hosted Combo Drive - ram PC2100 - Mini-VGA - Reset the power manager PMU by simultaneously pressing and then releasing Shift-Control-Option-Power on the keyboard. Do not press the fn (Function) key while using this combination of keystrokes - |
| Apple Powerbook 12.1" G4 Sept 2003 Aluminum Model ID PowerBook6,2 Model Number A1010 M9007LL/A | 12.1" 4ː3 aspect ratio | 1GHz | | | | Nvidia Go 5200 | | USB 2.0 | | | Does not boot native - untested linux hosted Combo Drive - bluetooth 1.0 - ram PC2100 max 1gb - Mini DVI no onboard clock battery - |
| Apple Powerbook 15.2" Sept 2003 Aluminum PowerBook5,2 A1046 | 15.2" 16ː10 ratio | 1GHz and 1.25GHz | | | | Radeon 9600 64Mb | with TI 3004 codec | USB 2.0 | gigabit | Airport Extreme A1026 BCM4306 chipset wep only optional on 1 GHz | Does not boot native - untested linux hosted - FW800 - max 2gb ram - backlit keys optional on cheapest model - |
| Apple 2003 iBook Powerbook6,3 A1054 A1055 M9388LL/A | 12 inch and 14 | G4 933Mhz (7445/ 7455) | | | | Radeon | | USB 2.0 | | | 6 months on the shelves - max 1gb ram pc2100 - no physical PMU reset button, computer is off, reset the power manager by simultaneously pressing and then releasing Shift-Control-Option-Power on the keyboard. Do not press the fn (Function) key while using this combination of keystrokes for 5 seconds - |
| Apple Powerbook 15.2" April 2004 Powerbook5,3 A1046 | 15" | 1.33 GHz | | | | Radeon 9600 64Mb | | USB 2.0 | | Apple M8881LL/A 54 Mbit/s AirPort Extreme A1026 | Does not boot native - untested linux hosted - FW800 - 2x Superdrive - |
| Apple Powerbook 15.2" 2004 PowerBook5,4 Model Number A1095 Apr 2004 M9422LL | 15" | 1.5GHz | | | | Radeon 9700 64Mb or 128MB | | USB 2.0 | gigabit | 54 Mbit/s Apple M8881LL/A AirPort Extreme A1026 | Does not boot native - untested linux hosted ADB trackpad and keyboard |
| Apple Powerbook Late 2004 Powerbook6,4 M9183LL/A A1010 | 12.1" | 1.33Ghz G4 7447A | | | | Nvidia Go 5200 | | usb 2.0 | | | 8 months life - slot-loading 8X "Combo" drive (M9183LL/A) or 4X "SuperDrive" (M9184LL/A) - built-in Bluetooth 1.1 and AirPort Extreme (802.11g) - PC2700 DDR SDRAM max 1.25GB - 60 GB hd - reset power PMU, computer is off, Disconnect the AC Adapter and remove the computer's battery, Press and hold down the power button for 5 seconds and then release the button, Reconnect the battery and AC Adapter, Press the Power button to restart the computer - |
| Apple iBook G4 Powerbook6,5 A1054 A1055 opaque white | 12 and 14 inch | 1.07Ghz or 1.2 GHz 7447a (G4) and later 1.33Ghz | | | | ATi Radeon 9200 | | usb 2.0 | | Airport Extreme | Does not boot native - untested linux hosted - PC2100 DDR SDRAM max 1gb - 3rd gen late 2004 - 30Gb HD - reset PMU by pressing and then releasing Shift-Control-Option-Power on the keyboard. Do not press the fn (Function) key - 1024 x768 matte - |
| Apple Powerbook 12.1" 2005 A1104 M9690LL Powerbook6,8 | 12.1" TFT XGA display (1024 x768) | 1.5 GHz 7447a (G4) | | | N/A | Nvidia Go 5200 4X AGP | | usb 2.0 | | | Does not boot native - untested linux hosted - PC2700 DDR SDRAM max 1.25GB - 60 GB (M9690LL/A) or 80 GB (M9691LL/A) Ultra ATA/100 hard drive (5400 RPM) with "Sudden Motion Sensor" technology, either a slot-loading 8X "Combo" drive (M9183LL/A) or 8X "SuperDrive" (M9184LL/A) - bluetooth 2.0+EDR - with the AltiVec "Velocity Engine" vector processing unit - no onboard clock battery - |
| Name | Screen | Chipset | ACPI | IDE | SATA | Gfx | Audio | USB | Ethernet | Wireless | Opinion |
| Apple Powerbook 17" 2005 Powerbook5,5 A1085 | 17" | 1.67GHz | | | | Radeon 9700 RV360 M11 | | USB 2.0 | | | Does not boot native - untested linux hosted MATSHITA DVD-R UJ-825 SuperDrive |
| Apple Inc Powerbook 15.2" Jan 2005 PowerBook5,6 Model Number A1106 M9677LL | | 1.5Ghz G4 | | | | Ati Radeon 9700 64Mb | | usb 2.0 | | Airport Xtreme | USB trackpad and keyboard - scrolling trackpad and illuminated keyboard with ambient light sensor (backlit much brighter) - 8x Superdrive - |
| Apple iBook Powerbook6,7 A1133 A1134 Mid 2005 M9846LL/A | 12 and 14 | 1.33Mhz or 1.42Ghz G4 | | | | Ati M12 9550 32MB | Texas TAS3004 codec | usb 2.0 | | airport extrem bluetooth combo card (model: A1126) with slot failure on the 1.33 12" model | last iBook refresh - Bluetooth 2.0+EDR - PC2700 DDR SDRAM max 2GB - 40gb HD with motion sensing - constant fan but blank screen, faulty soldering on a 28 pin chip, the Intersil ISL6225 power controller, the suspect pin is most likely #28 and adjacent pins, and #1 - chip is just left of the trackpad, applying some pressure to see if it solves it - |
| Apple G4 17" (Al) Powerbook5,7 A1107 | 17 inch model | 1.67Ghz G4 | | | | Radeon 9700 | | usb 2.0 | | Broadcom BCM4306 rev. 3?? 14e4: 4302 | DDR SDRAM - M9689LL//A |
| Apple Powerbook 15̊ PowerBook5,8 Model Number A1138 Oct 2005 M9969LL | 15.2" 1440 x 900 | 1.67 GHz | | | | Radeon 9700 128Mb | | USB 2.0 | | Air Port Extem Broadcom BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02) | USB trackpad and keyboard - 2GB DIMM and leave the other slot empty - dual layer 8x superdrive - |
| Apple Powerbook 15̊ PowerBook5,9 Model Number | | | | | | | | | | | |
| Name | Screen | Chipset | ACPI | IDE | SATA | Gfx | Audio | USB | Ethernet | Wireless | Opinion |
| Amiga One Netbook | | | | | | | | | | | Lime PC type - does not boot native - untested linux hosted |
...to the top

## References

AMCC440 CPU conforms the PowerPC E-Book specification and this version of AROS will not work any other type of PPC core. Since the AMCC440EP CPU does not maintain cache coherency and more AROS code uses CachePreDMA and CachePostDMA pair of functions.
fan control therm_adt746x driver for the i2c thermostat found on the iBook G4, Albook G4
Still to be done.
* 32 bit
* 64 bit
The ELF header for AROS executable was a 'Type' field of REL, while the ELF header for Linux executable is EXEC:
2011-08-04 nightly build for efika but no cd drive to plug in. Instead, I formatted a new SFS partition and copied the contents of the iso to it with MorphOS. After a reset I entered:
at the firmware prompt but got an error:
The os_image file in the root directory of that iso... That's better but AROSdoes not like the MorphOS flavour of SFS -
There's a few more lines after this but progress is stopped... Should I try formatting a FFS partition to boot from?
SilXXXX PCI card is not supported by AROS - as it is not AHCI nor ATA - they are their own weird hardware protocol So that means you will need to use the SATA on-board connector to boot from, or do a network boot via TFTP
Keep in mind you will need to have your OS4 kernel files (kicklayout and modules) on SFS partition. AROS' Parthenope SLB (the same you probably use to boot linux) does not support JXFS yet.

### Native
#### Sam 440EP 460ex

made a PPC crosscompiler toolchain on my laptop and have a very nice dev environment. making the PPC build on x86 machine, boot on sam440 through TFTP protocol and watch the debug output sent over serial line on x86 again. added the rs232 terminal support to the Eclipse IDE, and so no switching between Eclipse and xterm anymore :)
The porting process of AROS to the Sam 440EP may be divided into few logical parts:
The U-Boot installed on sam440 provides a boota command which was initially supposed to boot AmigaOS4 operating system. This command looks for possible boot sources and launches the proprietary second level bootloader used in OS4. On AROS setup it loads the open-sourced second level bootloader which is responsible for loading AROS kernel and additional modules in the same fashion x86_64 does. Later, the read-only support for several filesystems (FFS, SFS, ISO9660 come to my mind) will be added.
On Sam440PPC, Parthenope loads each library/device itself from disk/network, and resolves the symbols *before* passing control to kernel/exec. So when Parthenope loads, say 'intuition.library', and sees an unresolved SysBase symbol, it assigns it 0x00000004 (just like AmigaOS would expect).
The local SysBase method
* No application code needed to be changed
* Fixed issues I had on two platforms that I support
* Does not affect performance on other platforms
* Reduced special cases in *three* programs that handled ELF loading
Then SysBase should be in .bss and not unresolved. The .bss of *every* *single* *module*. A local SysBase for very modules. Which means n modules * 4 bytes data loss. If that is the price to pay to avoid pushing/popping SysBase on/from the stack for every INIT/EXIT function call, so be it. Passing SysBase in INIT/EXIT is needed so that setting up that local SysBase in the library's LibInit doesn't require a compile-time change, only a link time change.
Parthenope doesn't load 'one big ELF' - it loads each module separately. Any reason why modules can't be joined into bigger ones with single SysBase if huge memory loss as computed above is really a problem ? 'huge memory loss'???!? 4 * 52 is *not* a huge memory loss. And being able have a user simply replace one module instead of having to rebuild an ELF is a significant advantage, in my opinion.
Make it conditional on AROS_STACK_GROWS_DOWNWARDS ? (although on all archs it currently seems to grow downwards) Is SP_OFFSET actually used, otherwise maybe best to remove it? AFAIR SP_OFFSET is needed e.g. on PowerPC architectures.
consists of the amcc440-aware kernel linked statically with exec.library (these two beasts have to cooperate somehow and depend on each other) and add-ons loaded by the UB2LB. They all are living in write-guarded address space far far away from any other allocatable memory. The kernel.resource does scheduling, handles interrupts, provides sane MMU mapping and handles exceptions properly. One of them is (and has to) issued every time when the code tries to read a longword from absolute address 0x00000004. This area does not correspond any memory and assignment of the SysBase is done in exception handler. It is slower and inconvenient but accessing the SysBase pointer at 4UL is considered a bug anyway. Everything should be able to work without it. Later, the MMU handler will put some debug regarding such barbarian SysBase access.
The kernel pre-exec routine has been executed. Then, the exec's startup is called. It puts SysBase at the bottom of usable memory
and scans for all modules loaded by the bootstrap code.
Once the SysBase is up and operable, the exec.library calls InitCode. Twice. The first call is done with RTF_SINGLETASK and it wakes up the kernel.resource and expansion.library. The second, post-exec init of the kernel.resource prepares system to work without supervisor mode, e.g. it enables userspace apps to flush caches. Then the interrupts are enabled and user mode is entered.
Once expansion.library finishes it's setup, exec issues InitCode for the second time, with RTF_COLDSTART. There the real boot begins... Libraries are initialized, some of them fail at the very moment (e.g. the input.device does a guru mediation since it cannot open timer.device yet) and the only visible (visible on serial debug of course!) effect of AROS booting is the PCI subsystem, which talks a lot (and works!)
The UBoot Second Level Bootloader is able to use TFTP protocol and load AROS menu.lst configuration file and binaries. It loads the AROS executables and relocates properly.
Now to making AROS work on SAM440 board! separate the kernel (and libraries loaded together with it) from user space. The kernel is loaded somewhere within first 16MB of RAM and then relocated to the virtual address at the very top of the 32-bit address space. The bootstrap loader works in the same way as the x86_64 bootstrap did. It puts all read-only sections upwards from the kernel base, and all writable sections downwards from the kernel base. The core of SAM440 AROS will greedily take all the memory *below* it's physical location for itself. This memory (few megabytes) will be used as a local pool for kernel and will be excluded from usermode access of any kind.
reading the AMCC440 documentation. The PowerPC E-Book from IBM stands quite clearly:
So writing lowlevel code for AMCC440 cpu is very different from my previous experience with G3 CPU. :)

#### Apple Power Books Desktops

* partition.library made aware of APPLE mapping of drive(s)
* HFS+ mac filesystem support
* i2c for
* Radeon gallium 2d 3d needed
* AppleI2S AHI audio driver
* sungem ethernet.device
* broadcom b43 wifi support
* Support for ADB keyboards and touchpads
* G5 PowerMac SATA controller

### Hosted

The structure of an AROS kernel has changed to be a minimal kernel.resource which implements the absolute minimum required to initialise the memory and task-switching hardware and hand control to exec.library. The loader (typically GRUB) can optionally get whatever modules (libraries, resources, devices, etc) into memory and make them available to exec when it starts. This is the basic idea behind the so-called "modular kernel", which has been implemented in the x86_64, Efika, SAM (both PPC), and more recently, mingw32 ports. The only port that use to not do this was Linux hosted.

#### Linux

UNIX-hosted kernel refactor. Obtain libc interface later, after hostib.resource has been initialized. This allows to get rid of some duplicating code. Interrupt subsystem initialization is done between SINGLETASK and COLDSTART levels, similar to PC native ports. Decreased number of global variables, no more global HostIFace needed. Got rid of many global KernelBase references, use getKernelBase instead.
The UnixIO HIDD essentially it exposes Unix file access to AROS applications. using soft interrupts to have UnixIO signal event readiness. the interrupt handler is called more-or-less directly by whoever triggered the interrupt, meaning that any handler was running in the UnixIO select loop task. The handler calls back into UnixIO after the last write is done to disable write events. UnixIO isn't reentrant, and so the lists got corrupted.
Hosted uses the OS threading system to implement a minimal virtual machine, all within kernel.resource. It has a small bootloader that loads an ELF kernel, making it so that stock AROS code can be used even on OSs which doesn't use ELF itself. The other thing it does is neatly split modules into host-side and AROS-side parts. The AROS parts are handled as normal modules, but in their initialisation they call into hostlib.resource (which is now contained within kernel.resource) to load and link the host-side part. These are standard shared libraries which can bring in any library dependencies they need, neatly avoiding the problem contained within the X11 and SDL drivers in that its kinda painful to find the needed libraries at runtime. This way, you just find what you need at link time.
The idea is that there is still too much arch-specific code in exec.library (like thread context manipulation) which is hiding inside kernel.resource. Adding a host.resource which will provide ways for modules to hook into the system main loop inside kernel.resource to do things like "virtual" hardware and the like (ie faking interrupts and such) to try to make kernel.resource have a standard interface across all ports, so they can all run an exec.library that is substantially the same.
The kernel.resource boots and gets exec.library online. The next thing to do is reimplement task switching and interrupt core. It turns out that ucontext_t is not particularly easy to copy or cache on Linux due to the Linux people messing up the way they store the floating point state and need to rewrite it based on the wonderful context_demo.c example, which never requires an explicit context copy and should do much better. After that hook DOS up and get something interesting happening.
That said, there is issue of which stdio.h structure to use, and when to use native OS stdio or hosted AROS stdio, because:
while Darwin (using Mac OS X 10.5.8 for host) has following structure:
Possibly explains the segment violation error on executing existing ppc binaries (from April 2011 build) which never successfully opens files, loads kernel modules and beyond "bus error":
Bus error
** Note: required full filename path.
Q. absolute address 4 is put there by the AROS linker and Parthenope just leaves it alone? No. On AROS SysBase is an ABS symbol in ELF file with special value. Parthenope (or AROSBootstrap, x86/x86_64 bootstrap, dos.library/LoadSeg or anything else that boots AROS) sees this special symbol during relocating the loaded ELF file and replaces it with address 0x00000004. This way the modules try to read the SysBase from that address.
Since at the stage where this symbol is resolved, there is no other AROS component working. Therefore we can neither put there address of some other SysBase pointer (there is none) nor do anything else than using just some arbitrary position in memory.
AROS and OS4 ELFs are different, don't see a reason why Parthenope should not be able to handle each in a proper way. Not only the loaders for OS4 and AROS are quite independent on each other, but also OS4 does not use such ABS symbol in their ELF files. Not to mention they do not use REL elf files, but rather real ELF executables.
So can't we use another absolute address other than 4 on PPC, one that does not fall in the first memory page ? Let boot code then setup this (virtual) address to contain SysBase pointer? That would require modifying Parthenope in such a way as to either (a) break loading AmigaOS or (b) identifying and special casing AROS ELF as different from AmigaOS loads, or (c) use ld scripts to force SysBase to a specific memory address (resolving the symbol to a constant).
goSuper/goUser and krnAllocIntrNode & friends the only port that uses this is the Efika - most > everything else has these defines:
Used to generalize existing code. Howewer, soon after introduced krnAllocXXX primitive so that slab allocator would be used for these thing instead of exec's chunk allocator. AFAIR these things are inserted around actual Allocate operation. This was done because PPC kernels have own memory area, accessible only in supervisor mode, for these things. First, our KrnCreateContext could accept extra argument, holding initialization taglist. Currently exec.library holds this fragment. After this, we could have a single function, which can be replaced on per-implementation basis. A generic implementation would call AllocMem, then set up fields. However leave krnAllocXXX macros as they are, in order to simplify SLAB introduction. Another implementation could do own things. Additionally we could get rid of one more supervisor more call (exec's context initializer also has to become supervisor in order to access that memory).
IMHO on PPC .bss section should be allowed in ROM module and hard linked to absolute address maybe involving MMU to map it to that location. We *do* have .bss on modules on PPC, and we *do* use it. It's _unresolved_ symbols that Parthenope has funny ideas about.
After attempts to use configure and various config files to generate makefiles in a graceful build approach, and having the config break on missing tools or failure to navigate the source code tree, found possible solution by copying .h include directory tree from ./Development/include/<many directories> down to "each" functional file directory.
And, yes, "gcc -I/<include path> -c..." or "gcc -I../../..<etc>" was also attempted but failed (not sure why nested .h's can not seem to navigate/reuse the -I<include> passed to cc1).

#### BSD

* 2004 -2001 Iain Templeton worked on x86 freebsd
* 2009 Rob Norris
* 2011 Jason McMullan
...to the top

### Open Firmware

Entered OpenFirmware with the usual Command-Option-O-F key combination on boot chime, and listed the device tree with the usual "dev / ls" command.
Rentering OpenFirmware and constructing an adequate boot command (boot /pci@f2000000/usb@19/disk@1:2,\\:tbxi) booted
1.- USB booting is supported by all Mac OS X bootloaders, but Mac OS X <= 10.3 do not load the USB MSC drivers at boot and the kernel is then unable to find the root volume. 2.- USB booting is unsupported at all by Mac OS 9, because it requires Toolbox drivers and they only exist for ATA, ATAPI and SCSI. 3.- USB booting is supported by all Linux distributions, expect to load Yaboot configuration file from "cd:" device alias, and you must point that to your exact USB device in OpenFirmware for Yaboot to work. 4.- If your last boot disk is an USB one, it DOES appear on the boot menu. If it's not the case, it will never do, and you must boot manually from OpenFirmware.
boot usb1/@1:1,\boot.img bd=umsd0 rd
nvalias ud /pci@f2000000/USB@1b/device@1/disk@0:5 setenv boot-device ud:,\\:tbxi
versions of Darwin
* 12.4.0 (OS X Mountain Lion 10.8.4), 13.0.0 (iOS 6, and OS X Mavericks), and 14.0.0 (iOS 7),
* 10.0 is Mac OS X Snow Leopard/iOS 4, 9.0 is Mac OS X Leopard/iPhone OS 1, and 8.0 is Mac OS X Tiger/Mac OS X for Apple TV.
...to the top

### Sample boot logs
#### Native

...to the top
...to the top

#### Hosted

...to the top
dockapps running
fvwm2 wmCalClock asmail bubblemon wmpinboard
...to the top

##### OpenSolaris

Best avoided as it was never more than a half-complete kernel.
Around 1996, a port of Solaris 2.5.1 was released which was targeted to SPARC, Intel IA-32, and to the PowerPC.
Solaris/PPC 2.5.1 was written for the CHRP platform which used OpenFirmware. Sun Labs discontinued development of Solaris/PPC the end of February, 2008.
New with Solaris/PPC 2.11 is that it was intended to become an OpenSolaris community project from the very beginning
That was when he merged in the last(?) code (rev 111), contributed by Guy Shaw of SUN Labs (who had left there the same month, i.e. some months after Tom Riddle, but made his last message to the Polaris mailing list as recently as November 2009 ). It seems that project member Bill Kucharski, who sent his last message to the Polaris mailing list in August 2009 (still tagging himself a SUN employee), didn't achieve as much as was hoped for.
Trying to build hosted OpenSolaris 0906
the standard gcc 3.4.3 (that "which gcc" finds) can't find stddef.h include file, saw another version in /usr/bin/ so tried export CC=gcc-4.3.2 and ./configure with better results Build dies in building arosc.library with error while building compiler/clib no such file or directory ld fatal file elf_i386: open failed no such file or directory

##### DragonFly

Trying to build dragonfly 2.3.2-devel hosted of AROS -- needed to create configure.in targets for dragonfly & update config.guess and config.sub scripts then run autoconf to make new configure script. target.cfg failures for ar and ranlib library creation through the bin/dragonfly-i386/links fail with unknown command type error direct usage works though (replace lines in bin/drag*-i386/gen/config/target.cfg with ar -crv, ranlib, etc.) generated includes have conflicts between what is in development/include and what's in gen/cc_include for many system int types __pid_t __off_t __intptr_t, __clockid_t, __clock_t, etc. manually correcting generated includes I got as far as trying to compile the contrib-AHI with failure (older release versions of dragonfly did even worse because of missing library functions)