Qemu

From Linux PARISC Wiki
(Difference between revisions)
Jump to: navigation, search
m (HOW TO BUILD QEMU FROM SOURCE)
m
(6 intermediate revisions by one user not shown)
Line 20: Line 20:
 
* run "make"
 
* run "make"
  
== HOW TO RUN QEMU ==
+
== PRE-INSTALLED AND READY-TO-RUN QEMU IMAGE ==
 +
 
 +
* Download from 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"
 +
 
 +
== EXAMPLE HOW TO RUN QEMU WITH DEBIAN-10 INSTALL IMAGE ==
  
 
* Create a virtual hard disc once:
 
* Create a virtual hard disc once:
  qemu-img create -f qcow2 hdd.img 30G
+
  qemu-img create -f qcow2 hdd.img 50G
 
* download a Linux install image, e.g.
 
* download a Linux install image, e.g.
** for debian: https://cdimage.debian.org/cdimage/ports/9.0/hppa/iso-cd/debian-9.0-hppa-NETINST-1.iso
+
** for debian: https://cdimage.debian.org/cdimage/ports/10.0/hppa/iso-cd/debian-10.0-hppa-NETINST-1.iso
 
** for gentoo: http://distfiles.gentoo.org/releases/hppa/autobuilds/
 
** for gentoo: http://distfiles.gentoo.org/releases/hppa/autobuilds/
* Run the installer:
+
* Start emulator with the installer image once:
  ./hppa-softmmu/qemu-system-hppa -drive file=hdd.img -drive file=debian-9.0-hppa-NETINST-1.iso,media=cdrom -boot order=d -nographic -serial mon:stdio  
+
  ./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
 +
 
 +
TODO:
 +
* Boot-cd should boot the 32-bit SMP kernel by default
 +
* Make debian-installer install the 32-bit SMP kernel on QEMU (if started with multiple CPUs)
 +
* Installer: (1 of 2) A start job is running for font and keyboard layout (1min 10s / no limit)
 +
 
 +
 
  
 
Possible qemu options:
 
Possible qemu options:
Line 40: Line 66:
 
* -device VGA      - provide PCI VGA graphic card
 
* -device VGA      - provide PCI VGA graphic card
  
Other examples:
+
== qemu notes ==
  ./hppa-softmmu/qemu-system-hppa  -drive file=hdd.img  -drive file=debian-8.0-hppa-NETINST-1.iso,media=cdrom -nographic  -serial mon:stdio
+
 
  ./hppa-softmmu/qemu-system-hppa  -cdrom debian-8.0-hppa-NETINST-1.iso -nographic  -serial mon:stdio
+
* Prefer the e1000 driver over the rtl8129 card. The latter gives irq issues with Dino emulation.
  ./hppa-softmmu/qemu-system-hppa  -device virtio-scsi-pci,id=scsi -drive file=debian-8.0-hppa-NETINST-1.iso,if=scsi,media=cdrom,bus=0  -nographic  -serial mon:stdio
+
  ./hppa-softmmu/qemu-system-hppa  -device lsi53c895a,id=scsi      -drive file=debian-8.0-hppa-NETINST-1.iso,if=scsi,media=cdrom,bus=0  -nographic  -serial mon:stdio
+

Revision as of 20:00, 17 October 2018

Contents

QEMU SUPPORT STATUS REGARDING HPPA / PARISC

As of April 2018, starting with qemu version 2.12, qemu fully supports hppa user emulation (hppa-linux-user) and hppa system emulation (qemu-system-hppa).

All necessary changes to qemu have been merged into qemu upstream git repository at:

During development, Richard Henderson developed the hppa related patches in his qemu git tree at:

For hppa system emulation, qemu already includes a precompiled firmware for hppa (pc-bios/hppa-firmware.img).

This firmware is based on seabios and is available in Helge Deller's SeaBIOS git tree:

HOW TO BUILD QEMU FROM SOURCE

  • checkout 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"

PRE-INSTALLED AND READY-TO-RUN QEMU IMAGE

./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"

EXAMPLE HOW TO RUN QEMU WITH DEBIAN-10 INSTALL IMAGE

  • Create a virtual hard disc once:
qemu-img create -f qcow2 hdd.img 50G
./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

TODO:

  • Boot-cd should boot the 32-bit SMP kernel by default
  • Make debian-installer install the 32-bit SMP kernel on QEMU (if started with multiple CPUs)
  • Installer: (1 of 2) A start job is running for font and keyboard layout (1min 10s / no limit)


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

qemu notes

  • Prefer the e1000 driver over the rtl8129 card. The latter gives irq issues with Dino emulation.
Personal tools