diff mbox series

docs/system/ppc: Document running Linux on AmigaNG machines

Message ID 20240216001019.69A524E601F@zero.eik.bme.hu
State New
Headers show
Series docs/system/ppc: Document running Linux on AmigaNG machines | expand

Commit Message

BALATON Zoltan Feb. 16, 2024, 12:10 a.m. UTC
Documentation on how to run Linux on the amigaone, pegasos2 and
sam460ex machines is currently burried in the depths of the qemu-devel
mailing list and in the source code. Let's collect the information in
the QEMU handbook for a one stop solution.

Co-authored-by: Bernhard Beschow <shentey@gmail.com>
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
---
Supersedes: <20231216123013.67978-1-shentey@gmail.com>

 MAINTAINERS                 |   1 +
 docs/system/ppc/amigang.rst | 160 ++++++++++++++++++++++++++++++++++++
 docs/system/target-ppc.rst  |   1 +
 3 files changed, 162 insertions(+)
 create mode 100644 docs/system/ppc/amigang.rst

Comments

Thomas Huth Feb. 16, 2024, 10:15 a.m. UTC | #1
On 16/02/2024 01.10, BALATON Zoltan wrote:
> Documentation on how to run Linux on the amigaone, pegasos2 and
> sam460ex machines is currently burried in the depths of the qemu-devel

s/burried/buried/

> mailing list and in the source code. Let's collect the information in
> the QEMU handbook for a one stop solution.
> 
> Co-authored-by: Bernhard Beschow <shentey@gmail.com>
> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
> ---
> Supersedes: <20231216123013.67978-1-shentey@gmail.com>
> 
>   MAINTAINERS                 |   1 +
>   docs/system/ppc/amigang.rst | 160 ++++++++++++++++++++++++++++++++++++
>   docs/system/target-ppc.rst  |   1 +
>   3 files changed, 162 insertions(+)
>   create mode 100644 docs/system/ppc/amigang.rst
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index a24c2b51b6..8e5b47e7b4 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1560,6 +1560,7 @@ F: hw/rtc/m41t80.c
>   F: pc-bios/canyonlands.dt[sb]
>   F: pc-bios/u-boot-sam460ex-20100605.bin
>   F: roms/u-boot-sam460ex
> +F: docs/system/ppc/amigang.rst
>   
>   pegasos2
>   M: BALATON Zoltan <balaton@eik.bme.hu>
> diff --git a/docs/system/ppc/amigang.rst b/docs/system/ppc/amigang.rst
> new file mode 100644
> index 0000000000..c03a7e0d66
> --- /dev/null
> +++ b/docs/system/ppc/amigang.rst
> @@ -0,0 +1,160 @@
> +AmigaNG boards (``amigaone``, ``pegasos2``, ``sam460ex``)
> +=========================================================
> +
> +These PowerPC machines emulate boards that are primarily used for
> +running Amiga like OSes (AmigaOS 4, MorphOS and AROS) but these can
> +also run Linux which is what this section documents.
> +
> +Eyetech AmigaOne/Mai Logic Teron (``amigaone``)
> +===============================================

Wouldn't it be better to use a subsection here (i.e. "----" instead of 
"====") ? And also adjust the subsections below to subsubsections?

> +
> +The ``amigaone`` machine emulates an AmigaOne XE mainboard by Eyetech
> +which is a rebranded Mai Logic Teron board with modified U-Boot
> +firmware to support AmigaOS 4.
> +
> +Emulated devices
> +----------------
> +
> + * PowerPC 7457 CPU (can also use``-cpu g3, 750cxe, 750fx`` or ``750gx``)
> + * Articia S north bridge
> + * VIA VT82C686B south bridge
> + * PCI VGA compatible card (guests may need other card instead)
> + * PS/2 keyboard and mouse
> +
> +Firmware
> +--------
> +
> +A firmware binary is necessary for the boot process. It is a modified
> +U-Boot under GPL but its source is lost so it cannot be included in
> +QEMU. A binary is available at
> +https://www.hyperion-entertainment.com/index.php/downloads?view=files&parent=28.
> +The ROM image is in the last 512kB which can be extracted with the
> +following command:
> +
> +.. code-block:: bash
> +
> +  $ tail -c 524288 updater.image > u-boot-amigaone.bin
> +
> +The BIOS emulator in the firmware is unable to run QEMU‘s standard
> +vgabios so ``VGABIOS-lgpl-latest.bin`` is needed instead which can be
> +downloaded from http://www.nongnu.org/vgabios.
> +
> +Running Linux
> +-------------
> +
> +There are some Linux images under the following link that work on the
> +``amigaone`` machine:
> +https://sourceforge.net/projects/amigaone-linux/files/debian-installer/.
> +To boot the system run:
> +
> +.. code-block:: bash
> +
> +  $ qemu-system-ppc -machine amigaone -bios u-boot-amigaone.bin \
> +                    -cdrom "A1 Linux Net Installer.iso" \
> +                    -device ati-vga,model=rv100,romfile=VGABIOS-lgpl-latest.bin
> +
> +From the firmware menu that appears select ``Boot sequence`` →
> +``Amiga Multiboot Options`` and set ``Boot device 1`` to
> +``Onboard VIA IDE CDROM``. Then hit escape until the main screen appears again,
> +hit escape once more and from the exit menu that appears select either
> +``Save settings and exit`` or ``Use settings for this session only``. It may
> +take a long time loading the kernel into memory but eventually it boots and the
> +installer becomes visible. The ``ati-vga`` RV100 emulation is not
> +complete yet so only frame buffer works, DRM and 3D is not available.
...

  Thomas
BALATON Zoltan Feb. 16, 2024, 12:59 p.m. UTC | #2
On Fri, 16 Feb 2024, Thomas Huth wrote:
> On 16/02/2024 01.10, BALATON Zoltan wrote:
>> Documentation on how to run Linux on the amigaone, pegasos2 and
>> sam460ex machines is currently burried in the depths of the qemu-devel
>
> s/burried/buried/
>
>> mailing list and in the source code. Let's collect the information in
>> the QEMU handbook for a one stop solution.
>> 
>> Co-authored-by: Bernhard Beschow <shentey@gmail.com>
>> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
>> ---
>> Supersedes: <20231216123013.67978-1-shentey@gmail.com>
>>
>>   MAINTAINERS                 |   1 +
>>   docs/system/ppc/amigang.rst | 160 ++++++++++++++++++++++++++++++++++++
>>   docs/system/target-ppc.rst  |   1 +
>>   3 files changed, 162 insertions(+)
>>   create mode 100644 docs/system/ppc/amigang.rst
>> 
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index a24c2b51b6..8e5b47e7b4 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -1560,6 +1560,7 @@ F: hw/rtc/m41t80.c
>>   F: pc-bios/canyonlands.dt[sb]
>>   F: pc-bios/u-boot-sam460ex-20100605.bin
>>   F: roms/u-boot-sam460ex
>> +F: docs/system/ppc/amigang.rst
>>     pegasos2
>>   M: BALATON Zoltan <balaton@eik.bme.hu>
>> diff --git a/docs/system/ppc/amigang.rst b/docs/system/ppc/amigang.rst
>> new file mode 100644
>> index 0000000000..c03a7e0d66
>> --- /dev/null
>> +++ b/docs/system/ppc/amigang.rst
>> @@ -0,0 +1,160 @@
>> +AmigaNG boards (``amigaone``, ``pegasos2``, ``sam460ex``)
>> +=========================================================
>> +
>> +These PowerPC machines emulate boards that are primarily used for
>> +running Amiga like OSes (AmigaOS 4, MorphOS and AROS) but these can
>> +also run Linux which is what this section documents.
>> +
>> +Eyetech AmigaOne/Mai Logic Teron (``amigaone``)
>> +===============================================
>
> Wouldn't it be better to use a subsection here (i.e. "----" instead of 
> "====") ? And also adjust the subsections below to subsubsections?

This used to be the top but I've added another paragraph and forgot to 
change the headings. I'll check how other docs are organised and send 
another version after waiting for some time to see if anobody else spots 
some typos.

Thanks,
BALATON Zoltan

>> +
>> +The ``amigaone`` machine emulates an AmigaOne XE mainboard by Eyetech
>> +which is a rebranded Mai Logic Teron board with modified U-Boot
>> +firmware to support AmigaOS 4.
>> +
>> +Emulated devices
>> +----------------
>> +
>> + * PowerPC 7457 CPU (can also use``-cpu g3, 750cxe, 750fx`` or ``750gx``)
>> + * Articia S north bridge
>> + * VIA VT82C686B south bridge
>> + * PCI VGA compatible card (guests may need other card instead)
>> + * PS/2 keyboard and mouse
>> +
>> +Firmware
>> +--------
>> +
>> +A firmware binary is necessary for the boot process. It is a modified
>> +U-Boot under GPL but its source is lost so it cannot be included in
>> +QEMU. A binary is available at
>> +https://www.hyperion-entertainment.com/index.php/downloads?view=files&parent=28.
>> +The ROM image is in the last 512kB which can be extracted with the
>> +following command:
>> +
>> +.. code-block:: bash
>> +
>> +  $ tail -c 524288 updater.image > u-boot-amigaone.bin
>> +
>> +The BIOS emulator in the firmware is unable to run QEMU‘s standard
>> +vgabios so ``VGABIOS-lgpl-latest.bin`` is needed instead which can be
>> +downloaded from http://www.nongnu.org/vgabios.
>> +
>> +Running Linux
>> +-------------
>> +
>> +There are some Linux images under the following link that work on the
>> +``amigaone`` machine:
>> +https://sourceforge.net/projects/amigaone-linux/files/debian-installer/.
>> +To boot the system run:
>> +
>> +.. code-block:: bash
>> +
>> +  $ qemu-system-ppc -machine amigaone -bios u-boot-amigaone.bin \
>> +                    -cdrom "A1 Linux Net Installer.iso" \
>> +                    -device 
>> ati-vga,model=rv100,romfile=VGABIOS-lgpl-latest.bin
>> +
>> +From the firmware menu that appears select ``Boot sequence`` →
>> +``Amiga Multiboot Options`` and set ``Boot device 1`` to
>> +``Onboard VIA IDE CDROM``. Then hit escape until the main screen appears 
>> again,
>> +hit escape once more and from the exit menu that appears select either
>> +``Save settings and exit`` or ``Use settings for this session only``. It 
>> may
>> +take a long time loading the kernel into memory but eventually it boots 
>> and the
>> +installer becomes visible. The ``ati-vga`` RV100 emulation is not
>> +complete yet so only frame buffer works, DRM and 3D is not available.
> ...
>
> Thomas
>
>
>
BALATON Zoltan Feb. 19, 2024, 8:31 p.m. UTC | #3
On Fri, 16 Feb 2024, Thomas Huth wrote:
> On 16/02/2024 01.10, BALATON Zoltan wrote:
>> Documentation on how to run Linux on the amigaone, pegasos2 and
>> sam460ex machines is currently burried in the depths of the qemu-devel
>
> s/burried/buried/
>
>> mailing list and in the source code. Let's collect the information in
>> the QEMU handbook for a one stop solution.
>> 
>> Co-authored-by: Bernhard Beschow <shentey@gmail.com>
>> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
>> ---
>> Supersedes: <20231216123013.67978-1-shentey@gmail.com>
>>
>>   MAINTAINERS                 |   1 +
>>   docs/system/ppc/amigang.rst | 160 ++++++++++++++++++++++++++++++++++++
>>   docs/system/target-ppc.rst  |   1 +
>>   3 files changed, 162 insertions(+)
>>   create mode 100644 docs/system/ppc/amigang.rst
>> 
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index a24c2b51b6..8e5b47e7b4 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -1560,6 +1560,7 @@ F: hw/rtc/m41t80.c
>>   F: pc-bios/canyonlands.dt[sb]
>>   F: pc-bios/u-boot-sam460ex-20100605.bin
>>   F: roms/u-boot-sam460ex
>> +F: docs/system/ppc/amigang.rst
>>     pegasos2
>>   M: BALATON Zoltan <balaton@eik.bme.hu>
>> diff --git a/docs/system/ppc/amigang.rst b/docs/system/ppc/amigang.rst
>> new file mode 100644
>> index 0000000000..c03a7e0d66
>> --- /dev/null
>> +++ b/docs/system/ppc/amigang.rst
>> @@ -0,0 +1,160 @@
>> +AmigaNG boards (``amigaone``, ``pegasos2``, ``sam460ex``)
>> +=========================================================
>> +
>> +These PowerPC machines emulate boards that are primarily used for
>> +running Amiga like OSes (AmigaOS 4, MorphOS and AROS) but these can
>> +also run Linux which is what this section documents.
>> +
>> +Eyetech AmigaOne/Mai Logic Teron (``amigaone``)
>> +===============================================
>
> Wouldn't it be better to use a subsection here (i.e. "----" instead of 
> "====") ? And also adjust the subsections below to subsubsections?

Inspired by the pseries.rst I've instead elevated to top level title one 
level up so it should then get sorted correctly in TOC to the same effect 
as your suggestion here. Sent a v2 with that. Thanks.

Regards,
BALATON Zoltan
diff mbox series

Patch

diff --git a/MAINTAINERS b/MAINTAINERS
index a24c2b51b6..8e5b47e7b4 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1560,6 +1560,7 @@  F: hw/rtc/m41t80.c
 F: pc-bios/canyonlands.dt[sb]
 F: pc-bios/u-boot-sam460ex-20100605.bin
 F: roms/u-boot-sam460ex
+F: docs/system/ppc/amigang.rst
 
 pegasos2
 M: BALATON Zoltan <balaton@eik.bme.hu>
diff --git a/docs/system/ppc/amigang.rst b/docs/system/ppc/amigang.rst
new file mode 100644
index 0000000000..c03a7e0d66
--- /dev/null
+++ b/docs/system/ppc/amigang.rst
@@ -0,0 +1,160 @@ 
+AmigaNG boards (``amigaone``, ``pegasos2``, ``sam460ex``)
+=========================================================
+
+These PowerPC machines emulate boards that are primarily used for
+running Amiga like OSes (AmigaOS 4, MorphOS and AROS) but these can
+also run Linux which is what this section documents.
+
+Eyetech AmigaOne/Mai Logic Teron (``amigaone``)
+===============================================
+
+The ``amigaone`` machine emulates an AmigaOne XE mainboard by Eyetech
+which is a rebranded Mai Logic Teron board with modified U-Boot
+firmware to support AmigaOS 4.
+
+Emulated devices
+----------------
+
+ * PowerPC 7457 CPU (can also use``-cpu g3, 750cxe, 750fx`` or ``750gx``)
+ * Articia S north bridge
+ * VIA VT82C686B south bridge
+ * PCI VGA compatible card (guests may need other card instead)
+ * PS/2 keyboard and mouse
+
+Firmware
+--------
+
+A firmware binary is necessary for the boot process. It is a modified
+U-Boot under GPL but its source is lost so it cannot be included in
+QEMU. A binary is available at
+https://www.hyperion-entertainment.com/index.php/downloads?view=files&parent=28.
+The ROM image is in the last 512kB which can be extracted with the
+following command:
+
+.. code-block:: bash
+
+  $ tail -c 524288 updater.image > u-boot-amigaone.bin
+
+The BIOS emulator in the firmware is unable to run QEMU‘s standard
+vgabios so ``VGABIOS-lgpl-latest.bin`` is needed instead which can be
+downloaded from http://www.nongnu.org/vgabios.
+
+Running Linux
+-------------
+
+There are some Linux images under the following link that work on the
+``amigaone`` machine:
+https://sourceforge.net/projects/amigaone-linux/files/debian-installer/.
+To boot the system run:
+
+.. code-block:: bash
+
+  $ qemu-system-ppc -machine amigaone -bios u-boot-amigaone.bin \
+                    -cdrom "A1 Linux Net Installer.iso" \
+                    -device ati-vga,model=rv100,romfile=VGABIOS-lgpl-latest.bin
+
+From the firmware menu that appears select ``Boot sequence`` →
+``Amiga Multiboot Options`` and set ``Boot device 1`` to
+``Onboard VIA IDE CDROM``. Then hit escape until the main screen appears again,
+hit escape once more and from the exit menu that appears select either
+``Save settings and exit`` or ``Use settings for this session only``. It may
+take a long time loading the kernel into memory but eventually it boots and the
+installer becomes visible. The ``ati-vga`` RV100 emulation is not
+complete yet so only frame buffer works, DRM and 3D is not available.
+
+Genesi/bPlan Pegasos II (``pegasos2``)
+======================================
+
+The ``pegasos2`` machine emulates the Pegasos II sold by Genesi and
+designed by bPlan. Its schematics are available at
+https://www.powerdeveloper.org/platforms/pegasos/schematics
+
+Emulated devices
+----------------
+
+ * PowerPC 7457 CPU (can also use``-cpu g3`` or ``750cxe``)
+ * Marvell MV64361 Discovery II north bridge
+ * VIA VT8231 south bridge
+ * PCI VGA compatible card (guests may need other card instead)
+ * PS/2 keyboard and mouse
+
+Firmware
+--------
+
+The Pegasos II board has an Open Firmware compliant ROM based on
+SmartFirmware but it has some changes that are not open sourced
+therefore the ROM binary cannot be included in QEMU. An updater was
+available from bPlan, it can be found here:
+http://web.archive.org/web/20071021223056/http://www.bplan-gmbh.de/up050404/up050404
+The ROM image can be extracted from it with the following command:
+
+.. code-block:: bash
+
+  $ tail -c +85581 up050404 | head -c 524288 > pegasos2.rom
+
+Running Linux
+-------------
+
+The PowerPC version of Debian 8.11 supported Pegasos II. The BIOS
+emulator in the firmware binary is unable to run QEMU‘s standard
+vgabios so it needs to be disabled. To boot the system run:
+
+.. code-block:: bash
+
+  $ qemu-system-ppc -machine pegasos2 -bios pegasos2.rom \
+                    -cdrom debian-8.11.0-powerpc-netinst.iso \
+                    -device VGA,romfile="" -serial stdio
+
+At the firmware ``ok`` prompt enter ``boot cd install/pegasos``.
+
+Alternatively it is possible to boot the kernel directly without
+firmware ROM using the QEMU built in minimal Virtual Open Firmware
+(VOF) emulation which is also supported on ``pegasos2``. For this,
+extract the kernel ``install/powerpc/vmlinuz-chrp.initrd`` from the CD
+image then run:
+
+.. code-block:: bash
+
+  $ qemu-system-ppc -machine pegasos2 -serial stdio \
+                    -kernel vmlinuz-chrp.initrd -append "---" \
+                    -cdrom debian-8.11.0-powerpc-netinst.iso
+
+aCube Sam460ex (``sam460ex``)
+=============================
+
+The ``sam460ex`` machine emulates the Sam460ex board by aCube which is
+based on the AMCC PowerPC 460EX SoC (that despite its name has a
+PPC440 CPU core).
+
+Firmware
+--------
+
+The board has a firmware based on an older U-Boot version with
+modifications to support booting AmigaOS 4. The firmware ROM is
+included with QEMU.
+
+Emulated devices
+----------------
+
+ * PowerPC 460EX SoC
+ * M41T80 serial RTC chip
+ * Silicon Motion SM501 display parts (identical to SM502 on real board)
+ * Silicon Image SiI3112 2 port SATA controller
+ * USB keyboard and mouse
+
+Running Linux
+-------------
+
+The only Linux distro that supported Sam460ex out of box was CruxPPC
+2.x. It can be booted by running:
+
+.. code-block:: bash
+
+  $ qemu-system-ppc -machine sam460ex -serial stdio \
+                    -drive if=none,id=cd,format=raw,file=crux-ppc-2.7a.iso \
+                    -device ide-cd,drive=cd,bus=ide.1
+
+There are some other kernels and instructions for booting other
+distros on aCube's product page at
+https://www.acube-systems.biz/index.php?page=hardware&pid=5
+but those are untested.
diff --git a/docs/system/target-ppc.rst b/docs/system/target-ppc.rst
index 4f6eb93b17..87bf412ce5 100644
--- a/docs/system/target-ppc.rst
+++ b/docs/system/target-ppc.rst
@@ -17,6 +17,7 @@  help``.
 .. toctree::
    :maxdepth: 1
 
+   ppc/amigang
    ppc/embedded
    ppc/powermac
    ppc/powernv