3.1 常用命令行参数介绍
-m [size]megs,[,slots=n,maxmem=size]
设置 guest 启动内存大小,slot 和 maxmem 用于内存热插拔使用,指定可以添加到的最大 slot 号和最大内存数量。
/usr/libexec/qemu-kvm -m 2048,slots=4,maxmem=4G
-boot
指定系统启动方式,一般使用 c 表示从虚拟硬盘启动。
-smp
指定启动 cpu 个数。
-M
指定 guest 机器类型,龙芯平台上默认为 loongson7a_v1.0。使用 “-machine help”可以查看该架构下支持的所有 machine 类型。qemu 支持添加 machine 的特性选项,如accel(龙芯平台默认为kvm),kernel_irqchip(龙芯平台默认为on),dump-guest-core(龙芯平台默认为on)。
# /usr/libexec/qemu-kvm -machine help
Supported machines are:
loongson7a Loongarch3a5k LS7A1000 machine (alias of loongson7a_v1.0)
loongson7a_v1.0 Loongarch3a5k LS7A1000 machine (default)
none empty machine
-cpu
指定 guest cpu 类型,龙芯平台上支持Loongson-3A5000和 host,使用“-cpu help”可以查看该架构下支持的所有 cpu 类型。
# /usr/libexec/qemu-kvm -cpu help
LOONGARCH 'Loongson-3A5000'
LOONGARCH 'host'
-bios
指定所使用的固件路径,Loongnix-Server 默认路径为 /usr/share/qemu-kvm/loongarch_bios.bin, Loongnix-Desktop 默认路径为 /usr/share/qemu/loongarch_bios.bin.
-bios /usr/share/qemu-kvm/loongarch_bios.bin
-kernel
指定 guest 启动的内核路径,在非指定固件的情况下使用,同时需要添加启动命令行参数。
-append
可与 -kernel 内核参数联合使用,用来指定 guest 启动命令行参数。
-kernel /boot/vmlinux.guest -append "root=/dev/vda1 rw console=ttyS0,115200”
-initrd
指定使用 initrd 的方式启动,对应启动命令行参数需要修改为 rdinit=/sbin/init rw。
-initrd initrd.gz -append "console=ttyS0,115200 rdinit=/sbin/init rw"
--device virtio-balloon
表示使能 balloon 设备。
--enable-kvm
表示采用 kvm 加速的方式启动虚拟机。
--drive file = /home/user/kvm-test.qcow2,if=virtio
指定虚拟机使用的 qcow2 格式的文件系统路径,并指定virtio-blk 格式的硬盘驱动。
-vga
指定使用的显卡类型,龙芯平台支持 virtio、qxl显卡类型,同时配合 spice 或 vnc 显示协议使用。
-spice
使用 spice 协议显示虚拟机图形,可配置 spice 端口号和地址等。为了提高 spice 体验,一般还需要配合 spicevmc 和 virtserialport 使用,详细说明可以参考 https://www.linux-kvm.org/page/SPICE
-vga qxl -spice port=5900,addr=127.0.0.1,disable-ticketing
-chardev spicevmc,id=charchannel1,name=vdagent
-device virtserialport,chardev=charchannel1,name=com.redhat.spice.0
-net nic,model=[],macaddr=[]
用于指定虚拟机网络配置方式,-net nic 用于定义虚拟机使用的网络接口控制器,model 指定采用的模式,macaddr用于指定mac地址。
-net tap
指定 虚拟机采用 tap 的方式与 host 进行网络数据传送。
-net nic,model=virtio,macaddr=00:11:22:33:44:00
-net tap,ifname=tap1,script=no,downscript=no
虚拟机还可以使用桥接网络,配置方法如下:
brctl addbr br0 (添加br0网桥)
brctl addif br0 netcard_name (将br0与物理设备桥接起来,通过brctl show可以查到对应的桥接关系)
brctl addif br0 tap1(虚拟机启动后,将 tap1 添加到网桥中)
ifconfig tap1 up (启动tap1)
ifconfig br0 up (启动br0)
操作完成后查看虚拟机内部网络状态
注意:如果同时启动多个虚拟机,macaddr和ifname不能冲突。
-d item
表示 item 的日志记录,一般使用 -d int 用于记录中断和异常。
-nographic
表示采取非图形方式启动虚拟机。
-monitor
指定进入 qemu monitor 的方式。
-monitor telnet:localhost:0001,server,nowait
host 下可以通过telnet localhost 0001
进入qemu monitor
其他参数支持和使用详解请可使用 /usr/libexec/qemu-kvm -help 命令查看。