#qemu

canoodle@nerdpol.ch

GNU Linux - how to migrate vm from virtualbox to kvm qemu - convert virtualbox vdi disk image to kvm qcow2 format

# if the user wants to be converted from VirtualBox to kvm # 1. first clone the VirtualBox vm into a new vm (to consolidate all snapshots into one vdi # 2. convert file format qemu-img convert -f vdi -O qcow2 virtualbox.vm.vdi[...]

#linux #gnu #gnulinux #opensource #administration #sysops #kvm #virtualization #qemu #gnu-linux

Originally posted at: https://dwaves.de/2022/03/02/gnu-linux-how-to-migrate-vm-from-virtualbox-to-kvm-qemu-convert-virtualbox-vdi-disk-image-to-kvm-qcow2-format/

canoodle@nerdpol.ch

GNU Linux Debian 11 - Gnome Boxes - an Open Source VirtualBox replacement?

In search for alternatives, decided to test drive “gnome boxes“, which is said, to be an easy-going gui for the libvirt qemu virtualization system.

<span style="color: #00ffff;">lsb_release -d</span>; # tested on
Description:    Debian GNU/Linux 11 (bullseye)

<span style="color: #00ffff;">su - root
apt update
</span># with MATE Desktop (Gnome2) it's actually only 175MBytes that needs to be downloaded<span style="color: #00ffff;">
apt install gnome-boxes
apt show gnome-boxes</span>
Package: gnome-boxes
Version: 3.38.2-1
Priority: optional
Section: gnome
Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
Installed-Size: 7,140 kB
Depends: genisoimage, libosinfo-bin, libvirt-daemon, tracker (>= 2.0), dconf-gsettings-backend | gsettings-backend, libarchive13 (>= 3.1.2), libc6 (>= 2.7), libcairo2 (>= 1.6.0), libfreerdp2-2 (>= 2.0.0~git20160317.1.75ae3f5+dfsg1), libgdk-pixbuf-2.0-0 (>= 2.25.2) | libgdk-pixbuf2.0-0 (>= 2.25.2), libglib2.0-0 (>= 2.52.0), libgtk-3-0 (>= 3.22.20), libgtk-vnc-2.0-0 (>= 0.5.1), libgtksourceview-4-0 (>= 2.91.4), libgudev-1.0-0 (>= 165), libhandy-0.0-0 (>= 0.0.11), libosinfo-1.0-0 (>= 1.4.0~), libpango-1.0-0 (>= 1.14.0), libsecret-1-0 (>= 0.7), libsoup2.4-1 (>= 2.44), libspice-client-glib-2.0-8 (>= 0.35), libspice-client-gtk-3.0-5 (>= 0.32), libtracker-sparql-2.0-0 (>= 0.10.0), libusb-1.0-0 (>= 2:1.0.8), libvirt-glib-1.0-0 (>= 3.0.0), libvte-2.91-0 (>= 0.40.2), libwebkit2gtk-4.0-37 (>= 2.26), libwinpr2-2 (>= 2.0.0~git20160317.1.75ae3f5+dfsg1), libxml2 (>= 2.7.8)
Recommends: qemu-system-x86
Breaks: libspice-server1 (<< 0.12.5-1.1~)
Homepage: <a href="https://wiki.gnome.org/Apps/Boxes">https://wiki.gnome.org/Apps/Boxes</a>
Tag: admin::virtualization, hardware::emulation, implemented-in::python,
 implemented-in::vala, interface::graphical, interface::x11,
 role::program, scope::application, suite::gnome, suite::openstack,
 system::cloud, system::virtual, uitoolkit::gtk, use::simulating,
 use::viewing, x11::application
Download-Size: 1,085 kB
APT-Manual-Installed: yes
APT-Sources: <a href="http://ftp.halifax.rwth-aachen.de/debian">http://ftp.halifax.rwth-aachen.de/debian</a> bullseye/main amd64 Packages
Description: Simple GNOME app to access remote or virtual systems

 GNOME Boxes is a desktop client to view or use local virtual machines,

 remote physical machines, or remote virtual machines.

Boxes is intentionally simple and easy to use.

Hardware virtualization is required to use local virtual machines.

as minimalistic as the description is the gui:

indeed nothing against a bit of gui minimalism…

kvm is developed by Redhat… that’s why it is right there on top… but there is more for “easy” or “instant” install…

would have been nice, if the disk size can be directly entered in numbers as well…

also a checkbox for “thin provisioning” would have been nice

but it definately works

the vm properties tab, might be a bit too minimalistic… when changing vm settings afterwards, the user will have to rely on the user’s xml editing skillz ;-p

this isa nicely done overview screen… showing real time thumbnails of the all vm’s current desktop…

when almost finished installing Debian 11… gnome boxes skips the “where to install grub” screen and reports “debian 11 is ready to use”

but it won’t boot X-D

just in case if the cursor is “stuck” it can be released by hitting Ctrl+Alt

the gui minimalism is a nice try, but gnome-boxes got some quality issues there, not ready for use with Debian, not ready to replace redhat’s kvm’s excellent virtmanager, which works flawless under GNU Linux Debian and has way more settings to modify vms

https://dwaves.de/2020/12/05/gnu-linux-debian-10-how-to-install-kvm-virtualization-qemu-basic-virsh-commands-kvm-cheat-sheed/

#linux #gnu #gnulinux #opensource #administration #sysops #gnome #boxes #virtualbox #kvm #virtual #vm #virtualization #qemu

Originally posted at: https://dwaves.de/2022/05/10/gnu-linux-debian-11-gnome-boxes-an-open-source-virtualbox-replacement/

mileon@nerdpol.ch

ARCHLINUX NEWS

QEMU >= 7.0.0 changes split package setup

2022-05-09 - David Runge

With the update to qemu 7.0.0 the package has been turned into a more fine grained split package utilizing meta packages.

The qemu package is now virtually provided by the meta packages qemu-base, qemu-desktop and qemu-full.
The functionality of qemu prior to 7.0.0 is replaced by qemu-desktop
The functionality of qemu-headless is replaced by qemu-base
The functionality of qemu-arch-extra and qemu-headless-arch-extra is replaced by qemu-emulators-full
The meta package qemu-full provides all QEMU related packages (excluding qemu-guest-agent)

https://archlinux.org/news/qemu-700-changes-split-package-setup/

#archlinux #QEMU #news

bkoehn@diaspora.koehn.com

Tried an interesting experiment this morning where I built an #amd64/#arm64 #Docker image of Diaspora, which heretofore had always been just an amd64 image. Building this on an arm64 laptop meant that all the amd64 stuff took place in (quite slow) #qemu emulation. Here are the timings for the two builds, which #BuildKit runs in parallel. You can see the commands and architectures, and how long each took to run:

➜  diaspora git:(master) ✗ ./build          
[+] Building 4636.0s (35/35) FINISHED                                                                                                                            
 => [internal] load build definition from Dockerfile                                                                                                        0.0s
 => => transferring dockerfile: 2.65kB                                                                                                                      0.0s
 => [internal] load .dockerignore                                                                                                                           0.0s
 => => transferring context: 96B                                                                                                                            0.0s
 => [linux/arm64 internal] load metadata for docker.io/library/debian:buster-slim                                                                           0.6s
 => [linux/amd64 internal] load metadata for docker.io/library/debian:buster-slim                                                                           0.6s
 => CACHED [linux/amd64 build 1/9] FROM docker.io/library/debian:buster-slim@sha256:544c93597c784cf68dbe492ef35c00de7f4f6a990955c7144a40b20d86a3475f        0.0s
 => => resolve docker.io/library/debian:buster-slim@sha256:544c93597c784cf68dbe492ef35c00de7f4f6a990955c7144a40b20d86a3475f                                 0.0s
 => [internal] load build context                                                                                                                           0.0s
 => => transferring context: 389B                                                                                                                           0.0s
 => CACHED [linux/arm64 build 1/9] FROM docker.io/library/debian:buster-slim@sha256:544c93597c784cf68dbe492ef35c00de7f4f6a990955c7144a40b20d86a3475f        0.0s
 => => resolve docker.io/library/debian:buster-slim@sha256:544c93597c784cf68dbe492ef35c00de7f4f6a990955c7144a40b20d86a3475f                                 0.0s
 => [linux/amd64 stage-1 2/5] RUN adduser --gecos "" --disabled-login --home /home/diaspora diaspora                                                        0.6s
 => [linux/arm64 stage-1 2/5] RUN adduser --gecos "" --disabled-login --home /home/diaspora diaspora                                                        0.2s
 => [linux/arm64 build 2/9] COPY run_as_diaspora.sh /run_as_diaspora.sh                                                                                     0.0s
 => [linux/amd64 build 2/9] COPY run_as_diaspora.sh /run_as_diaspora.sh                                                                                     0.0s
 => [linux/arm64 build 3/9] RUN mkdir -p /usr/share/man/man1     && mkdir -p /usr/share/man/man7                                                            0.1s
 => [linux/amd64 build 3/9] RUN mkdir -p /usr/share/man/man1     && mkdir -p /usr/share/man/man7                                                            0.1s
 => [linux/arm64 build 4/9] RUN apt-get update &&  apt-get install -y -qq  cmake  postgresql-client  build-essential  libgmp-dev  libssl-dev  libcurl4-op  55.2s
 => [linux/amd64 build 4/9] RUN apt-get update &&  apt-get install -y -qq  cmake  postgresql-client  build-essential  libgmp-dev  libssl-dev  libcurl4-o  309.0s
 => [linux/arm64 build 5/9] RUN adduser --gecos "" --disabled-login --home /home/diaspora diaspora                                                          0.2s 
 => [linux/arm64 build 6/9] COPY compose/diaspora.yml.example /diaspora.yml                                                                                 0.0s
 => [linux/arm64 build 7/9] RUN su diaspora -c '/run_as_diaspora.sh'                                                                                      614.1s
 => [linux/amd64 build 5/9] RUN adduser --gecos "" --disabled-login --home /home/diaspora diaspora                                                          0.8s
 => [linux/amd64 build 6/9] COPY compose/diaspora.yml.example /diaspora.yml                                                                                 0.0s
 => [linux/amd64 build 7/9] RUN su diaspora -c '/run_as_diaspora.sh'                                                                                     3765.4s
 => [linux/arm64 build 8/9] RUN rm -rf /home/diaspora/diaspora/.git            /home/diaspora/.gnupg            /home/diaspora/diaspora/vendor/bundle/ruby  0.6s 
 => [linux/arm64 build 9/9] COPY startup.sh startup-lighttpd.sh /home/diaspora/                                                                             0.0s 
 => [linux/arm64 stage-1 3/5] COPY --chown=diaspora:diaspora --from=build /home/diaspora /home/diaspora                                                     3.7s 
 => [linux/arm64 stage-1 4/5] RUN apt-get update &&     apt-get install -yqq         postgresql-client         imagemagick         libyaml-0-2         li  66.6s 
 => [linux/arm64 stage-1 5/5] WORKDIR /home/diaspora                                                                                                        0.1s 
 => [linux/amd64 build 8/9] RUN rm -rf /home/diaspora/diaspora/.git            /home/diaspora/.gnupg            /home/diaspora/diaspora/vendor/bundle/ruby  0.6s 
 => [linux/amd64 build 9/9] COPY startup.sh startup-lighttpd.sh /home/diaspora/                                                                             0.0s 
 => [linux/amd64 stage-1 3/5] COPY --chown=diaspora:diaspora --from=build /home/diaspora /home/diaspora                                                     2.3s 
 => [linux/amd64 stage-1 4/5] RUN apt-get update &&     apt-get install -yqq         postgresql-client         imagemagick         libyaml-0-2         l  121.3s 
 => [linux/amd64 stage-1 5/5] WORKDIR /home/diaspora                                                                                                        0.1s 
 => exporting to image                                                                                                                                    432.9s 
 => => exporting layers                                                                                                                                    22.8s 
 => => exporting manifest sha256:5c3109ef5d47350be207113c3dd037221932180f0f0374cfbec992b13f739968                                                           0.0s 
 => => exporting config sha256:e985585531e41253882bd21211a415dbd1a8d1d074ee71018b49273ab29be3bd                                                             0.0s 
 => => exporting manifest sha256:eea973c274f1be5708a580f9b681ab496877b27a25319e2d21049cd01fc84c5f                                                           0.0s 
 => => exporting config sha256:ce33e251e6f0e332163507d4498e3c7cd4a2c795e17b1aa6f537a035add446f1                                                             0.0s 
 => => exporting manifest list sha256:f299453f87d034fb6d971677e24a41d2bfe07c065affdc6e63cd08306ca6df0c                                                      0.0s
 => => pushing layers                                                                                                                                     408.7s
 => => pushing manifest for docker.io/koehn/diaspora:latest@sha256:f299453f87d034fb6d971677e24a41d2bfe07c065affdc6e63cd08306ca6df0c                         1.3s
 => [auth] koehn/diaspora:pull,push token for registry-1.docker.io                                                                                          0.0s
 => [auth] koehn/diaspora:pull,push token for registry-1.docker.io                                                                                          0.0s
 => [auth] koehn/diaspora:pull,push token for registry-1.docker.io                                                                                          0.0s
The push refers to repository [docker.io/koehn/diaspora]