Interest in Reviving PowerPC Support – Testing on iBook G3 and PowerMac G5

Pegasos II… MorphOS/YDL on it… but now I can test Haiku… :partying_face:

I have a dual POWER9 system from Raptor, and would be willing to provide remote access if someone wants to test things on it.

This is really promising — thanks everyone for the updates!

By the way, is there already any pre-built image available for testing on real hardware (G3/G5)? I’d love to try booting Haiku on my machines and share feedback.

Of course I’m happy to build locally if needed — but just asking in case something is already ready :slight_smile:

No, this would not make sense at this stage. The only thing that works currently is the bootloader. Currently, the bootloader cannot load the kernel without patches, and even then, the kernel crashes right after being loaded.

What about emulation ppc with qemu? This maybe be a environnement to test haiku

1 Like

Hi all,
I’m trying to build Haiku for PPC (G3/G5), mainly for testing in QEMU.

I’ve successfully built the cross-compiler and Haiku’s jam from buildtools.

However, I’m stuck at generating a bootable image:
I see minimum, regular, bootstrap under build/jam/images/definitions/, but there’s no buildprofiles/ directory and no clear target like @minimum-ppc or @boot-ppc.

Running:

css

jam -q @minimum-ppc

or:

css

jam -q @minimum

returns errors like “profile not defined” or “don’t know how to make @minimum”.

Is there a recommended way to build a minimal PPC image on current sources?

Thanks in advance for any hint.

The target for building a raw bootstrap image that can be used for netbooting is
jam -q @minimum-raw

for bootstrapping, you need to also run configure with the --bootstrap argument (and it’s respective parameters).

ATM, texlive fails to build. You can get a successful build by commenting texlive out of build/jam/repositories/HaikuPortsCross/ppc , though texlive will be necessary at a later point.

The resulting objects/haiku/ppc/release/system/boot/openfirmware/boot_loader_openfirmware can be booted by openfirmware

At the moment, only the bootloader works. It can’t load the kernel as the kernel is missing some symbols (and some other stuff aswell)

I guess you mean texinfo here?

DingusPPC is what you’re looking for. There’s currently an ongoing work to make BeOS work on it. Once that’s done it can be used as a testing environment for Haiku:

qemu already has powerpc support: PowerMac family boards (g3beige, mac99) — QEMU documentation

I didn’t hit any problem with texinfo on a Debian 12 host. What is your host system and what error exactly do you get? I would like to understand why it works for me and not for you, so we can improve the bootstrap and make it more reliable

Of course it does, and it’s quite good to run MacOS, but it doesn’t emulate old powerpc macs accurately enough to run BeOS. DingusPPC is much closer to BeOS support, and they’re actively working on getting it done.

Saying that, accurate emulation of old PowerPC Macs might be not that relevant in case Haiku doesn’t plan to be binary compatible with BeOS PPC, so the emulation provided by QEMU might be just enough.

I wonder if the PPC 603 architecture will be compatible with power9. Will Haiku packages work everywhere on the PPC architecture?

Count me in as one more person willing to test/debug (but unfortunately not code, sorry) any powerpc build. Very optimistic that Haiku is a good fit for this class of hardware. Anyone able to make the bootloader, kernel and other low level direct to metal stuff working, please do, it is appreciated, and (IMHO) needed. I’d love to be able to use Haiku PPC, but for now the more viable choices seem to be: Adelie, NetBSD (perhaps OpenBSD too, but FreeBSD seems to have dropped PPC), Fienix, the recently revived MintPPC. The last two both Debian Sid based, the rest independent. I like PPC, and Debian, but since they also dropped ppc (except for ppc64le, aka POWER9), it seems a dead end, as soon as Sid drops support it’s gone. I have not read any indication that either Adelie or NetBSD have any intention of dropping support, so they seem to be most useful long term. Really hoping to add Haiku to that list!

It would be sad to pay thousands of dollars for a POWER9 machine to run a 32 bit system only able to use 4GB of RAM on it, I’d say? Does it still even support 32 bit binaries?

The problem with Haiku is that developers don’t want to care much about architectures other than X86 or amd64.
I don’t know if it’s about human resources or money.
Anyway, life has taught me “don’t ask why”
but to act within your capabilities.

@PulkoMandy
There exists a Desktop version of power9, but is still very hard not cheap

2 Likes

It’s a problem of not having relevant machines (desktops/laptops with other CPUs are extremely rare, or are retro computers which isn’t the main target) and of lack of time (I have already enough problems to solve on my main x86 hardware where I run Haiku, before I can spend time on more “for fun” things).

But other developers who want to help in these areas are welcome to join, and the patches are often quickly reviewed and upstreamed, as long as they don’t break other architectures :slight_smile:

4 Likes

I have a bit PowerPC machines and probably I can test Haiku (though I’m not a Haiku developer) - iBook G3, iBook G4, PowerBook G4 and iMac G5

2 Likes

Hi PulkoMandy,

Thanks for all the clarifications you’ve provided so far — they are very helpful for those of us trying to test Haiku on real PowerPC hardware.

Just to point out: the problem is definitely not the lack of hardware for testing. Many of us still have access to a wide range of PowerPC machines — from 603-based systems to G5 towers.

What is really missing, as you correctly said, are developers with the required low-level knowledge (kernel, boot process, hardware initialization).

However — and I say this with great respect — if you (or anyone else from the core team) could provide even basic guidelines about how to approach debugging on PPC (what tools to use, how to gather meaningful logs, how to test the boot process, etc.), I believe we could start contributing in a more effective way.

We may not be kernel developers, but we are willing to learn, test, and collaborate.

Any directions, resources, or even rough ideas on how to proceed with PPC debugging would be greatly appreciated.

Thanks again for your work — we’ll keep testing and sharing feedback!

1 Like

No, that is also not missing. The problem is having the developer and the hardware in the same room. It is very difficult to debug things remotely.

The developer documentation should give a good idea. But I don’t know what you’re interested in doing. We already know that you will at best get the bootloader menu, and then things will crash. If you are interested in investigating the crash yourself, that’s great, but otherwise, there is no use for more logs of the same crash.

So, if you want to investigate, you can follow ilzu’s instructions for starting qemu and a debugger: Interest in Reviving PowerPC Support – Testing on iBook G3 and PowerMac G5 - #37 by ilzu

This documentation gives the same information but was written for the ARM port:
https://www.haiku-os.org/docs/develop/debugging/Debugging_Bootloaders_GEF.html