Qemu
m (→Additional possible QEMU work) |
m (→Additional possible QEMU work) |
||
Line 75: | Line 75: | ||
== Additional possible QEMU work == | == Additional possible QEMU work == | ||
− | * Fix virtio-drivers in SeaBIOS (endianess-bugs, because SeaBIOS is originally only Little-endian from x86) | + | * Fix virtio-drivers in SeaBIOS (endianess-bugs, because SeaBIOS is originally only Little-endian from x86) |
* Emulate tulip network card in Qemu | * Emulate tulip network card in Qemu | ||
* Artist graphics emulation in Qemu | * Artist graphics emulation in Qemu | ||
− | |||
* STI text emulation in SeaBIOS with VGA | * STI text emulation in SeaBIOS with VGA | ||
+ | * More correct emulation of B160L in Qemu, e.g. seriell ports, PS/2 keyboard & mouse, graphics card | ||
* Elroy PCI emulation, then emulate e.g. a C3000? | * Elroy PCI emulation, then emulate e.g. a C3000? | ||
* PA2.0/64bit (low prio) | * PA2.0/64bit (low prio) | ||
− | + | * ... | |
+ | * '''Push SeaBIOS changes upstream!!''' |
Revision as of 09:46, 13 March 2019
Contents |
QEMU support status regarding hppa/parisc
Starting with QEMU version 2.12 (April 2018), qemu fully supports 32-bit hppa user emulation (hppa-linux-user) and 32-bit hppa system emulation (qemu-system-hppa). All necessary changes have been merged into the upstream qemu git tree.
PA-RISC machines need a firmware ("PDC" = Processor Dependend Code). Qemu includes a precompiled PDC firmware for hppa (pc-bios/hppa-firmware.img), which is based on a fork of SeaBIOS .
The emulated machine is a HP B160L desktop machine, with one or more 32-bit PA7100LC CPUs.
The QEMU emulation is able to run Linux and HP-UX. HP-UX support still needs improvement which is being worked on.
QEMU on parisc has been made available by:
- Richard Henderson: QEMU CPU emulation (32-bit only), QEMU hardware divers
- Helge Deller: QEMU hardware drivers, SeaBIOS PDC firmware
- Sven Schnelle: Lots of fixes all over QEMU and SeaBIOS (SCSI, CPU emulation fixes, SeaBIOS PDC firmware)
Ready-to-run QEMU image for parisc
Download Debian hard disc image:
wget http://backup.parisc-linux.org/qemu/debian-10-hdd-img.tar.bz2
Unzip image:
tar xvfj debian-10-hdd-img.tar.bz2
Run qemu:
./hppa-softmmu/qemu-system-hppa -drive file=debian-10-hdd.img -nographic -serial mon:stdio -accel tcg,thread=multi -smp cpus=4
Log in as root, root password is "rootme"
How to build QEMU from source
Check out the qemu git tree
Run configure, e.g.
- (for system emulation) ./configure --target-list=hppa-softmmu --enable-numa
- (for user emulation) ./configure --target-list=hppa-linux-user --disable-stack-protector --prefix=/home/qemu-hppa/chroot-unstable --interp-prefix=/home/qemu-hppa/chroot-unstable --static
Run "make"
How to run QEMU with Debian-10 installer image
- Create a virtual hard disc once:
qemu-img create -f qcow2 hdd.img 50G
- download a Linux install image, e.g.
- Start emulator with the installer image once:
./hppa-softmmu/qemu-system-hppa -drive file=hdd.img -drive file=debian-10.0-hppa-NETINST-1.iso,media=cdrom -boot order=d -nographic -serial mon:stdio
- Choose typical installation options, the defaults are OK.
- Either skip the step "Configure the Package manager", or configure the mirror as with hostname "ftp.ports.debian.org", and directory "/debian-ports"
- Shut down virtual machine after installation
- Start emulator with installed operating system any time:
./hppa-softmmu/qemu-system-hppa -drive file=hdd.img -nographic -serial mon:stdio -accel tcg,thread=multi -smp cpus=2
- Edit the sources.list (/etc/apt/sources.list) file:
deb http://ftp.ports.debian.org/debian-ports unstable main deb [arch=all] http://ftp.debian.org/debian unstable main deb-src http://ftp.debian.org/debian unstable main
Some QEMU notes
Prefer the e1000 driver over the rtl8129 card. The latter gives irq issues with Dino emulation.
Possible qemu options:
- -accel tcg,thread=multi - always use this to enable parallel tcg (otherwise all guest CPUs run on one host CPU)
- -smp cpus=4 - define number of CPUs in the guest (maximum CPUs: 32)
- -boot menu=on - Firmware: enable interactive mode (boot prompt)
- -boot order=c - Firmware: Boot from hard disc
- -boot order=d - Firmware: Boot from CD/DVD
- -serial mon:stdio use serial console
- -nographic - no graphics device
- -device VGA - provide PCI VGA graphic card
Additional possible QEMU work
- Fix virtio-drivers in SeaBIOS (endianess-bugs, because SeaBIOS is originally only Little-endian from x86)
- Emulate tulip network card in Qemu
- Artist graphics emulation in Qemu
- STI text emulation in SeaBIOS with VGA
- More correct emulation of B160L in Qemu, e.g. seriell ports, PS/2 keyboard & mouse, graphics card
- Elroy PCI emulation, then emulate e.g. a C3000?
- PA2.0/64bit (low prio)
- ...
- Push SeaBIOS changes upstream!!