xref: /openbmc/qemu/docs/system/ppc/amigang.rst (revision 9d49b1c9edf829e571093088ddff0b73db3110c6)
1 =========================================================
2 AmigaNG boards (``amigaone``, ``pegasos2``, ``sam460ex``)
3 =========================================================
4 
5 These PowerPC machines emulate boards that are primarily used for
6 running Amiga like OSes (AmigaOS 4, MorphOS and AROS) but these can
7 also run Linux which is what this section documents.
8 
9 Eyetech AmigaOne/Mai Logic Teron (``amigaone``)
10 ===============================================
11 
12 The ``amigaone`` machine emulates an AmigaOne XE mainboard by Eyetech
13 which is a rebranded Mai Logic Teron board with modified U-Boot
14 firmware to support AmigaOS 4.
15 
16 Emulated 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 
25 Firmware
26 --------
27 
28 A firmware binary is necessary for the boot process. It is a modified
29 U-Boot under GPL but its source is lost so it cannot be included in
30 QEMU. A binary is available at
31 https://www.hyperion-entertainment.com/index.php/downloads?view=files&parent=28.
32 The ROM image is in the last 512kB which can be extracted with the
33 following command:
34 
35 .. code-block:: bash
36 
37   $ tail -c 524288 updater.image > u-boot-amigaone.bin
38 
39 The BIOS emulator in the firmware is unable to run QEMU‘s standard
40 vgabios so ``VGABIOS-lgpl-latest.bin`` is needed instead which can be
41 downloaded from http://www.nongnu.org/vgabios.
42 
43 Running Linux
44 -------------
45 
46 There are some Linux images under the following link that work on the
47 ``amigaone`` machine:
48 https://sourceforge.net/projects/amigaone-linux/files/debian-installer/.
49 To 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 
57 From 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,
60 hit 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
62 take a long time loading the kernel into memory but eventually it boots and the
63 installer becomes visible. The ``ati-vga`` RV100 emulation is not
64 complete yet so only frame buffer works, DRM and 3D is not available.
65 
66 Genesi/bPlan Pegasos II (``pegasos2``)
67 ======================================
68 
69 The ``pegasos2`` machine emulates the Pegasos II sold by Genesi and
70 designed by bPlan. Its schematics are available at
71 https://www.powerdeveloper.org/platforms/pegasos/schematics.
72 
73 Emulated 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 
82 Firmware
83 --------
84 
85 The Pegasos II board has an Open Firmware compliant ROM based on
86 SmartFirmware with some changes that are not open-sourced therefore
87 the ROM binary cannot be included in QEMU. An updater was available
88 from bPlan, it can be found in the `Internet Archive
89 <http://web.archive.org/web/20071021223056/http://www.bplan-gmbh.de/up050404/up050404>`_.
90 The 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 
96 Running Linux
97 -------------
98 
99 The PowerPC version of Debian 8.11 supported Pegasos II. The BIOS
100 emulator in the firmware binary is unable to run QEMU‘s standard
101 vgabios 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 
109 At the firmware ``ok`` prompt enter ``boot cd install/pegasos``.
110 
111 Alternatively, it is possible to boot the kernel directly without
112 firmware ROM using the QEMU built-in minimal Virtual Open Firmware
113 (VOF) emulation which is also supported on ``pegasos2``. For this,
114 extract the kernel ``install/powerpc/vmlinuz-chrp.initrd`` from the CD
115 image, 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 
123 aCube Sam460ex (``sam460ex``)
124 =============================
125 
126 The ``sam460ex`` machine emulates the Sam460ex board by aCube which is
127 based on the AMCC PowerPC 460EX SoC (that despite its name has a
128 PPC440 CPU core).
129 
130 Firmware
131 --------
132 
133 The board has a firmware based on an older U-Boot version with
134 modifications to support booting AmigaOS 4. The firmware ROM is
135 included with QEMU.
136 
137 Emulated 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 
146 Running Linux
147 -------------
148 
149 The only Linux distro that supported Sam460ex out of box was CruxPPC
150 2.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 
158 There are some other kernels and instructions for booting other
159 distros on aCube's product page at
160 https://www.acube-systems.biz/index.php?page=hardware&pid=5
161 but those are untested.
162