Qemu
Je emulátor systémů PC.
Gentoo host - hostitel
Nainstaluji pomocí balíku app-emulation/qemu . Pro pohodlnější používání
a lepší grafickou odezvu lze využít use flags spice, ssh, usbredir - toto s sebou
nainstaluje i klienta spicy pro připojení do grafiky spuštěného virtuálního systému.
Více informací o Qemu na:
Package.use:
/etc/portage/package.use/01balicky app-emulation/qemu spice ssh usbredir
Instalace:
sudo emerge -av app-emulation/qemu These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 3.60 s (backtrack: 0/20).
[ebuild R ] app-emulation/qemu-8.0.4::gentoo USE="aio alsa bzip2 curl doc fdt filecaps gnutls gtk jpeg ncurses nls opengl oss pam pin-upstream-blobs png sdl seccomp slirp spice ssh udev usb usbredir vhost-net vnc xattr -accessibility -bpf (-capstone) -debug -fuse -glusterfs -infiniband -io-uring -iscsi -jack -jemalloc -lzo -multipath -nfs -numa -plugins -pulseaudio -python -rbd -sasl -sdl-image (-selinux) -smartcard -snappy -static-user -systemtap -test -vde -virgl -virtfs -vte -xen -zstd" PYTHON_TARGETS="python3_11 -python3_10 (-python3_12)" QEMU_SOFTMMU_TARGETS="x86_64 -aarch64 -alpha -arm -avr -cris -hppa -i386 -loongarch64 -m68k -microblaze -microblazeel -mips -mips64 -mips64el -mipsel -nios2 -or1k -ppc -ppc64 -riscv32 -riscv64 -rx -s390x -sh4 -sh4eb -sparc -sparc64 -tricore -xtensa -xtensaeb" QEMU_USER_TARGETS="-aarch64 -aarch64_be -alpha -arm -armeb -cris -hexagon -hppa -i386 -loongarch64 -m68k -microblaze -microblazeel -mips -mips64 -mips64el -mipsel -mipsn32 -mipsn32el -nios2 -or1k -ppc -ppc64 -ppc64le -riscv32 -riscv64 -s390x -sh4 -sh4eb -sparc -sparc32plus -sparc64 -x86_64 -xtensa -xtensaeb" 0 KiB
Total: 1 package (1 reinstall), Size of downloads: 0 KiB
Would you like to merge these packages? [Yes/No]
Sdílená složka SMB
Je potřeba spustit qemu s parametry:
-net nic,model=virtio \
-net user,smb=/mnt/SDILENE \
Ve Windows nebo Linux je pak dostupná síťová složka \\10.0.2.4\qemu
bez nutnosti přihlašovacích údajů.
Přesměrování USB zařízení ve SPICE
Spustit qemu s parametry:
-device ich9-usb-ehci1,id=usb \
-device ich9-usb-uhci1,masterbus=usb.0,firstport=0,multifunction=on \
-device ich9-usb-uhci2,masterbus=usb.0,firstport=2 \
-device ich9-usb-uhci3,masterbus=usb.0,firstport=4 \
-chardev spicevmc,name=usbredir,id=usbredirchardev1 -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1 \
-chardev spicevmc,name=usbredir,id=usbredirchardev2 -device usb-redir,chardev=usbredirchardev2,id=usbredirdev2 \
-chardev spicevmc,name=usbredir,id=usbredirchardev3 -device usb-redir,chardev=usbredirchardev3,id=usbredirdev3 \
Zařízení pak budou dostuná v nabídce Input.
Windows guest - Windows v Qemu a spice
Grafická odezva je mnohem lepší s využitím spice , je k dispozici sdílená
schránka a nebo také přizpůsobení rozlišení obrazovky hosta. Je potřeba démonizovat
spuštění systému, definovat port pro zobrazení a to vše zohlednit při spouštění.
Spicy view
Spouštěcí skript se spicy nastavením grafiky:
Start-Windows.sh #!/usr/bin/env sh
SPICE_PORT=5924
sudo qemu-system-x86_64 \
-daemonize \
-m 6G \
-hda /mnt/DATA/Qemu/win/win-vos.qcow2 \
-net nic,model=virtio \
-net user,smb=/mnt/DATA \
-enable-kvm \
-machine q35 \
-device intel-iommu \
-cpu host \
-smp 4 \
-smbios type=0,uefi=on \
-bios /usr/share/edk2-ovmf/OVMF_CODE.fd \
-boot order=d \
-boot menu=on \
-device ich9-usb-ehci1,id=usb \
-device ich9-usb-uhci1,masterbus=usb.0,firstport=0,multifunction=on \
-device ich9-usb-uhci2,masterbus=usb.0,firstport=2 \
-device ich9-usb-uhci3,masterbus=usb.0,firstport=4 \
-chardev spicevmc,name=usbredir,id=usbredirchardev1 -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1 \
-chardev spicevmc,name=usbredir,id=usbredirchardev2 -device usb-redir,chardev=usbredirchardev2,id=usbredirdev2 \
-chardev spicevmc,name=usbredir,id=usbredirchardev3 -device usb-redir,chardev=usbredirchardev3,id=usbredirdev3 \
-device virtio-serial \
-chardev spicevmc,id=vdagent,name=vdagent \
-device virtserialport,chardev=vdagent,name=com.redhat.spice.0 \
-vga qxl \
-spice port=${SPICE_PORT},disable-ticketing=on \
"$@" &
exec spicy --title Windows 127.0.0.1 -p ${SPICE_PORT}
GNU/Linux Gentoo guest
Tak spouštím Gentoo společně se spice, SMB a přesměrováním portů:
#!/usr/bin/env sh
SPICE_PORT=5925
QEMU_DIR="/mnt/DATA/Qemu/gentoopva"
cd $QEMU_DIR
sudo qemu-system-x86_64 \
-daemonize \
-m 3G \
./gentoo-root.qcow2 \
-boot order=d \
-boot menu=on \
-enable-kvm \
-machine q35 \
-device intel-iommu \
-net nic,model=virtio \
-net user,hostfwd=tcp::20022-:22,hostfwd=tcp::8080-:8080,hostfwd=tcp::55432-:5432,smb=/mnt/DATA \
-cpu host \
-smp 4,sockets=1,cores=4,maxcpus=4 \
-device virtio-serial \
-chardev spicevmc,id=vdagent,name=vdagent \
-device virtserialport,chardev=vdagent,name=com.redhat.spice.0 \
-vga qxl \
-spice port=${SPICE_PORT},disable-ticketing=on \
"$@" &
exec spicy --title Gentoo-BOSS 127.0.0.1 -p ${SPICE_PORT}