Jump to content

QEMU ARM (qemu-vexpress): Difference between revisions

From postmarketOS Wiki
add usage notes, update the article in general
Knuxify (talk | contribs)
add type=vm
 
(18 intermediate revisions by 12 users not shown)
Line 1: Line 1:
{{note|CPU emulation is slow! Consider using [[Qemu-amd64-(QEMU-for-x86_64)|qemu-amd64]] instead if <code>x86_64</code> is your native architecture.}}
{{note|See [[:Category:QEMU]] for usage instructions. This page only contains information specific to the qemu-vexpress port... and it isn't included (anymore) in pmaports. Consider using one of the others instead.}}
This device is used to emulate an ARM Versatile Express for Cortex-A9. Vexpress (Versatile Express) is the reference architecture from the ARM Foundation. It simulates the armv7 architecture and a lot of other hardware (like graphics hardware). QEMU supports many other ARM architectures (see <code>qemu-system-arm -machine help</code>).
 
{{Infobox device
| manufacturer = QEMU
| name = vexpress
| codename = qemu-vexpress
| architecture = armv7
| type = vm
| status_usbnet = -
| status_flashing = -
| status_touch = -
| status_screen = Y
| status_wifi = -
| status_xwayland = Y
| status_fde =
| status_mainline = Y
| status_battery = -
| status_3d = Y
| status_accel = -
| status_audio =
| status_bluetooth = -
| status_camera = -
| status_gps = -
| status_mobiledata = -
| status_sms = -
| status_calls = -
| booting = no
}}


=== Contributors ===
=== Contributors ===
* MartijnBraam
* MartijnBraam
* mmaret
* mmaret
* ollieparanoid


=== Usage ===
=== Usage ===
<syntaxhighlight lang="shell-session">
<syntaxhighlight lang="shell-session">
$ pmbootstrap init  # Choose device "qemu-vexpress"
$ pmbootstrap init  # Choose device "qemu-vexpress"
$ pmbootstrap install --no-fde
$ pmbootstrap install
$ pmbootstrap qemu --image-size=2G --display=gtk
$ pmbootstrap qemu --image-size=2G --display=gtk --arch=arm
</syntaxhighlight>
</syntaxhighlight>


Using the <code>--display=gtk</code> parameter is recommended. The default display, SDL, will show two windows (of which one is unused) and you won't be able to look at the serial output.
Using the <code>--display=gtk</code> parameter is recommended. The default display, SDL, will show two windows (of which one is unused) and you won't be able to look at the serial output. In the GTK interface, click on ''View / Show Tabs'' to display all available outputs as tabs next to each other. Check the <code>serial0</code> output for what it is actually doing as the boot will probably take a few minutes, unless you have a very fast PC.


=== What works ===
=== What works ===
* Compilation of kernel, system and initramfs
* Serial output
* Storage
* Storage
* Network
* Network
Line 22: Line 49:
=== What does not work ===
=== What does not work ===
* '''Keyboard and mouse'''
* '''Keyboard and mouse'''
* Qemu 2.0.0 is too old (but it's known to be working with 2.6.50)[https://github.com/postmarketOS/pmbootstrap/pull/1029#issuecomment-353819587]
* QEMU 2.0.0 is too old (but it's known to be working with 2.6.50)[https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/merge_requests/1029#note_85243928]


=== Notes ===
=== Notes ===
Line 37: Line 64:


=== See also ===
=== See also ===
* [[common Qemu notes]]
* [[QEMU]]

Latest revision as of 09:06, 25 March 2025

Note See Category:QEMU for usage instructions. This page only contains information specific to the qemu-vexpress port... and it isn't included (anymore) in pmaports. Consider using one of the others instead.
This device is marked as not booting.
QEMU vexpress
Manufacturer QEMU
Name vexpress
Codename qemu-vexpress
Type vm
Hardware
Architecture armv7
postmarketOS
Category testing
Pre-built images no
Mainline yes


Contributors

  • MartijnBraam
  • mmaret
  • ollieparanoid

Usage

$ pmbootstrap init  # Choose device "qemu-vexpress"
$ pmbootstrap install
$ pmbootstrap qemu --image-size=2G --display=gtk --arch=arm

Using the --display=gtk parameter is recommended. The default display, SDL, will show two windows (of which one is unused) and you won't be able to look at the serial output. In the GTK interface, click on View / Show Tabs to display all available outputs as tabs next to each other. Check the serial0 output for what it is actually doing as the boot will probably take a few minutes, unless you have a very fast PC.

What works

  • Serial output
  • Storage
  • Network

What does not work

  • Keyboard and mouse
  • QEMU 2.0.0 is too old (but it's known to be working with 2.6.50)[1]

Notes

  • It boots only if you specify a separate -dtb flag, it doesn't use the dtb attached to the kernel (but pmbootstrap calls it right).

Links

Screenshot

  • QEMU unlock screen


  • QEMU running weston

See also