Jump to content

QEMU amd64 (qemu-amd64)

From postmarketOS Wiki
Revision as of 14:03, 24 February 2023 by Ollieparanoid (talk | contribs) (update network section. I've considered shipping an /etc/network/interfaces file, but users still need to do "ifup eth0". I'll probably add a warning to pmbootstrap instead that points to this.)
QEMU amd64
QEMU running Phosh
QEMU running Phosh
Manufacturer QEMU
Name amd64
Codename qemu-amd64
Released 2003
Hardware
Chipset QEMU Standard PC
CPU QEMU Virtual
GPU Virgil 3D
Architecture x86_64
Software
Original software none
postmarketOS
Category main
Pre-built images yes
postmarketOS kernel 5.10 (LTS)
Features
Internal storage
No data
SD card
No data
Screen
Works
Multimedia
3D Acceleration
Works
Audio
Works
Camera Flash
No data
Miscellaneous
FDE
Works
HDMI/DP
No data
Sensors
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
No data
Haptics
No data
Barometer
No data


This device is used for testing purposes. It is possible to run postmarketOS in a x86_64 Virtual Machine.

Contributors

  • ollieparanoid
  • MartijnBraam
  • Minecrell
  • drebrez

Usage

First, install pmbootstrap.

$ pmbootstrap init  # Choose device "qemu-amd64"
$ pmbootstrap install
$ pmbootstrap qemu

See pmbootstrap qemu --help for more options. For example the default memory allocation is only 1024, which may not be enough for modern desktop environments.

Network

Qemu's user mode network stack is used. With all UIs except for none, postmarketOS should run a DHCP client on boot that automatically connects to QEMU's DNS server and as a result you should have network available. Note that ICMP (ping) may not work depending on your host (see QEMU's documentation for details).

If you selected none as user interface and don't have network, do one of the following:

a) Select the UI console instead. It is slightly bigger and will automatically start a DHCP client.

b) Use pmbootstrap install --add=networkmanager.

c) Run Alpine's setup tools in the TTY prompt to generate a /etc/network/interfaces file for ifupdown-ng and bring up eth0 manually:

$ sudo setup-interfaces
$ sudo ifup eth0

Audio

Audio is disabled by default. To enable audio, select an audio backend (usually pa for PulseAudio or alsa for ALSA), and pass:

$ pmbootstrap qemu --audio pa

Rootfs location

You could find postmarketOS rootfs image at ~/.local/var/pmbootstrap/chroot_native/home/pmos/rootfs .

What works

  • Storage
  • Network
  • Keyboard and mouse
  • Graphical interfaces (Weston, Plasma Mobile, ...)
  • osk-sdl
  • Audio

Screenshots

  • QEMU running weston

  • QEMU running Plasma Mobile

all is awesome the world is great

See also