zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    SynEdit(Delphi XE7)的安装和基本使用
    uniConnection断线重联(tag属性颇有深意,这样就可以在某些情况下,不用继承实现新控件就可以达到自己的目的)
    CheckSynchronize实现的不必要的复杂
    Delphi中Indy 10的安装和老版本的卸载
    JavaScript2
    C#中使用REDIS
    jQuery多文件
    Node+Express+MongoDB + Socket.io搭建实时聊天应用
    jQuery选取和操纵元素的特点
    Mvc 6 中创建 Web Api
  • 原文地址:https://www.cnblogs.com/dream397/p/13962231.html
Copyright © 2011-2022 走看看