Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changes between Version 17 and Version 18 of UsersGuide/RunningInQEMU


Ignore:
Timestamp:
2016-04-20T17:58:20Z (4 years ago)
Author:
Jakub Jermář
Comment:

Reorder subsections for better structure, add links, be more descriptive.

Legend:

Unmodified
Added
Removed
Modified
  • UsersGuide/RunningInQEMU

    v17 v18  
    1212It detects emulator options to use from the used HelenOS configuration (e.g. whether you built for `ia32` or `mips`) and starts the appropriate emulator. For some architectures, it also determines networking, sound, USB and disk options. See `./tools/ew.py -h` for more information. Please note that this ''does not work'' for the prebuilt [wiki:Download images].
    1313
    14 == Basics ==
    15 
    1614We are assuming a sufficiently recent version of QEMU, such as 2.5.0 and newer. Older versions may or may not work. You should be able to install a prepackaged version of QEMU from your distribution or you can build QEMU from scratch using a simple [browser:mainline/contrib/qemu/build-from-scratch.sh script] which comes with HelenOS sources:
    1715
     
    2018}}}
    2119
    22 === ia32 ===
     20== KVM ==
    2321
    24 {{{
    25 qemu-system-i386 -cdrom image.iso
    26 }}}
     22QEMU supports two modes of operation: binary translation and hardware virtualization. It uses [http://www.linux-kvm.org/page/Main_Page KVM] for the latter. If circumstances are right, it is possible to choose the second mode and benefit from better performance by appending the `-enable-kvm` option to the QEMU command lines below.
     23
     24In general, KVM can only be used, if the following criteria are met:
     25
     26  * KVM is supported by the host operating system, e.g. Linux
     27  * the host CPU supports hardware virtualization and this support is enabled in it
     28  * hardware virtualization is not already in use, i.e. there is no running instance of !VirtualBox or Xen
     29  * the guest and host CPUs are compatible (ia32 vs. amd64 is okay)
     30
     31== Basics ==
     32
     33The following subsections show the minimum QEMU command lines needed to run HelenOS on the respective QEMU machine. When spawned like this, the simulated QEMU machine may be missing some simulated hardware which in turn limits what you can do with the system. The next sections will show you how to configure additional hardware.
    2734
    2835=== amd64 ===
     
    3441=== arm32 ===
    3542
    36 QEMU can emulate Integrator/CP. For an `image.boot` built for '''arm32/integratorcp''' profile, do:
     43QEMU can emulate [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0159b/Cegeadbj.html ARM Integrator/CP]. For an `image.boot` built for '''arm32/integratorcp''' profile, do:
    3744
    3845{{{
     
    4047}}}
    4148
    42 === ppc32 ===
     49=== ia32 ===
    4350
    4451{{{
    45 qemu-system-ppc -cdrom image.iso -boot d
    46 }}}
    47 
    48 === sparc64 ===
    49 
    50 QEMU can emulate a sun4u machine somewhat similar to Ultra 5. For an `image.iso` built for the '''sparc64/ultra''' profile, do:
    51 
    52 {{{
    53 qemu-system-sparc64 -cdrom image.iso -boot d
     52qemu-system-i386 -cdrom image.iso
    5453}}}
    5554
    5655=== mips32 ===
    5756
    58 QEMU can emulate MIPS Malta and HelenOS has limited support for it.
     57QEMU can emulate [https://www.linux-mips.org/wiki/MIPS_Malta MIPS Malta] and HelenOS has limited support for it.
    5958
    6059For big-endian Malta, do:
     
    7170`image.boot` is the image built for the '''mips32/malte-be''' or '''mips32/malta-le''' profiles, respectively.
    7271
    73 == KVM ==
     72=== ppc32 ===
    7473
    75 QEMU supports two modes of operation: binary translation and hardware virtualization. It uses [http://www.linux-kvm.org/page/Main_Page KVM] for the latter. If circumstances are right, it is possible to choose the second mode and benefit from better performance by appending the `-enable-kvm` option to the QEMU command line.
     74{{{
     75qemu-system-ppc -cdrom image.iso -boot d
     76}}}
    7677
    77 In general, KVM can only be used, if the following criteria are met:
     78=== sparc64 ===
    7879
    79   * KVM is supported by the host operating system, e.g. Linux
    80   * the host CPU supports hardware virtualization and this support is enabled in it
    81   * hardware virtualization is not already in use, i.e. there is no running instance of !VirtualBox or Xen
    82   * the guest and host CPUs are compatible (ia32 vs. amd64 is okay)
     80QEMU can emulate a custom sun4u [http://qemu.weilnetz.de/qemu-doc.html#Sparc64-System-emulator machine]. For an `image.iso` built for the '''sparc64/ultra''' profile, do:
     81
     82{{{
     83qemu-system-sparc64 -cdrom image.iso -boot d
     84}}}
    8385
    8486== Serial ports ==