我有一个 android vm。我使用 qemu 和 virgl 进行硬件加速。我必须从源代码构建 qemu 才能获得 sdl 和 virgl 支持。我使用了以下构建参数
./configure --enable-sdl --enable-opengl --enable-virglrenderer --enable-system --enable-modules --audio-drv-list=pa --target-list=x86_64-softmmu --enable-kvm --enable-gtk --enable-spice
我的构建目录是
/home/username/builds/qemu/qemu/build/
我的虚拟机启动选项是
./qemu-system-x86_64 -boot c -enable-kvm -smp 1 -name android -device virtio-vga,virgl=on -net nic -net user,hostfwd=tcp::4444-:5555 -cpu host -device ES1370 -m 1028 -display sdl,gl=on -hda /home/username/Documents/android.img -usb -usbdevice tablet -machine q35 -object rng-random,id=rng0,filename=/dev/urandom -device virtio-rng-pci,rng=rng0
我想使用 kde connect 连接到我的虚拟机和主机。我认为这需要设置桥接和 tap、tun 等。如果有人能建议一种简单的方法来完成上述操作,那就太好了。我的 ifconfig 输出
username@username-H81 ~ [1]> ifconfig
enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.40 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::7288:16a8:48fe:99e4 prefixlen 64 scopeid 0x20<link>
ether 00:e0:4c:c2:08:55 txqueuelen 1000 (Ethernet)
RX packets 684976 bytes 626450094 (626.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 215101 bytes 23434472 (23.4 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 83058 bytes 67059421 (67.0 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 83058 bytes 67059421 (67.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
我的主机系统 - Kubuntu 20.10
Guest - android9(来自 android x86,内核 4.9)
答案1
找到一个简单的脚本来设置点击界面。学分
首先找到网络设备的逻辑名称,在我的情况下是 enp3s0。(运行命令
ifconfig
并ls -la /sys/class/net/
找出逻辑名称,忽略名称为 lo 的设备,它是一个环回设备)然后运行这些,记得用网络设备名称的逻辑名称替换 eth0。
sudo brctl addbr br0
sudo ip addr flush dev eth0
sudo brctl addif br0 eth0
sudo tunctl -t tap0 -u `whoami`
sudo brctl addif br0 tap0
sudo ifconfig eth0 up
sudo ifconfig tap0 up
sudo ifconfig br0 up
sudo dhclient -v br0
使用以下命令启动虚拟机
-netdev tap,id=mynet0,ifname=tap0,script=no,downscript=no -device e1000,netdev=mynet0,mac=52:55:00:d1:55:01
要使这些更改永久生效,您必须将这些更改保存到 /etc/network/interfaces,但我不知道如何操作。如能提供任何帮助,我将不胜感激