With some trial and error, I got #AmigaOS 4.1 Final Edition for #PowerPC booting in #QEMU 9.0.1!

#PPC #Amiga #retrocomputing

Big kudos to BALATON Zoltan for developing and upstreaming support for various #PowerPC Amiga boards in #QEMU and for documenting the process:

http://zero.eik.bme.hu/~balaton/qemu/amiga/index.html

#amiga #amigaos #retrocomputing

Amiga like OSes on QEMU

Building a working Kickstart for the QEMU-emulated Pegasos II wasn't trivial: #AmigaOS 4.1 is still proprietary and distributed in board-specific CDs.

I own only a copy of AmigaOS 4.1 FE for the Sam440, which isn't one of the boards supported by #QEMU. The kernel for the Sam440 crashes on all other boards.

Luckily, the classic #Amiga ROM has been modularized into a directory of lose ELF files, and I found the missing drivers in incremental OS updates I already had 😎

https://wiki.amigaos.net/wiki/UserDoc:How_AmigaOS_Works#Control_of_the_Kickstart

UserDoc:How AmigaOS Works - AmigaOS Documentation Wiki

Initially, I spent some time trying to boot an emulated AmigaOne XE (2004) or the more modern Sam460ex (2010).

Both these boards use #UBoot, which requires a Second Level Bootloader (SLB) to load the Kickstart from an Amiga filesystem or from a CD.

U-Boot is GPLv2, but I'm afraid the SLB is not opensource, and I couldn't figure out what was going wrong.

https://wiki.amigaos.net/wiki/UserDoc:How_AmigaOS_Works

#amiga #ppc #amigaos #retrocomputing

UserDoc:How AmigaOS Works - AmigaOS Documentation Wiki

The Pegasos II, instead, uses OpenFirmware. QEMU can directly load an ELF kernel with the "-kernel" switch and pass it a boot filesystem with the "-initrd" switch, a feature normally used to boot Linux systems.

https://en.wikipedia.org/wiki/Pegasos#Pegasos_II

#amiga #amigaos #ppc #retrocomputing

Pegasos - Wikipedia

To easily boot AmigaOS, Balaton Zoltan created an opensource second-stage bootloader called bboot:

qemu-system-ppc \
-machine pegasos2 \
-kernel bboot \
-initrd Kickstart.zip \
-vga none -device sm501 \
...

I grabbed a precompiled bboot binary from the 0.7 release tarball, and assembled a working Kickstart.zip by trial and error, combining my complete KickstartSam440 with modules for the Pegasos found in various OS updates.

http://zero.eik.bme.hu/~balaton/qemu/amiga/aos_bboot.html
#ppc #amiga #amigaos

Booting AmigaOS 4,1 on QEMU with BBoot

The latest A-EON boards, including the X1000, X5000 and the just released #A1222plus, also use #UBoot, but with a different second level bootloader called AmigaBoot, which can read the Kickstart from the an Amiga filesystem, including the new and mysterious NGFileSystem (NGFS).

I found a doc confirming my suspects that a copy of AmigaBoot resides in the on-board NVRAM. This explains how the A1222+ could boot off an old #AmigaOS 4.1 image for the Sam440 😏

https://amigang.com/hardware-amigaone-a1222/
#ppc #amiga

Hardware : A1222 Plus – AmigaNG

@codewiz Isn't that a downgrade from the X5000? The latter has 4 cores that can run in 64bit mode. The former is 32bit only.

@profoundlynerdy I heard that the So of the X5000 has been EOL'd long ago and the remaining stock is very expensive.

But yes, the A1222+ uses an underpowered NXP SoC. If you just want the fastest possible #PowerPC Amiga, nowadays you could simply use QEMU on an desktop PC 😏

@codewiz Given the open nature of the PowerPC ISA, I'm surprised there isn't a *lot* more hardware out there.

I'm sure someone could open source a more powerful Amiga-like system.

@profoundlynerdy The PowerPC alliance between IBM, Apple and Motorola / Freescale fell apart long ago.

Today only IBM is designing high-performance PowerPC cores, and they are only interested in using them for their own mainframes.

NXP and other vendors are only selling low-power SoCs for network equipment and embedded boards.

At this point, it's clear that #PowerPC is a dead-end for #AmigaOS. If we are going to do JIT emulation on x86 anyway, we could just go back to m68k 😒