Jump to content

QEMU: Difference between revisions

From postmarketOS Wiki
No edit summary
update information to https://gitlab.com/postmarketOS/pmbootstrap/merge_requests/1612
Line 1: Line 1:
{{note|Right now we use the QEMU version installed on the host system, but we want to change that: {{github|1158}}}}
=== Building and starting a QEMU image ===
=== Building and starting a QEMU image ===


<pre class="shell">pmbootstrap init  # Choose a qemu-* device (x86_64: amd64, arm: vexpress-soc)
<syntaxhighlight lang="shell-session">
pmbootstrap install --no-fde
$ pmbootstrap init  # Choose a qemu-* device (x86_64: amd64, arm: vexpress-soc)
pmbootstrap qemu --image-size=2G</pre>
$ pmbootstrap install --no-fde
$ pmbootstrap qemu --image-size=2G
</syntaxhighlight>
 
''Note: The <code>amd64</code> version is recommended if you don't know which one to choose. See the device specific pages (links below) for the differences.''
''Note: The <code>amd64</code> version is recommended if you don't know which one to choose. See the device specific pages (links below) for the differences.''


The <code>--image-size=2G</code> parameter will increase the image size to 2GB, so you don't instantly run out of space (by default the image size is as small as possible). Check out <code>pmbootstrap qemu --help</code> for more options, such as performance tweaks.
The <code>--image-size=2G</code> parameter will increase the image size to 2GB, so you don't instantly run out of space (by default the image size is as small as possible). Check out <code>pmbootstrap qemu --help</code> for more options, such as performance tweaks.


=== Qemu on Debian stretch ===
=== Qemu on Debian stretch ===
{{note|This is only needed if you want to use <code>--host-qemu</code>, otherwise Alpine's QEMU will be used.}}
{{note|This also applies to '''Ubuntu''' Artful and below, Bionic likely will not have it enabled either - [https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1553999 Launchpad bug.]}}
{{note|This also applies to '''Ubuntu''' Artful and below, Bionic likely will not have it enabled either - [https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1553999 Launchpad bug.]}}


Line 23: Line 25:


=== See also ===
=== See also ===
* [[QEMU_amd64_(qemu-amd64)|Qemu for x86_64]]
* [[QEMU_amd64_(qemu-amd64)|Qemu for x86_64]]
* [[QEMU_ARM_(qemu-vexpress)|Qemu for arm]]
* [[QEMU_ARM_(qemu-vexpress)|Qemu for arm]]
* [[QEMU_aarch64_(qemu-aarch64)|Qemu for aarch64]]
* [[QEMU_aarch64_(qemu-aarch64)|Qemu for aarch64]]
* [[Troubleshooting:QEMU]]
* {{MR|1612}} Use Alpine's QEMU rather than host system QEMU

Revision as of 19:43, 28 August 2018

Building and starting a QEMU image

$ pmbootstrap init  # Choose a qemu-* device (x86_64: amd64, arm: vexpress-soc)
$ pmbootstrap install --no-fde
$ pmbootstrap qemu --image-size=2G

Note: The amd64 version is recommended if you don't know which one to choose. See the device specific pages (links below) for the differences.

The --image-size=2G parameter will increase the image size to 2GB, so you don't instantly run out of space (by default the image size is as small as possible). Check out pmbootstrap qemu --help for more options, such as performance tweaks.

Qemu on Debian stretch

Note This is only needed if you want to use --host-qemu, otherwise Alpine's QEMU will be used.
Note This also applies to Ubuntu Artful and below, Bionic likely will not have it enabled either - Launchpad bug.

Qemu on Debian does not include SDL-support by default. To use pmbootstrap on Debian you have to do the following:

  1. Ensure that /etc/apt/sources.list contains a deb-src line for Debian buster or later.
  2. sudo apt-get build-dep libvirglrenderer-dev/buster (install build dependencies for libvirglrenderer)
  3. fakeroot apt-get -b source libvirglrenderer-dev/buster (download and build libvirglrenderer)
  4. sudo dpkg -i libvirglrenderer0_0.6.0-2_amd64.deb libvirglrenderer-dev_0.6.0-2_amd64.deb (install it)
  5. sudo apt-get build-dep qemu/buster
  6. fakeroot apt-get -b source qemu/buster
  7. Install the appropriate qemu Debian packages which have been created in the current directory.

See also