[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
howtos:emulators:libvirt_qemu_manage_install [2023/12/18 18:17 (UTC)] – [Preliminaries] zeebrahowtos:emulators:libvirt_qemu_manage_install [2023/12/19 08:57 (UTC)] (current) – [Packages, dependencies, order] zeebra
Line 28: Line 28:
   * vde support: NO\\   * vde support: NO\\
   * usb net redir: NO\\   * usb net redir: NO\\
 +  * slirp support: NO (since QEMU 7.2)\\
 +
  
 libvirt says: libvirt says:
Line 49: Line 51:
 ===== Methodology (read this carefully) ===== ===== Methodology (read this carefully) =====
  
-  - You CAN use "make install" or equivalent if you want (maybe "DESTDIR=/opt install" if you want to install directly in /opt), but for ease and stages, use the above method instead. ([[howtos:slackware_admin:building_a_package]]) +  - The norm for Slackware is to build packages as root on a disposable machine installation (for example a virtual machine, or a build computer) 
-  - This guide is using /opt/root/build for user (with user read/write access) - you could/should use /home/user/build  (simply replace all "/opt/root" in the steps of this guide with "/home/user" <-- where "user" is your username) +  - This guide uses /opt/root/build directory and /opt/fakeroot as build destination (make DESTDIR=) 
-  - This guide is using /opt/fakeroot for root and DESTDIR for packaging - you could use that or another root only writable directory (root root 755). If you're unsure, use /opt/fakeroot so you can follow step-by-step.+  - Double check this article to know what you are doing: [[howtos:slackware_admin:building_a_package | Building a Slackware package]] 
 +  - This guide assumes you use the same methods 
 +  - This guide uses user for make and root for make install
   - Whenever it says "(as ROOT)" you must continue in the same folder you were in (su)   - Whenever it says "(as ROOT)" you must continue in the same folder you were in (su)
   - Whenever it says "(as USER)" or "(as ROOT)", it is a note, there are also some other notes in (paranthesis) inside code brackets   - Whenever it says "(as USER)" or "(as ROOT)", it is a note, there are also some other notes in (paranthesis) inside code brackets
-  - As this guide moves on, it will repeat less and less assumed details (see stage1 for most details) 
-<note tip>It is possible to do the whole process (except installpkg, ps. not tested..) as user and install into a user "fakeroot", but you MUST ensure correct owner, group, permissions after. Do so at your own risk if you know what you're doing. If you can you probably should. But for ease and safety this guide does not.</note> 
-<note>It is not appropriate to package in stages, but much easier for this guide and for installing the packages later, including in another Slackware 15 installation. It's fine for personal use.</note> 
  
-===A few things to consider before proceeding:=== +<note tip>It is possible to do the whole process (except installpkgps. not tested..as user and install into a user "fakeroot", but you MUST ensure correct owner, grouppermissions after with chown/chgrp -R /dir/fakeroot afterDo so at your own risk if you know what you're doingIf you are on a non-disposable environment you probably shouldBut for ease and safety this guide does not.</note> 
-  * Audit support (general) - if you habitually use this and/or might need itbetter to do it now before kvm/qemu/libvirt + 
-  * Gstreamer codecs (spice- libav and gst-plugins-ugly supportbetter to deal with general codec stuff before qemu/spice etc, in particular those 2 +<note>Since there are quite alot of packages here, I can't be bothered to package them 1 and 1, so I rather package them together in "stages", based on dependencies. It's much easier to do and deploy, but you can package them individually. </note> 
-     * https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.18.5.tar.xz +
-     * https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.18.5.tar.xz +
-  * Compiling Qemu with only the machines you need (unless you need alot of exotic CPU emulation and/or cross-compilation)+
 \\ \\
 +
 +===== Packages, dependencies, order =====
 +
 +<note important>The below are just links to the project download pages and an overview of the build order. These versions have not been tested, but are all the dependencies of QEMU with libvirt and virt-manager. You just have to build them roughly in this order and you're good to go. </note>
 +
 +^ Stage 1                 ^ Stage 2       ^ Stage 3          ^ Stage 4  ^ Stage 5 ^ Stage 6 ^
 +| [[https://gitlab.com/libosinfo/libosinfo/-/tags | libosinfo]] | [[https://github.com/dgibson/dtc/tags | dtc ]] | [[https://download.libvirt.org/ | libvirt ]] | [[https://gitlab.com/libvirt/libvirt-glib/-/tags | libvirt-glib]] | [[https://www.qemu.org/download/ | QEMU ]] | [[https://virt-manager.org/download.html | virt-manager]] |
 +| [[https://gitlab.com/libosinfo/osinfo-db-tools/-/tags |osinfo-db-tools]] | [[https://github.com/sahlberg/libnfs/tags | libnfs]] | | [[https://github.com/libvirt/libvirt-python/tags | libvirt-python ]] |
 +| [[https://gitlab.com/spice/spice-protocol/-/tags | spice-protocol]] | [[https://gitlab.com/libosinfo/osinfo-db/-/tags | osinfo-db ]] | | [[https://download.gnome.org/sources/gtk-vnc/ | gtk-vnc ]] |
 +|  | [[https://github.com/numactl/numactl/releases | numactl ]] | | [[https://www.spice-space.org/download/gtk/ | spice-gtk ]] |
 +|  | [[https://www.spice-space.org/download/releases/spice-server/ | spice-server]] | | [[https://gitlab.freedesktop.org/slirp/libslirp | libslirp]] |
 +|  | [[https://gitlab.com/spice/usbredir/-/tags | usbredir]] | |
 +|  | [[https://github.com/virtualsquare/vde-2/releases | vde-2 ]] | |
 +|  | [[https://gitlab.freedesktop.org/virgl/virglrenderer/-/releases | virglrenderer ]] | |
 +|  | [[https://github.com/lloyd/yajl/tags | yajl ]] | |
  
 ===== Building, packaging, installing ===== ===== Building, packaging, installing =====
Line 95: Line 109:
  
 == Process 1 ==  == Process 1 == 
-Note. "meson configure" is optional\\ +**libosinfo-v1.11.0**
-**libosinfo-v1.9.0**+
 <code> <code>
 (as USER) (as USER)
-cd libosinfo-v1.9.0 +cd libosinfo-v1.11.0 
-meson configure+meson configure --prefix=/usr/local
 meson build meson build
 ninja -C build ninja -C build
 howtos:emulators:libvirt_qemu_manage_install ()