qemu linux内核(5.10.209)开发环境搭建

版本信息

宿主机:ubuntu 20.04.6 LTS (Focal Fossa)

虚拟机:ubuntu 20.04.6 LTS (Focal Fossa)

安装宿主机的步骤省略,和一般的在vmware中安装虚拟机没有任何区别。

需要注意的是需要打开Intel VT-x

如果启动虚拟机报告此平台不支持虚拟化的Intel VT-x/EPT. 不使用虚拟化的Intel VT-x/EPT,是否继续,参考下面的文章解决.

https://blog.csdn.net/2301_77695535/article/details/146309899

宿主机安装QEMU/KVM和Virsh

VirshVirtual Shell的缩写,是一个用于管理虚拟机的命令行工具。你可以使用Virsh创建、编辑、启动、停止、关闭和删除VM。Virsh目前支持KVMLXCXenQEMUOpenVZVirtualBoxVMware ESX。这里我们使用Virsh管理QEMU/KVM虚拟机。

在安装之前,首先要确认你的CPU是否支持虚拟化技术。使用grep查看cpuinfo是否有"vmx"(Intel-VT 技术)或"svm"(AMD-V 支持)输出:

egrep "(svm|vmx)" /proc/cpuinfo

某些CPU型号在默认情况下,BIOS中可能禁用了VT支持。我们需要再检查BIOS设置是否启用了VT的支持。使用kvm-ok命令进行检查:

sudo apt install cpu-checker
kvm-ok

如果输出为:

INFO: /dev/kvm exists
KVM acceleration can be used

证明CPU的虚拟化支持已经在BIOS中启用。

运行下面的命令安装QEMU/KVMVirsh

sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager

检查libvirt守护程序是否已经启动:

sudo systemctl is-active libvirtd
active

如果没有输出active,运行下面的命令启动libvertd服务:

sudo systemctl enable libvirtd
sudo systemctl start libvirtd

在宿主机中安装qemu虚拟机

创建一个虚拟机镜像,大小为40Gqow2格式动态分配磁盘占用空间。

qemu-img create -f qcow2 ubuntutest.img 40G

创建虚拟机系统,安装操作系统:

qemu-system-x86_64 \
-name ubuntutest \
-smp 2 \  
-m 4096 \
-hda ubuntutest.img \
-cdrom ubuntu-20.04.6-live-server-amd64.iso \
-boot d

按照步骤,配置安装即可,这一步和正常的虚拟机安装没有什么区别。

注意这里我没有添加-enable-kvm,这可能会影响gdb的软件断点。

配置上网

方案1:自建tap网卡NAT上网

宿主机创建TAP设备

sudo ip tuntap add dev tap0 mode tap
sudo ip addr add 192.168.100.1/24 dev tap0
sudo ip link set tap0 up

宿主机配置IP转发及NAT规则

sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
sudo iptables -A FORWARD -i tap0 -j ACCEPT

启动带TAP的QEMU

qemu-system-x86_64 \
-enable-kvm \
-m 4096 \
-drive file=./ubuntutest.img \
-boot d \
-net nic -net tap,ifname=tap0,script=no,downscript=no

配置虚拟机的网络为192.168.100.0/24网段中的任意一个地址(例如192.168.100.10)

打开netplan的配置文件,修改地址后,使用sudo netplan apply重启网络。

# This is the network config written by 'subiquity'
network:
  ethernets:
    ens3:
      dhcp4: no
      addresses:
        - 192.168.100.10/24
      routes:
        - to: default
          via: 192.168.100.1
      nameservers:
        addresses: [8.8.8.8]
  version: 2

利用virbr0实现nat上网

创建并配置bridge.conf

  • 文件路径:通常位于/etc/qemu//usr/local/etc/qemu/(取决于安装方式)。使用以下命令创建:
sudo mkdir -p /etc/qemu
sudo vim /etc/qemu/bridge.conf

内容示例:

allow virbr0  # 若使用libvirt默认桥接接口

接下来启动时指定使用virbr0 bridge上网。

qemu-system-x86_64 \
-ena
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值