• How to launch QEMU from command line without libvirt with macvtap and vhost support


    How to launch QEMU from command line without libvirt with macvtap and vhost support
    This sets up a host local bridge with a macvlan interface for VM to host communication. The macvtap is setup with vhost support.

    The command line options to note are

    -netdev tap,fd=3,id=hostnet0,vhost=on,vhostfd=4 3<>$"$tapdev" 4<>/dev/vhost-net -device virtio-net-pci,netdev=hostnet0,id=net0,mac=$(< /sys/class/net/testtap/address)
    This sets up two different fd's. The first for macvtap and the second for vhost-net.

    ip link del testbr
    ip link del testvlan
    ip link del testtap

    ip link add name testbr type bridge
    ip link add link testbr name testvlan type macvlan mode bridge
    ip addr add 172.20.0.1/16 dev testvlan
    ip link set dev testvlan up
    ip link set dev testbr up
    ip link add link testbr name testtap type macvtap mode bridge
    ip link set testtap up

    tapindex=$(< /sys/class/net/testtap/ifindex)
    tapdev=/dev/tap"$tapindex"

    echo "Tap Index :=" $tapindex
    echo "Tap Dev :=" $tapdev
    echo "Mac Address :="
    cat /sys/class/net/testtap/address

    ../x86_64-softmmu/qemu-system-x86_64 -trace events=/tmp/events
    -machine pc-lite,accel=kvm,kernel_irqchip,nvdimm -cpu host -m 256,maxmem=1G,slots=2 -smp 2 -no-user-config -nodefaults -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=discard
    -kernel ./vmlinux-4.9.34-63.1.container -append "reboot=k panic=1 rw tsc=reliable no_timer_check noreplace-smp root=/dev/pmem0p1
    init=/usr/lib/systemd/systemd initcall_debug rootfstype=ext4 rootflags=dax,data=ordered dhcp rcupdate.rcu_expedited=1 clocksource=kvm-clock console=hvc0 single iommu=false quiet"
    -device virtio-serial-pci,id=virtio-serial0 -chardev pty,id=charconsole0 -device virtconsole,chardev=charconsole0,id=console0 -nographic
    -object memory-backend-file,id=mem0,share,mem-path=./clear-16160-containers.img,size=235929600 -device nvdimm,memdev=mem0,id=nv0 -no-reboot
    -netdev tap,fd=3,id=hostnet0,vhost=on,vhostfd=4 3<>$"$tapdev" 4<>/dev/vhost-net -device virtio-net-pci,netdev=hostnet0,id=net0,mac=$(< /sys/class/net/testtap/address)

  • 相关阅读:
    linux环境变量(一)
    linux常用命令-ps
    linux实用小命令--查看文本内容
    postman tests常用方法
    Vue 中嵌套 Iframe,用postMessage通信 踩坑记
    [Vue warn]: Error in nextTick: "RangeError: Maximum call stack size exceeded"
    对STM32所用位带操作宏的详细剖析
    移植Modbus TCP二
    移植Modbus TCP一
    STM32位带操作
  • 原文地址:https://www.cnblogs.com/dream397/p/13962231.html
Copyright © 2020-2023  润新知