Pegasos2InstallCD-53.54.iso
) but older 4.1 versions should also
work (tested with 4.1 Update 1 Peg2InstallCD-Upd1.iso
). This is
commercially available from
Hyperion Entertainment
or retailers,up050404
(see
here) and can be extracted
using this
script.siliconmotion502.chip
driver for AmigaOS Kickstart, at
least version 53.9 or newer. This can be found in the Sam460ex version or
in AmigaOS4.1Update3.lha
update for all AmigaOS 4.1 versions. This
driver also needs PCIGraphics.card
version 53.9 or newer which is
already on 4.1FE Pegasos 2 install CD but for older AmigaOS 4.1 versions this
also needs to be updated. A new enough PCIGraphics.card
version can
be found in AmigaOS4.1FinalEditionUpdate1.lha
update. See
this page
for reference on Kickstart file versions in different AmigaOS 4.1 versions and
updates.sam460ex
or
UAE. The HDToolBox in AROS should also work but currently seems to have a bug
when creating RDB partition table putting it in sector 1 instead of sector 0 so
it may not be suitable at the moment. We will use rdbtool
and xdftool
from amitools
below but you can do the same by any other way you are familiar with.amigaboot.of
, bootloader_prepare
and
bootloader_setup
files from the top level directory and the whole
System/Kickstart
directory from AmigaOS 4.1 Pegasos 2 install
CD to a temporary place where it can be modified. You should end up with this
tree with Kickstart
containing the contents
of System/Kickstart
on the CD:
amigaboot.of bootloader_prepare bootloader_setup Kickstart/
siliconmotion502.chip
to Kickstart
and
if PCIGraphics.card
is older than version 53.9 then update that to
a newer version as well.Kickstart/Kicklayout
to add the graphics driver. Add
a MODULE
line for siliconmotion502.chip
right after
where other chip drivers are loaded after PCIGraphics.card
.
(The PCIGraphics.card
is already there so no change is needed for
that even if it had to be updated to newer version.) The result should look like
this:
MODULE Kickstart/PCIGraphics.card MODULE Kickstart/ATIRadeon.chip MODULE Kickstart/3dfxVoodoo.chip MODULE Kickstart/siliconmotion502.chipSome other chip drivers may also be present depending on your AmigaOS version. No need to change or remove those, just make sure there is a line for the added SM502 driver.
rdbtool amigahd.img create size=1Gi + init + add size=32MiB name=BOOT # Note that rdbtool takes Gi for disk image size but MiB for partition size xdftool amigahd.img open part=BOOT + format Boot ffs+intl xdftool amigahd.img open part=BOOT + write amigaboot.of xdftool amigahd.img open part=BOOT + write bootloader_prepare xdftool amigahd.img open part=BOOT + write bootloader_setup xdftool amigahd.img open part=BOOT + write Kickstart Kickstart
qemu-system-ppc -machine pegasos2 -cpu 7447 \ -bios pegasos2.rom -rtc base=localtime \ -serial stdio -vga none -device sm501 \ -drive media=disk,format=raw,file=amigahd.img \ -cdrom Peg2InstallCD.isoYou should see output from PegasosII firmware in the terminal where the command is started about the firmware initialising the system and detecting one QEMU HARDDISK on channel 0 unit 0 and a QEMU DVD-ROM on channel 1 unit 0, then end with an
ok
prompt. There could be some other errors because some
parts of the real machine is not emulated but these are harmless and can be
ignored as long as the memory, CPU, hard disk and DVD drive are detected and
you get the ok
prompt. In case of any other error check the
command line for typos or mistakes.ok
prompt type the following command to start
booting:
boot hd:0 amigaboot.ofThis should print a boot menu with two options: one for booting from the CD and another from booting from the boot partition (Volume BOOT). Select the option to boot from our BOOT volume. The system should start and the AmigaOS GUI should be displayed in the QEMU window with options to set locale, setup disk, start installation or boot into live CD. Depending on AmigaOS version the screen mode may be low resolution 640x480 8 bit mode or a higher resolution 16 bit mode (in 4.1FE and later). If the install screen does not appear check that all previous steps have been done correctly
-cpu
option to work (see Known Problems below) and the boot
partition must use FFS because the firmware can only read that. Also check that
the block size is set to a sane value as it may auto select a too large default.boot hd:0 amihaboot.of
and then select the BOOT volume instead
of DH0 or what you named the system partition. This should boot the installed
system. If the system partition is not found it can be specified with an option
e.g. boot hd:0 amihaboot.of bootdevice=DH0
On first boot the display mode may be set incorrectly which can result in a blue screen either with broken graphics as in problem #1 described on the main page or only with some text visible. The solution is to blindly get to ScreenMode Prefs and select a better graphics mode such as a 16 bit mode.
You can continue to use the boot partition or change the Kickstart
files on the system partition to add the graphics driver. When installing
updates you should either update the boot partition manually copying modified
files from the system partition or you can add the graphics driver again to the
system partition and redo the Kicklayout
changes after each update.
The nvram is not emulated yet therefore firmware environment variables are not
preserved so the boot command has to be typed at each boot. This can be
automated with tools like expect
or an alternative with less
dependencies like empty.
-cpu 7447
or -cpu g3
QEMU options. It seems the PPC
version of SmartFileSystem Kickstart module does not work with the 7400 G4 CPU
QEMU emulates by default. Replacing SmartFileSystem with a 68k version is also
a work around but specifying an appropriate CPU is enough and fixes this
problem.-cpu 7447
option can be faster but may
have some problems
with older SDL versions which may either be a bug in SDL or something with
using SM502 driver. Using -cpu g3
instead may work around this.rtl8139
driver in AmigaOS 4.1FE Update 1 or 2 may not work
correctly. This can be fixed by downgrading to the version on the 4.1FE install CD.-audiodev alsa,id=audio0,out.try-poll=off
to
QEMU command line.