使用QEMU运行虚拟机

这篇具有很好参考价值的文章主要介绍了使用QEMU运行虚拟机。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1,编译安装新内核

1,get kernel source from here

2,将当前guest os的内核配置文件 /boot/config-5.10.0 拷贝至内核源码目录并命名为.config

3,执行命令“make rpm-pkg -j10” 将内核各个组件编译为RPM包

4,生成的RPM包位于“/root/rpmbuild/RPMS/aarch64/”:

kernel-headers-5.10.0-1.aarch64.rpm, kernel-devel-5.10.0-1.aarch64.rpm, kernel-5.10.0-1.aarch64.rpm

可以使用rpm -qlp xxx.rpm查看这个RPM包内包含了哪些文件。

5,第一次全量编译后后续只需要执行 make Image -j 单独编译内核镜像

6,在host上编译好内核后将上述RPM包copy至虚机,先执行“rpm –e kernel-5.10.0-0.aarch64”卸载老内核,再执行“rpm –ivh kernel-5.10.0-1.aarch64.rpm”安装新内核。

7,上述安装命令会在/boot/efi/EFI/centos/grub.cfg中自动为新内核新增一个启动项,我们需要再更新这个文件修改“set default=0” 以选择新内核启动。

8,我们可以从/boot/ initramfs-5.10.0.img获得当前运行系统的initramfs。

2,编译QEMU

1,get QEMU from here

2,解压之后执行以下命令编译QEMU

cd /path/to/qemu_source
mkdir build
cd build
../configure --target-list=aarch64-softmmu --enable-kvm --enable-debug #只编译ARM64,"./configure --help"查看所有支持的target
make -j8

编译好的QEMU可执行文件在 /path/to/source/qemu-6.0.0/build/qemu-system-aarch64

3,为QEMU准备网络环境

brctl addbr br0                                #创建桥接guest和host的bridge,虚机的后端网卡tap0将加入这一bridge
ifconfig br0 192.168.101.1/24                  #配置host bridge的IP,虚机IP应在同一网段
#若需开启虚机访问外网权限则执行以下步骤
echo 1 > /proc/sys/net/ipv4/ip_forward                   #打开host路由转发功能
iptables -F                                              #清空防火墙规则
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE     #开启NAT,虚机访问外网时使用host的public IP

QEMU启动过程中会调用脚本"/etc/qemu-ifup"将tap0加入到bridge中,所以需要准备此文件:文章来源地址https://www.toymoban.com/news/detail-448729.html

#!/bin/sh
set -x
​
switch=br0
​
if [ -n "$1" ];then
        # tunctl -u `whoami` -t $1 (use ip tuntap instead!)
        ip tuntap add $1 mode tap user `whoami`
        ip link set $1 up
        sleep 0.5s
        # brctl addif $switch $1 (use ip link instead!)
        ip link set $1 master $switch
        exit 0
else

到了这里,关于使用QEMU运行虚拟机的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【虚拟化qemu】(一)--- qemu 虚拟化软件介绍与安装

    本文主要用于记录关于 qemu 虚拟化软件的介绍和安装。 qemu(quick emulator)是一款可执行硬件虚拟化的(hardware virtualization)开源仿真器(Emulator)。 对于 qemu 的介绍可以查看该关于 qemu 的 wiki 词条链接。 于嵌入式行业 qemu 可以帮助开发者:学习裸机编程,RTOS 的编程,网络协

    2024年02月16日
    浏览(38)
  • 安卓端免root免内核编译运行容器&udocker基本使用教程【nethunter】【termux】【docker替代方案】【udocker】

    【最后一次更新: 2023.4.15 】 请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任~ 「下列操作不需要使用docker作为依赖实现」 1.前言 2.简介 3.安装 0最新添加

    2024年02月05日
    浏览(39)
  • 【树莓派Linux内核开发】入门实操篇(虚拟机Ubuntu环境搭建+内核源码获取与配置+内核交叉编译+内核镜像挂载)

    1.ubuntu18.04镜像下载 打开ubuntu18.04镜像传送门,进入到主页 往下滑,找到相应镜像并下载 等待镜像下载完毕即可 2.VMware软件安装 VMware是一款 运行在windows系统上的虚拟机软件 ,可以虚拟出一台计算机硬件,方便安装各类操作系统 进入VMware官网传送门,来到主页,往下滑,选

    2024年04月29日
    浏览(57)
  • 银河麒麟服务器arm、x86安装qemu虚拟机

    使用下面的命令安装的话只能安装同构的虚拟机,如arm的就只能安装arm的;x86的就只能安装x86的 等待安装完成 直接复制脚本执行即可 使用源码编译安装就能创建异构的虚拟机了,比如:在arm服务器上创建x86的,在x86上创建arm的 我测试使用的是qemu-4.2.0.tar.xz这个版本,因为我

    2024年02月02日
    浏览(79)
  • 虚拟打印机开源项目clawPDF最新版本在Windows+Visual Studio 环境编译运行遇到的若干问题,以及虚拟打印机驱动的安装和彻底卸载详细图文步骤

    虚拟打印机开源项目clawPDF最新版本在Windows+Visual Studio 环境编译运行遇到的若干问题,以及虚拟打印机驱动的安装和彻底卸载详细图文步骤。 错误提示: 不支持此版本的 Visual Studio 无法打开以下项目。可能未安装项目类型,或此版本的 Visual Studio 可能不支持项目类型。 有关

    2024年02月22日
    浏览(70)
  • QEMIU-基于CentOS7系统编译安装部署qemu 2.7.0 版本的环境

    【原文链接】QEMIU-基于CentOS系统编译安装部署QEMU环境 备份原有的yum源配置 设置阿里云的yum源 添加EPEL源 更新yum缓存 安装依赖包 下载qemuu并解压 编译安装 验证qemu 退出后重新登录,然后执行qemu- 加tag,即出现如下命令提示,表示qemu已经编译安装成功

    2024年02月15日
    浏览(45)
  • python可视化管理kvm虚拟机(使用libvirt、qemu连接虚拟机)

    对于云计算的实践,在虚拟机上面布置kvm虚拟机后使用python调用libvirt库进行远程可视化管理,实现输出虚拟机信息、新建虚拟机、删除虚拟机等功能,并在虚拟机集群上面运行mpi代码。 用pycharm专业版连接kvm的步骤见本文章。 mpi代码见本文章。

    2024年02月16日
    浏览(41)
  • qemu+kvm安装银河麒麟V10SP1 arm64 虚拟机

    系统镜像 Kylin-Desktop-V10-SP1-Release-2107-arm64.iso QEMU_EFI.fd(下载地址 http://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/QEMU_EFI.fd) 注:麒麟系统要求磁盘大小在50G以上. 参数说明: -m 4096 指定内存大小,单位MB -cpu cortex-a72 CPU 型号 -smp 8,cores=8,threads=1,sockets=1 1颗CPU,8核8线

    2024年01月21日
    浏览(113)
  • (2023)Linux安装pytorch并使用pycharm远程编译运行

    这部分参考我这篇博客的前半部分Linux服务器上通过miniconda安装R(2022)_miniconda 安装r_Dream of Grass的博客-CSDN博客 创建环境 创建一个叫pytorch的环境。 进入pytorch官网。Start Locally | PyTorch 查看自己的cuda版本。我的服务器显卡是3080ti,cuda版本是11.7。 选择对应的版本即可,没有的

    2024年02月10日
    浏览(33)
  • RK3568驱动指南|驱动基础进阶篇-进阶1 编译进内核的驱动系统是如何运行的?

    瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工智能应用。RK3568 支持安卓 11 和 linux 系统,主要面向物联网

    2024年02月01日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包