xref: /openbmc/qemu/docs/system/ppc/amigang.rst (revision 1f2355f5)
1=========================================================
2AmigaNG boards (``amigaone``, ``pegasos2``, ``sam460ex``)
3=========================================================
4
5These PowerPC machines emulate boards that are primarily used for
6running Amiga like OSes (AmigaOS 4, MorphOS and AROS) but these can
7also run Linux which is what this section documents.
8
9Eyetech AmigaOne/Mai Logic Teron (``amigaone``)
10===============================================
11
12The ``amigaone`` machine emulates an AmigaOne XE mainboard by Eyetech
13which is a rebranded Mai Logic Teron board with modified U-Boot
14firmware to support AmigaOS 4.
15
16Emulated devices
17----------------
18
19 * PowerPC 7457 CPU (can also use ``-cpu g3, 750cxe, 750fx`` or ``750gx``)
20 * Articia S north bridge
21 * VIA VT82C686B south bridge
22 * PCI VGA compatible card (guests may need other card instead)
23 * PS/2 keyboard and mouse
24
25Firmware
26--------
27
28A firmware binary is necessary for the boot process. It is a modified
29U-Boot under GPL but its source is lost so it cannot be included in
30QEMU. A binary is available at
31https://www.hyperion-entertainment.com/index.php/downloads?view=files&parent=28.
32The ROM image is in the last 512kB which can be extracted with the
33following command:
34
35.. code-block:: bash
36
37  $ tail -c 524288 updater.image > u-boot-amigaone.bin
38
39The BIOS emulator in the firmware is unable to run QEMU‘s standard
40vgabios so ``VGABIOS-lgpl-latest.bin`` is needed instead which can be
41downloaded from http://www.nongnu.org/vgabios.
42
43Running Linux
44-------------
45
46There are some Linux images under the following link that work on the
47``amigaone`` machine:
48https://sourceforge.net/projects/amigaone-linux/files/debian-installer/.
49To boot the system run:
50
51.. code-block:: bash
52
53  $ qemu-system-ppc -machine amigaone -bios u-boot-amigaone.bin \
54                    -cdrom "A1 Linux Net Installer.iso" \
55                    -device ati-vga,model=rv100,romfile=VGABIOS-lgpl-latest.bin
56
57From the firmware menu that appears select ``Boot sequence`` →
58``Amiga Multiboot Options`` and set ``Boot device 1`` to
59``Onboard VIA IDE CDROM``. Then hit escape until the main screen appears again,
60hit escape once more and from the exit menu that appears select either
61``Save settings and exit`` or ``Use settings for this session only``. It may
62take a long time loading the kernel into memory but eventually it boots and the
63installer becomes visible. The ``ati-vga`` RV100 emulation is not
64complete yet so only frame buffer works, DRM and 3D is not available.
65
66Genesi/bPlan Pegasos II (``pegasos2``)
67======================================
68
69The ``pegasos2`` machine emulates the Pegasos II sold by Genesi and
70designed by bPlan. Its schematics are available at
71https://www.powerdeveloper.org/platforms/pegasos/schematics.
72
73Emulated devices
74----------------
75
76 * PowerPC 7457 CPU (can also use ``-cpu g3`` or ``750cxe``)
77 * Marvell MV64361 Discovery II north bridge
78 * VIA VT8231 south bridge
79 * PCI VGA compatible card (guests may need other card instead)
80 * PS/2 keyboard and mouse
81
82Firmware
83--------
84
85The Pegasos II board has an Open Firmware compliant ROM based on
86SmartFirmware with some changes that are not open-sourced therefore
87the ROM binary cannot be included in QEMU. An updater was available
88from bPlan, it can be found in the `Internet Archive
89<http://web.archive.org/web/20071021223056/http://www.bplan-gmbh.de/up050404/up050404>`_.
90The ROM image can be extracted from it with the following command:
91
92.. code-block:: bash
93
94  $ tail -c +85581 up050404 | head -c 524288 > pegasos2.rom
95
96Running Linux
97-------------
98
99The PowerPC version of Debian 8.11 supported Pegasos II. The BIOS
100emulator in the firmware binary is unable to run QEMU‘s standard
101vgabios so it needs to be disabled. To boot the system run:
102
103.. code-block:: bash
104
105  $ qemu-system-ppc -machine pegasos2 -bios pegasos2.rom \
106                    -cdrom debian-8.11.0-powerpc-netinst.iso \
107                    -device VGA,romfile="" -serial stdio
108
109At the firmware ``ok`` prompt enter ``boot cd install/pegasos``.
110
111Alternatively, it is possible to boot the kernel directly without
112firmware ROM using the QEMU built-in minimal Virtual Open Firmware
113(VOF) emulation which is also supported on ``pegasos2``. For this,
114extract the kernel ``install/powerpc/vmlinuz-chrp.initrd`` from the CD
115image, then run:
116
117.. code-block:: bash
118
119  $ qemu-system-ppc -machine pegasos2 -serial stdio \
120                    -kernel vmlinuz-chrp.initrd -append "---" \
121                    -cdrom debian-8.11.0-powerpc-netinst.iso
122
123aCube Sam460ex (``sam460ex``)
124=============================
125
126The ``sam460ex`` machine emulates the Sam460ex board by aCube which is
127based on the AMCC PowerPC 460EX SoC (that despite its name has a
128PPC440 CPU core).
129
130Firmware
131--------
132
133The board has a firmware based on an older U-Boot version with
134modifications to support booting AmigaOS 4. The firmware ROM is
135included with QEMU.
136
137Emulated devices
138----------------
139
140 * PowerPC 460EX SoC
141 * M41T80 serial RTC chip
142 * Silicon Motion SM501 display parts (identical to SM502 on real board)
143 * Silicon Image SiI3112 2 port SATA controller
144 * USB keyboard and mouse
145
146Running Linux
147-------------
148
149The only Linux distro that supported Sam460ex out of box was CruxPPC
1502.x. It can be booted by running:
151
152.. code-block:: bash
153
154  $ qemu-system-ppc -machine sam460ex -serial stdio \
155                    -drive if=none,id=cd,format=raw,file=crux-ppc-2.7a.iso \
156                    -device ide-cd,drive=cd,bus=ide.1
157
158There are some other kernels and instructions for booting other
159distros on aCube's product page at
160https://www.acube-systems.biz/index.php?page=hardware&pid=5
161but those are untested.
162