1
0
mirror of https://passt.top/passt synced 2024-12-22 21:55:22 +00:00

Invoke specific qemu-system-* binaries

A lot of tests and examples invoke qemu with the command "kvm".  However,
as far as I can tell, "kvm" being aliased to the appropriate qemu system
binary is Debian specific.  The binary names from qemu upstream -
qemu-system-$ARCH - also aren't universal, but they are more common (they
should be good for both Debian and Fedora at least).

In order to still get KVM acceleration when available, we use the option
"-M accel=kvm:tcg" to tell qemu to try using either KVM or TCG in that
order

A number of the places we invoked "kvm" are expecting specifically an x86
guest, and so it's also safer to explicitly invoke qemu-system-x86_64.

Some others appear to be independent of the target arch (just wanting the
same arch as the host to allow KVM acceleration).  Although I suspect there
may be more subtle x86 specific options in the qemu command lines, attempt
to preserve arch independence by using $(uname -m).

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
David Gibson 2022-07-06 17:28:58 +10:00 committed by Stefano Brivio
parent c4d8a77512
commit 7bcc5930a6
7 changed files with 43 additions and 34 deletions

View File

@ -616,16 +616,16 @@ NDP/DHCPv6:
UNIX domain socket bound at /tmp/passt_1.socket UNIX domain socket bound at /tmp/passt_1.socket
You can now start qrap: You can now start qrap:
./qrap 5 kvm ... -net socket,fd=5 -net nic,model=virtio ./qrap 5 qemu-system-x86_64 ... -net socket,fd=5 -net nic,model=virtio
or directly qemu, patched with: or directly qemu, patched with:
qemu/0001-net-Allow-also-UNIX-domain-sockets-to-be-used-as-net.patch qemu/0001-net-Allow-also-UNIX-domain-sockets-to-be-used-as-net.patch
as follows: as follows:
kvm ... -net socket,connect=/tmp/passt_1.socket -net nic,model=virtio qemu-system-x86_64 ... -net socket,connect=/tmp/passt_1.socket -net nic,model=virtio
.fi .fi
.BR " [From another terminal]" .BR " [From another terminal]"
.nf .nf
$ ./qrap 5 kvm test.qcow2 -m 1024 -display none -nodefaults -nographic -net socket,fd=5 -net nic,model=virtio $ ./qrap 5 qemu-system-x86_64 test.qcow2 -m 1024 -display none -nodefaults -nographic -net socket,fd=5 -net nic,model=virtio
Connected to /tmp/passt_1.socket Connected to /tmp/passt_1.socket
.fi .fi

View File

@ -103,7 +103,7 @@ nl
say back-end to passt's UNIX domain socket. say back-end to passt's UNIX domain socket.
sleep 2 sleep 2
hout VMLINUZ echo "/boot/vmlinuz-$(uname -r)" hout VMLINUZ echo "/boot/vmlinuz-$(uname -r)"
guest ../passt/qrap 5 kvm -m 4096 -cpu host -smp 4 -kernel __VMLINUZ__ -initrd passt.img -nographic -serial stdio -nodefaults -append "console=ttyS0 virtio-net.napi_tx=1" -device virtio-net-pci,netdev=hostnet0,x-txburst=16384 -netdev socket,fd=5,id=hostnet0 guest ../passt/qrap 5 qemu-system-x86_64 -enable-kvm -m 4096 -cpu host -smp 4 -kernel __VMLINUZ__ -initrd passt.img -nographic -serial stdio -nodefaults -append "console=ttyS0 virtio-net.napi_tx=1" -device virtio-net-pci,netdev=hostnet0,x-txburst=16384 -netdev socket,fd=5,id=hostnet0
sleep 10 sleep 10
nl nl

View File

@ -12,7 +12,7 @@
# Author: Stefano Brivio <sbrivio@redhat.com> # Author: Stefano Brivio <sbrivio@redhat.com>
temp PIDFILE temp PIDFILE
htools wget virt-edit guestfish head sed cat kill qemu-system-aarch64 qemu-system-ppc64 htools wget virt-edit guestfish head sed cat kill qemu-system-x86_64 qemu-system-aarch64 qemu-system-ppc64
# Quick pasta test: send message from init to ns, and from ns to init # Quick pasta test: send message from init to ns, and from ns to init
def distro_quick_pasta_test def distro_quick_pasta_test
@ -54,7 +54,7 @@ host guestfish --rw -a __IMG__ -i rm /etc/init.d/cloud-init
host guestfish --rw -a __IMG__ -i rm /etc/init.d/cloud-init-local host guestfish --rw -a __IMG__ -i rm /etc/init.d/cloud-init-local
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none -drive file=__IMG__,if=virtio -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none -drive file=__IMG__,if=virtio -net socket,fd=5 -net nic,model=virtio
host PS1='$ ' host PS1='$ '
sleep 2 sleep 2
host apt-get update host apt-get update
@ -81,7 +81,7 @@ host virt-edit -a __IMG__ /etc/systemd/system/getty.target.wants/getty@tty1.serv
host guestfish --rw -a __IMG__ -i rm /lib/systemd/system/serial-getty@.service host guestfish --rw -a __IMG__ -i rm /lib/systemd/system/serial-getty@.service
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio
host PS1='$ ' host PS1='$ '
sleep 2 sleep 2
host apt-get update host apt-get update
@ -105,7 +105,7 @@ host virt-edit -a __IMG__ /etc/systemd/system/getty.target.wants/getty@tty1.serv
host guestfish --rw -a __IMG__ -i rm /lib/systemd/system/serial-getty@.service host guestfish --rw -a __IMG__ -i rm /lib/systemd/system/serial-getty@.service
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio
host PS1='$ ' host PS1='$ '
sleep 2 sleep 2
host apt-get update host apt-get update
@ -193,7 +193,7 @@ host virt-edit -a __IMG__ /etc/systemd/system/getty.target.wants/getty@tty1.serv
host guestfish --rw -a __IMG__ -i rm /lib/systemd/system/serial-getty@.service host guestfish --rw -a __IMG__ -i rm /lib/systemd/system/serial-getty@.service
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio
sleep 2 sleep 2
host apt-get update host apt-get update
host apt-get -y install make gcc netcat-openbsd host apt-get -y install make gcc netcat-openbsd
@ -275,7 +275,7 @@ host virt-edit -a __IMG__ /etc/systemd/system/getty.target.wants/getty@tty1.serv
host guestfish --rw -a __IMG__ -i rm /lib/systemd/system/serial-getty@.service host guestfish --rw -a __IMG__ -i rm /lib/systemd/system/serial-getty@.service
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio
sleep 2 sleep 2
host apt-get update host apt-get update
host apt-get -y install make gcc netcat-openbsd host apt-get -y install make gcc netcat-openbsd

View File

@ -12,7 +12,7 @@
# Author: Stefano Brivio <sbrivio@redhat.com> # Author: Stefano Brivio <sbrivio@redhat.com>
temp PIDFILE temp PIDFILE
htools wget virt-edit guestfish head sed cat kill htools wget virt-edit guestfish head sed cat kill qemu-system-x86_64
# Quick pasta test: send message from init to ns, and from ns to init # Quick pasta test: send message from init to ns, and from ns to init
def distro_quick_pasta_test def distro_quick_pasta_test
@ -75,7 +75,7 @@ host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-init-local.se
host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio
host PS1='$ ' host PS1='$ '
sleep 2 sleep 2
host yum -y install make gcc nmap-ncat host yum -y install make gcc nmap-ncat
@ -105,7 +105,7 @@ host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-init-local.se
host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio
host PS1='$ ' host PS1='$ '
sleep 2 sleep 2
host yum -y install make gcc nmap-ncat host yum -y install make gcc nmap-ncat
@ -132,7 +132,7 @@ host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-init-local.se
host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio
host PS1='$ ' host PS1='$ '
sleep 2 sleep 2
host yum -y install make gcc nmap-ncat host yum -y install make gcc nmap-ncat
@ -187,7 +187,7 @@ host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-init-local.se
host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio
host PS1='$ ' host PS1='$ '
sleep 2 sleep 2
host yum -y install make gcc nmap-ncat host yum -y install make gcc nmap-ncat
@ -242,7 +242,7 @@ host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-init-local.se
host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio
host PS1='$ ' host PS1='$ '
sleep 2 sleep 2
host yum -y install make gcc nmap-ncat host yum -y install make gcc nmap-ncat
@ -297,7 +297,7 @@ host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-init-local.se
host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio
host PS1='$ ' host PS1='$ '
sleep 2 sleep 2
host yum -y install make gcc nmap-ncat host yum -y install make gcc nmap-ncat
@ -352,7 +352,7 @@ host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-init-local.se
host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio
host PS1='$ ' host PS1='$ '
sleep 2 sleep 2
host yum -y install make gcc nmap-ncat host yum -y install make gcc nmap-ncat
@ -407,7 +407,7 @@ host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-init-local.se
host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio
host PS1='$ ' host PS1='$ '
sleep 2 sleep 2
host yum -y install make gcc nmap-ncat host yum -y install make gcc nmap-ncat
@ -462,7 +462,7 @@ host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-init-local.se
host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio
host PS1='$ ' host PS1='$ '
sleep 2 sleep 2
host yum -y install make gcc nmap-ncat host yum -y install make gcc nmap-ncat
@ -517,7 +517,7 @@ host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-init-local.se
host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/cloud-final.service
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio
host PS1='$ ' host PS1='$ '
sleep 2 sleep 2
host yum -y install make gcc nmap-ncat host yum -y install make gcc nmap-ncat

View File

@ -12,7 +12,7 @@
# Author: Stefano Brivio <sbrivio@redhat.com> # Author: Stefano Brivio <sbrivio@redhat.com>
temp PIDFILE temp PIDFILE
htools wget virt-edit guestfish head sed cat kill kvm qemu-system-aarch64 xzcat tr htools wget virt-edit guestfish head sed cat kill qemu-system-x86_64 qemu-system-aarch64 xzcat tr
# Quick pasta test: send message from init to ns, and from ns to init # Quick pasta test: send message from init to ns, and from ns to init
def distro_quick_pasta_test def distro_quick_pasta_test
@ -51,7 +51,7 @@ host guestfish --rw -a __IMG__ -i rm /etc/systemd/system/default.target.wants/je
host virt-edit -a __IMG__ /etc/systemd/system/getty.target.wants/getty@tty1.service -e 's/ExecStart=.*/ExecStart=\/sbin\/agetty --timeout 5000 --autologin root -i -8 --keep-baud 115200,38400,9600 ttyS0 $TERM/g' host virt-edit -a __IMG__ /etc/systemd/system/getty.target.wants/getty@tty1.service -e 's/ExecStart=.*/ExecStart=\/sbin\/agetty --timeout 5000 --autologin root -i -8 --keep-baud 115200,38400,9600 ttyS0 $TERM/g'
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio
host PS1='$ ' host PS1='$ '
host ip link set eth0 up host ip link set eth0 up
sleep 2 sleep 2
@ -79,7 +79,7 @@ host guestfish --rw -a __IMG__ -i rm /etc/systemd/system/default.target.wants/je
host virt-edit -a __IMG__ /etc/systemd/system/getty.target.wants/getty@tty1.service -e 's/ExecStart=.*/ExecStart=\/sbin\/agetty --timeout 5000 --autologin root -i -8 --keep-baud 115200,38400,9600 ttyS0 $TERM/g' host virt-edit -a __IMG__ /etc/systemd/system/getty.target.wants/getty@tty1.service -e 's/ExecStart=.*/ExecStart=\/sbin\/agetty --timeout 5000 --autologin root -i -8 --keep-baud 115200,38400,9600 ttyS0 $TERM/g'
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio
host PS1='$ ' host PS1='$ '
host ip link set eth0 up host ip link set eth0 up
sleep 2 sleep 2
@ -104,7 +104,7 @@ host guestfish --rw -a __IMG__ -i rm /etc/systemd/system/default.target.wants/je
host virt-edit -a __IMG__ /etc/systemd/system/getty.target.wants/getty@tty1.service -e 's/ExecStart=.*/ExecStart=\/sbin\/agetty --timeout 5000 --autologin root -i -8 --keep-baud 115200,38400,9600 ttyS0 $TERM/g' host virt-edit -a __IMG__ /etc/systemd/system/getty.target.wants/getty@tty1.service -e 's/ExecStart=.*/ExecStart=\/sbin\/agetty --timeout 5000 --autologin root -i -8 --keep-baud 115200,38400,9600 ttyS0 $TERM/g'
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio
# Multiple prompt logins might come up here # Multiple prompt logins might come up here
sleep 10 sleep 10
host PS1='$ ' host PS1='$ '
@ -186,7 +186,7 @@ host guestfish --rw -a __IMG__ -i rm /usr/lib/systemd/system/serial-getty@.servi
host virt-edit -a __IMG__ /etc/systemd/system/getty.target.wants/getty@tty1.service -e 's/ExecStart=.*/ExecStart=\/sbin\/agetty --timeout 5000 --autologin root -i -8 --keep-baud 115200,38400,9600 ttyS0 $TERM/g' host virt-edit -a __IMG__ /etc/systemd/system/getty.target.wants/getty@tty1.service -e 's/ExecStart=.*/ExecStart=\/sbin\/agetty --timeout 5000 --autologin root -i -8 --keep-baud 115200,38400,9600 ttyS0 $TERM/g'
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none __IMG__ -net socket,fd=5 -net nic,model=virtio
host PS1='$ ' host PS1='$ '
host ip link set ens2 up host ip link set ens2 up
sleep 2 sleep 2

View File

@ -1,4 +1,4 @@
# SPDX-License-Identifier: AGPL-3.0-or-later <# SPDX-License-Identifier: AGPL-3.0-or-later
# #
# PASST - Plug A Simple Socket Transport # PASST - Plug A Simple Socket Transport
# for qemu/UNIX domain socket mode # for qemu/UNIX domain socket mode
@ -12,7 +12,7 @@
# Author: Stefano Brivio <sbrivio@redhat.com> # Author: Stefano Brivio <sbrivio@redhat.com>
temp PIDFILE temp PIDFILE
htools wget virt-edit guestfish head sed cat kill qemu-system-ppc64 qemu-system-s390x htools wget virt-edit guestfish head sed cat kill qemu-system-x86_64 qemu-system-ppc64 qemu-system-s390x
# Quick pasta test: send message from init to ns, and from ns to init # Quick pasta test: send message from init to ns, and from ns to init
def distro_quick_pasta_test def distro_quick_pasta_test
@ -55,7 +55,7 @@ host guestfish --rw -a __IMG__ -i rm /etc/init/cloud-init.conf
host guestfish --rw -a __IMG__ -i rm /etc/init/cloud-log-shutdown.conf host guestfish --rw -a __IMG__ -i rm /etc/init/cloud-log-shutdown.conf
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none -drive file=__IMG__,if=virtio -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none -drive file=__IMG__,if=virtio -net socket,fd=5 -net nic,model=virtio
host PS1='$ ' host PS1='$ '
sleep 2 sleep 2
host apt-get update host apt-get update
@ -88,7 +88,7 @@ host guestfish --rw -a __IMG__ -i rm /etc/init/cloud-init.conf
host guestfish --rw -a __IMG__ -i rm /etc/init/cloud-log-shutdown.conf host guestfish --rw -a __IMG__ -i rm /etc/init/cloud-log-shutdown.conf
host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/ host guestfish --rw -a __IMG__ -i copy-in __GUEST_FILES__ /root/
host ./qrap 5 kvm -M pc -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none -drive file=__IMG__,if=virtio -net socket,fd=5 -net nic,model=virtio host ./qrap 5 qemu-system-x86_64 -M pc,accel=kvm:tcg -m 1024 -nographic -serial stdio -nodefaults -no-reboot -nographic -vga none -drive file=__IMG__,if=virtio -net socket,fd=5 -net nic,model=virtio
host PS1='$ ' host PS1='$ '
sleep 2 sleep 2
host apt-get update host apt-get update

View File

@ -58,7 +58,9 @@ setup_passt() {
pane_run PASST "valgrind --max-stackframe=$((4 * 1024 * 1024)) --trace-children=yes --vgdb=no --error-exitcode=1 --suppressions=test/valgrind.supp ./passt ${__opts} -f -t 10001 -u 10001 -P passt.pid" pane_run PASST "valgrind --max-stackframe=$((4 * 1024 * 1024)) --trace-children=yes --vgdb=no --error-exitcode=1 --suppressions=test/valgrind.supp ./passt ${__opts} -f -t 10001 -u 10001 -P passt.pid"
sleep 5 sleep 5
pane_run GUEST './qrap 5 kvm -m '${VMEM}' -cpu host -smp '${VCPUS} \ pane_run GUEST './qrap 5 qemu-system-$(uname -m)' \
' -machine accel=kvm' \
' -m '${VMEM}' -cpu host -smp '${VCPUS} \
' -kernel ' "/boot/vmlinuz-$(uname -r)" \ ' -kernel ' "/boot/vmlinuz-$(uname -r)" \
' -initrd mbuto.img -nographic -serial stdio' \ ' -initrd mbuto.img -nographic -serial stdio' \
' -nodefaults' \ ' -nodefaults' \
@ -170,7 +172,10 @@ setup_passt_in_ns() {
fi fi
sleep 5 sleep 5
pane_run GUEST './qrap 5 kvm -m '${VMEM}' -cpu host -smp '${VCPUS} \ pane_run GUEST './qrap 5 qemu-system-$(uname -m)' \
' -machine accel=kvm' \
' -M accel=kvm:tcg' \
' -m '${VMEM}' -cpu host -smp '${VCPUS} \
' -kernel ' "/boot/vmlinuz-$(uname -r)" \ ' -kernel ' "/boot/vmlinuz-$(uname -r)" \
' -initrd mbuto.img -nographic -serial stdio' \ ' -initrd mbuto.img -nographic -serial stdio' \
' -nodefaults' \ ' -nodefaults' \
@ -259,7 +264,9 @@ setup_two_guests() {
pane_run GUEST_2 'cp mbuto.img mbuto_2.img' pane_run GUEST_2 'cp mbuto.img mbuto_2.img'
pane_status GUEST_2 pane_status GUEST_2
pane_run GUEST_1 './qrap 5 kvm -m '${VMEM}' -cpu host -smp '${VCPUS} \ pane_run GUEST_1 './qrap 5 qemu-system-$(uname -m)' \
' -M accel=kvm:tcg' \
' -m '${VMEM}' -cpu host -smp '${VCPUS} \
' -kernel ' "/boot/vmlinuz-$(uname -r)" \ ' -kernel ' "/boot/vmlinuz-$(uname -r)" \
' -initrd mbuto.img -nographic -serial stdio' \ ' -initrd mbuto.img -nographic -serial stdio' \
' -nodefaults' \ ' -nodefaults' \
@ -267,7 +274,9 @@ setup_two_guests() {
'virtio-net.napi_tx=1"' \ 'virtio-net.napi_tx=1"' \
" -device virtio-net-pci,netdev=hostnet0,x-txburst=16384" \ " -device virtio-net-pci,netdev=hostnet0,x-txburst=16384" \
" -netdev socket,fd=5,id=hostnet0" " -netdev socket,fd=5,id=hostnet0"
pane_run GUEST_2 './qrap 5 kvm -m '${VMEM}' -cpu host -smp '${VCPUS} \ pane_run GUEST_2 './qrap 5 qemu-system-$(uname -m)' \
' -M accel=kvm:tcg' \
' -m '${VMEM}' -cpu host -smp '${VCPUS} \
' -kernel ' "/boot/vmlinuz-$(uname -r)" \ ' -kernel ' "/boot/vmlinuz-$(uname -r)" \
' -initrd mbuto_2.img -nographic -serial stdio' \ ' -initrd mbuto_2.img -nographic -serial stdio' \
' -nodefaults' \ ' -nodefaults' \