Intelligente Lösungen
in neuer Dimension

Virtualisierung mit QEMU

Manchmal muß ich ein paar Tests mit Linux-Distributionen durchführen. Bislang habe ich dafür immer VirtualBox verwendet, das ist eine Art VMWARE-Verschnitt. Jetzt versuche ich mich mal an QEMU, eventuell ist das ja ähnlich gut!

Vorbereitungen

1
2
3
4
5
6
7
8
9
10
cd git/cloned
git clone  [email protected]:wimpysworld/quickemu.git

sudo -s

snap install qemu-virgil --edge
snap connect qemu-virgil:kvm
snap connect qemu-virgil:raw-usb
snap connect qemu-virgil:removable-media
exit

USB-Geräte ermitteln

1
2
3
4
5
6
7
8
9
10
11
12
13
$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 003: ID 04e8:61f3 Samsung Electronics Co., Ltd Portable SSD T3 (MU-PT250B, MU-PT500B)
Bus 003 Device 004: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
Bus 003 Device 002: ID 0bda:0411 Realtek Semiconductor Corp. 4-Port USB 3.0 Hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 004: ID 03f0:322a HP, Inc HP LaserJet Pro MFP M127fw
Bus 002 Device 007: ID 046a:b090 Cherry GmbH Keyboard
Bus 002 Device 006: ID 03f0:0941 HP, Inc X500 Optical Mouse
Bus 002 Device 005: ID 046d:081b Logitech, Inc. Webcam C310
Bus 002 Device 003: ID 0bda:5411 Realtek Semiconductor Corp. 4-Port USB 2.0 Hub
Bus 002 Device 002: ID 047f:0ca1 Plantronics, Inc. USB DSP v4 Audio Interface
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Wir wollen potentiell durchreichen:

  • die Webcam: 046d:081b
  • das Headset: 047f:0ca1

Erste Tests

  • Ubuntu-Server-ISO herunterladen und ablegen
  • Konfigurationsdatei anlegen: boot="legacy" guest_os="linux" iso="/media/$USER/Zwischenspeicher/iso/ubuntu-20.04-live-server-amd64.iso" disk_img="/media/$USER/Zwischenspeicher/tmp/focal-server-amd64.qcow2" disk=128G usb_devices=("046d:081b" "047f:0ca1")
  • Installation starten: ~/git/cloned/quickemu/quickemu --vm ubuntu-focal-server.conf “` Starting ubuntu-focal-server.conf
    • QEMU: /snap/bin/qemu-virgil v4.2.0
    • BOOT: Legacy BIOS
    • Guest: Linux optimised
    • Disk: /media/uli/Zwischenspeicher/tmp/focal-server-amd64.qcow2 (128G) Just created, booting from /media/uli/Zwischenspeicher/iso/ubuntu-20.04-live-server-amd64.iso
    • Boot: /media/uli/Zwischenspeicher/iso/ubuntu-20.04-live-server-amd64.iso
    • CPU: 2 Core(s)
    • RAM: 2G
    • Screen: 3200x1800
    • Video: virtio-vga
    • GL: ON
    • Virgil3D: ON
    • Display: SDL
    • smbd: /home/uli will be exported to the guest via smb://10.0.2.4/qemu
    • ssh: 22228/tcp is connected. Login via ‘ssh [email protected] -p 22228’
    • USB: Device pass-through requested:
              - Logitech, Inc. Webcam C310
              - Plantronics, Inc. USB DSP v4 Audio Interface
             Requested USB device(s) are NOT accessible.
             /tmp/tmp.7imOhT6pwl will be executed to enable access:
      

    #!/usr/bin/env bash chown root:uli /dev/bus/usb/002/005 chown root:uli /dev/bus/usb/002/002

    gl_version 45 – core profile enabled “`

Nach der Installation gibt es einige Auffälligkeiten:

  • Die Installation verbraucht ungewöhnlich viel Plattenplatz – erwartet: Max 1GB, verbraucht: Über 4GB $ ls -lh *qcow2 -rwxrwxrwx 1 uli uli 4,6G Jul 19 09:20 focal-server-amd64.qcow2 $ du -h *qcow2 4,6G focal-server-amd64.qcow2

Probleme

Installation verbraucht viel Plattenplatz

Erwartet: Max 1GB, verbraucht: Über 4GB

Ich habe das getestet auf:

  • exfat – 4.7 GB
  • ext4 – 4.7 GB

Disk kann nicht angelegt werden in /tmp/{unterverzeichnis}

1
2
3
4
5
6
7
Starting qemu-src/ubuntu-focal-server.conf
 - QEMU:     /snap/bin/qemu-virgil v4.2.0
 - BOOT:     Legacy BIOS
 - Guest:    Linux optimised
 - Disk:     /tmp/qemu-img/focal-server-amd64.qcow2 (128G)
qemu-img: /tmp/qemu-img/focal-server-amd64.qcow2: Could not create file: No such file or directory
ERROR! Failed to create /tmp/qemu-img/focal-server-amd64.qcow2

“qemu-virgil” ist ein SNAP-Paket. Innerhalb von “qemu-virgil” wird /tmp umgehängt!

/tmp im Snap entspricht /tmp/snap.qemu-virgil/tmp auf dem Host!

Links