@Maijestro I get further than that with the U-Boot menu coming up and also loading and starting Linux so maybe check that the U-Boot image is correct. It's just the last 512KB of the update.image binary that can be cut as described in the comment in qemu/hw/ppc/amigaone.c. You can just use -bios path/to/u-boot-amigaone.bin without -L the 0L is only needed if you need other rom images that come with QEMU but it does not find it. I never needed to use that as it finds that if you run from the build dir.
The correct u-boot-amigaone.bin should have MD5 sum: 36d9f14f05ff5d539cc56844ff1f5d25
At least that's where U-boot looks for it at start. The reg 0x56 is clearly marked in a comment in the U-Boot source to enable nvram and it seems to be poked constantly when reading from CD due to accessing a delay stored in an envvar. But the addresses I see after Linux kernel starts are different so it should probably some peripheral mapped there. Between fd000000-fdffffff I think there should be PCI memory 0-ffffff where e.g. VGA legacy RAM or such would appear but that seems to be mapped at different address. Maybe real machine has something else there though. Memory map I have now:
0000000000000000-ffffffffffffffff (prio 0, i/o): system
0000000000000000-000000000fffffff (prio 0, ram): ram
0000000040000000-0000000040007fff (prio 0, ram): init-cache
0000000080000000-00000000fcffffff (prio 0, i/o): alias pci-mem-high @pci-mem 80000000-fcffffff
00000000fd000000-00000000fdffffff (prio 0, i/o): alias pci-mem-low @pci-mem 00000000-00ffffff
00000000fe000000-00000000feffffff (prio 0, i/o): articia
00000000fe000000-00000000febfffff (prio 1, i/o): pci-io
here a lot of ISA stuff mapped from VIA and io BARs of PCI cards
00000000fe800100-00000000fe80011f (prio 1, i/o): uhci
00000000fe800120-00000000fe80013f (prio 1, i/o): uhci
00000000fe800200-00000000fe8002ff (prio 1, i/o): via-ac97.sgd
00000000fe800300-00000000fe800303 (prio 1, i/o): via-ac97.fm
00000000fe800304-00000000fe800307 (prio 1, i/o): via-ac97.midi
00000000fff00000-00000000fff7ffff (prio 0, rom): rom
balaton wrote:@Maijestro I get further than that with the U-Boot menu coming up and also loading and starting Linux so maybe check that the U-Boot image is correct. It's just the last 512KB of the update.image binary that can be cut as described in the comment in qemu/hw/ppc/amigaone.c. You can just use -bios path/to/u-boot-amigaone.bin without -L the 0L is only needed if you need other rom images that come with QEMU but it does not find it. I never needed to use that as it finds that if you run from the build dir.
The correct u-boot-amigaone.bin should have MD5 sum: 36d9f14f05ff5d539cc56844ff1f5d25
Ok, you are right. The firmware or U-Boot Preferences menu is now displayed to me after the bus 0: has been scanned.
qemu/build/qemu-system-ppc -M amigaone -L /Users/reneengel/qemu/pc-bios -device VGA,romfile=/Users/reneengel/qemu/pc-bios/VGABIOS-lgpl-latest.bin -cdrom /Users/reneengel/Downloads/A1\ Linux\ Installer.iso -display cocoa -serial stdio -d unimp,guest_errors
via_superio_cfg: unimplemented register 0xe0
via_superio_cfg: unimplemented register 0xe2
via_superio_cfg: unimplemented register 0xe3
via_superio_cfg: unimplemented register 0xe6
via_superio_cfg: unimplemented register 0xe7
via_superio_cfg: unimplemented register 0xe8
articia_reg_write: Unimplemented register write 0x80 1 <- bb
via_superio_cfg: unimplemented register 0xe7
via_superio_cfg: unimplemented register 0xe8
via_superio_cfg: unimplemented register 0xe2
articia_reg_write: Unimplemented register write 0x80 1 <- 0
articia_reg_write: Unimplemented register write 0x80 1 <- 1
articia_reg_read: Unimplemented register read 0x61 1
articia_reg_write: Unimplemented register write 0x61 1 <- fd
articia_reg_read: Unimplemented register read 0x61 1
Invalid read at addr 0xFD0E0004, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0005, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0006, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0007, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0008, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0009, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E000A, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E000B, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E000C, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E000D, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E000E, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E000F, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0010, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0011, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0012, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0013, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0014, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0015, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0016, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0017, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0018, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0019, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E001A, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E001B, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E001C, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E001D, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E001E, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E001F, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0020, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0021, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0022, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0023, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0024, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0025, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0026, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0027, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0028, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0029, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E002A, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E002B, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E002C, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E002D, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E002E, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E002F, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0030, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0031, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0032, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0033, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0034, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0035, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0036, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0037, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0038, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0039, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E003A, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E003B, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E003C, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E003D, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E003E, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E003F, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0040, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0041, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0042, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0043, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0044, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0045, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0046, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0047, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0048, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0049, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E004A, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E004B, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E004C, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E004D, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E004E, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E004F, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0050, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0051, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0052, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0053, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0054, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0055, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0056, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0057, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0058, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0059, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E005A, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E005B, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E005C, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E005D, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E005E, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E005F, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0060, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0061, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0062, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0063, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0064, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0065, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0066, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0067, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0068, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0069, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E006A, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E006B, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E006C, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E006D, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E006E, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E006F, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0070, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0071, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0072, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0073, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0074, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0075, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0076, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0077, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0078, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0079, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E007A, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E007B, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E007C, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E007D, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E007E, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E007F, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0080, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0081, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0082, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0083, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0084, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0085, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0086, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0087, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0088, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0089, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E008A, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E008B, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E008C, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E008D, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E008E, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E008F, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0090, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0091, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0092, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0093, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0094, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0095, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0096, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0097, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0098, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0099, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E009A, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E009B, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E009C, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E009D, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E009E, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E009F, siz
CPU: MPC7457 v1.2 @ 1150 MHz
Board: AmigaOne
DRAM:
Information for SIMM bank 0:
Number of banks: 2
Number of row addresses: 13
Number of coumns addresses: 10
SIMM is not registered
Supported burst lenghts: 8 4
Supported CAS latencies: CAS 3
RAS to CAS latency: 2
Precharge latency: 2
SDRAM highest CAS latency: 250
SDRAM 2nd highest CAS latency: 120
SDRAM data width: 8
Auto Refresh supported
Refresh time: 782 clocks
Bank 0 size: 256 MB
Bank 1 size: 256 MB
Slot 1: vacant
DIMM0_B0_SCR0 = 0x00e78f00
DIMM0_B1_SCR0 = 0x00e78f00
DIMM0_B2_SCR0 = 0x00678f00
DIMM0_B3_SCR0 = 0x00678f00
Using CAS 4 (slow)
DRAM_GCR0 = 0x00000000
Refresh set to 1561 clocks, auto refresh on
DRAM_REFRESH0 = 0x00019619
Mode bank 0: 0x00008042
Mode bank 1: 0x00008042
512 MB
FLASH: 0 kB
*** Warning - bad CRC, using default environment
VGA: 0 ..
In: serial
Out: serial
Err: serial
And don't worry about -L in the command line, I copied everything into the Qemu pc-bios folder that makes it easier for me to find everything quickly. Qemu also looks for files in these directories, so it's a good choice for me.
Edit: At the moment I can only test with Linux until my AmigaOne A1/XE version of AmigaOs4.1 has arrived, testing with Linux should also be good for now to understand things a little better.
Edited by Maijestro on 2023/7/29 20:33:28
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne A1222plus AmigaOs4.1 FE
You have to build it yourself. Balaton provides everything for this on its project page. And yes I use Qemu under Mac M1 with qemu-system-ppc
If possible you should upload your MacOS QEmu binaries somewhere. Would help MacOS users who don't have the required build system installed, no skills and/or the time to install it, get the sources and build QEmu themselves.
My issue, don’t know what package system to use, don’t know what dependencies I need.
According to the QEmu homepageHomebrew is used for building QEmu on MacOS. Don't know if that helps, and I don't know anything about current MacOS versions.
joerg wrote:@Maijestro If possible you should upload your MacOS QEmu binaries somewhere. Would help MacOS users who don't have the required build system installed, no skills and/or the time to install it, get the sources and build QEmu themselves.
If interested, I would provide the build for Mac M1/M2 with everything needed to test it.
At the moment I don't see much sense in it, because we can't boot Linux or AmigaOs4.1 in any way before the necessary patches are written to make it possible.
I think more important right now would be how things work on real hardware to move forward with this emulation.
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne A1222plus AmigaOs4.1 FE
My issue, don’t know what package system to use, don’t know what dependencies I need.
You can build it yourself very easily.
1. install the package manager Brew from https://brew.sh/ this will also install Xcode for MacOs. I'm not exactly sure which dependencies are needed for building directly, but if something is missing Brew will show it to you in the terminal.
If the cloning was successful navigate to your user folder, there should be Qemu as SourceCode. Now you have to choose the right branch, you can do this via the terminal "cd /path/to/Qemu git checkout amigaone" you should now be on the right branch "Amigaone" and can then configure with:
Also have a look in the folder Qemu/hw/ppc/ and read the file amigaone.c. There you will find an explanation how to configure the Uboot bootloader and from where you can get the VGA,romfile. Similar it is done under Linux if all needed dependencies for compiling are fulfilled.
Everything else is also a little further up in the thread. I hope this will be helpful to them, otherwise let me know.
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne A1222plus AmigaOs4.1 FE
fd000000 01000000 is "PCI alias memory", which I think is ISA related.
That's the device tree source from Linux that I've also used to implement these regions but what is ISA related mean? I understood it that it's the low part of pci-mem where e.g. the legacy ISA compatible VGA paged vram would show up and probably also used for BIOS emulation. I think this works so this region should be correct.
After quite some debuging I've found that Linux crashes on boot because it tries to access memory just below 1 GB while extracting the device tree even though it correctly listed memory to be 512MB before that. I have no idea why that happens but giving it -m 1g avoids this and actually boots with 1GB. But additionally to that the amigaone images from sourceforge use radeonfb so that needs to be emulated (also needs appropriate PC rom for that so I won't go into detail on that as it's unusable for graphics beyond console anyway) or change the command line on the CD to remove video option (but I could not find out how to change it from U-Boot becuse the setting there seems to be overridden by the CD).
So Linux now works apart from needing 1GB and not sure why it fails with less but maybe AmigaOS does not have this problem so I'm waiting for somebody with AmigaOne AOS version to try it. You need to make a boot disk like described on my pegasos2 page at http://zero.eik.bme.hu/~balaton/qemu/amiga/aos_pegasos2.html but for AmigaOne one needs to use slb_v2 instead of just copying files so you either need to do that on running AmigaOS or I think amitools can do that too but I don't know how so you need to figure out.
If somebody can confirm that the Linux images work with less than 1GB memory on real machine I'd be interested if somebody knows why it tries to access addresses above existing memory. What happens is a DSI is generated which is not handled that early when the device tree is read so it crashes but can't even print a crash log yet as it's too early in boot.
ISA only supports 16 MB address space, with ISA you can only use this address space and not access the larger ~2GB PCI address space at 0x80000000-0xfcffffff.
Quote:
for AmigaOne one needs to use slb_v2 instead of just copying files so you either need to do that on running AmigaOS or I think amitools can do that too but I don't know how so you need to figure out.
IIRC amiga-fdisk supports installing a SLB into the RDB.
Quote:
If somebody can confirm that the Linux images work with less than 1GB memory on real machine I'd be interested if somebody knows why it tries to access addresses above existing memory.
Since there is a closed bug where it crashed with more than 700 MB RAM installed it has to work with less than 1 GB. I had Linux installed on my AmigaOne XE, but that was a very long time ago and I don't remember how much RAM I had in the XE. Probably 256 or 512 MB.
@joerg Actually I was wrong about correctly detecting memory, it seems to always detect 512MB even if there's less so for now if you test this use -m 512 or -m 1g. There are also errors about invalid i2c communication while reading the SPD eeproms whcih I'm not sure is a bug in U-Boot not sending an ACK when expected or an error in emulation breaking the i2c state somewhere but this may be related to wrong memory detection.
Other than that there's not much progress, I've split up the patch and fixed the via-ide so this could be submitted to QEMU eventually but we would still need the firmware sources for that. According to a thread on amigaworld.net this was explored before and the user BillT there or @m3x here might have that source somewhere but I could not find it on line.
The XE UBoot source was only partial. There were open parts for the main code and common shared routines. But other parts of UBoot core functions were binary only. This would include the "boota" code which remains hidden. Not that scanning a HDD for a boot block was anything real special.
On SF there is kernel source, at least for 3.10, which would include the A1 kernel patches.
Have you got any further than UBoot menu? In the image I don't see the net installer booting at all but just a UBoot menu. Without nvram you will need to boot it from the menu. Or boota command on CLI. It's a normal auto boot CD.
Old kernels did have a limit on 750GB and IIRC that affected mainline x86 as well. The kernel on the installer is much newer. I had 2GB working in my A1 when I used it last.
As to radeonfb, that shouldn't take affect until the system is installed to HDD. I checked a net boot image just before and it wasn't set in cmdline. You can see this by mounting the iso image and checking the menu file at boot/menu.lst.
There are two things you need: A vgabios that does not crash the BIOS emulator in the firmware and at least 512MB RAM given to virtual machine because it's not detecting memory size correctly if you have less. Then have to set Amiga boot options (despite booting Linux) to try CD first at the bottom within in the Boot options menu. Then escape to top level and choose use settings for this boot. Without also emulating a radeon card you'll probably only get some logs on serial though. I have some unmerged ati-vga patches and not sure those would be needed but it would not work for X or AmigaOS anyway so only good for testing Linux console. That's why I don't say how to run it as it likely would not work but I can confirm that Linux boots. It would be more interesting to test with AmigaOS which should be possible using SM502 driver the same way as with pegasos2 but I don't have that AmigaOS version so waiting for somebody to do this.
@Hypex As for the firmware I could include this in QEMU only if we have a corresponding source that it can be rebuilt from. It does not have to be the same 1.1.1 version that's available, I've read people had 1.1.4 and 2.0.0 versions also running on real machine so if we have source for those that would also be OK. The AmigaOne patches were in upstream U-Boot for a while until they were dropped for not being maintained any more so I could try to build it from a version before that happened but since that's untested on real hardware it's not the best way to test an emulation that's still incomplete because I won't know if it's something missing from firmware or from emulation if I get a problem. The commit that removed AmigaOne support from U-Boot also noted that it did not work for the last 12 releases before it was removed so not sure how far back should I go to get a working version. That's why I'm asking if anybody has a source for a version that's known to be working on real hardware then we can include that in QEMU. Otherwise it will only support booting Linux kernel directly (which I still need to implement then) but for AmigaOS people will need to get the firmware separately as QEMU can only distribute binary that also has the source.