qemu安装arm64架构银河麒麟

qemu虚拟化软件,可以在一个平台上模拟另一个硬件平台,可以支持多种处理器架构。

一、安装

安装教程:https://blog.csdn.net/qq_36035382/article/details/125308044

下载链接:https://qemu.weilnetz.de/w64/2024/

我下载的是

在这里插入图片描述

下载完成之后正常安装,测试是直接在安装目录下右击打开poewershell,然后输入:

./qemu-system-arm.exe -version

显示如下:

在这里插入图片描述

二、配置环境

参考:https://blog.csdn.net/weixin_38120390/article/details/135779790

EFI文件:https://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/

EFI(Extensible Firmware Interface) 是一种用于计算机的固件接口,旨在替代传统的 BIOS(基本输入/输出系统)。

创建虚拟磁盘

首先创建一个目录,用来放虚拟机,然后在qemu目录下用终端输入

qemu-img create -f qcow2 D:kylinkylin_arm64.img 50g

这样就在D:kylin路径下安装了kylin_arm64.img这个镜像文件

文件目录结构

在这里插入图片描述

安装操作系统

这个指令参考博客

qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 4,cores=4,threads=1,sockets=1 -M virt -bios D:kylinQEMU_EFI.fd -netdev user,id=net0 -device virtio-net-pci,netdev=net0 -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -drive if=none,file=D:kylinKylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=D:kylinkylin_arm64.img,id=hd0 -device virtio-blk-device,drive=hd0
参数解释
  1. qemu-system-aarch64.exe
    • 指定要使用的 QEMU 模拟器,针对 ARM64 架构。
  2. m 8192
    • 分配给虚拟机的内存大小,这里为 8192 MB(即 8 GB)。
  3. cpu cortex-a72
    • 指定使用 Cortex-A72 作为虚拟 CPU 的型号,这是 ARM 体系结构的一种高性能处理器。
  4. smp 4,cores=4,threads=1,sockets=1
    • 配置虚拟机的对称多处理(SMP)设置:
      • 4 表示总共有 4 个 CPU。
      • cores=4 表示每个 CPU 只有 4 个核心。
      • threads=1 表示每个核心只有 1 个线程。
      • sockets=1 表示只有 1 个 CPU 插槽。
  5. M virt
    • 指定虚拟机的机器类型,这里使用的是通用的 Virt 虚拟机类型。
  6. bios D:kylinQEMU_EFI.fd
    • 指定要使用的 BIOS 固件文件,这里使用的是 UEFI 固件,文件路径为 D:kylinQEMU_EFI.fd
  7. net nic
    • 创建一个网络接口卡(NIC)。
  8. net tap,ifname=tap0
    • 配置网络以使用 TAP 设备 tap0,允许虚拟机通过此设备连接到主机的网络。
  9. device nec-usb-xhci
    • 添加 NEC USB 3.0 控制器设备。
  10. device usb-kbd
    * 添加 USB 键盘设备。
  11. device usb-mouse
    * 添加 USB 鼠标设备。
  12. device VGA
    * 添加 VGA 图形适配器设备,用于显示输出。
  13. drive if=none,file=D:kylinKylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso,id=cdrom,media=cdrom
    * 指定一个光盘驱动器,使用 ISO 文件作为介质。if=none 表示没有指定接口类型。
    * file=D:kylinKylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso 指定 ISO 文件的路径。
    * id=cdrom 为该设备指定一个 ID。
    * media=cdrom 指定该驱动器为 CD-ROM 类型。
  14. device virtio-scsi-device
    * 添加 VirtIO SCSI 控制器设备,用于管理存储设备。
  15. device scsi-cd,drive=cdrom
    * 将前面定义的 CD-ROM 设备连接到 SCSI 控制器。
  16. drive if=none,file=D:kylinkylin_arm64.img,id=hd0
    * 指定一个硬盘驱动器,使用镜像文件作为存储设备。
    * file=D:kylinkylin_arm64.img 指定镜像文件的路径。
    * id=hd0 为该驱动器指定一个 ID。
  17. device virtio-blk-device,drive=hd0
    * 将前面定义的硬盘驱动器连接到 VirtIO 块设备控制器。
  • qemu-system-aarch64.exe: 启动 QEMU 的 ARM64 版本模拟器。
  • m 8192: 为虚拟机分配 8192 MB(8 GB)的内存。
  • cpu cortex-a72: 指定使用 Cortex-A72 作为虚拟 CPU 的型号,这是 ARM 体系结构的一种高性能处理器。
  • smp 4,cores=4,threads=1,sockets=1: 配置虚拟 CPU 的多线程和多核心设置。
    • 4: 总共 4 个 CPU 核心。
    • cores=4: 每个 CPU 插槽有 4 个核心。
    • threads=1: 每个核心有 1 个线程。
    • sockets=1: 总共 1 个 CPU 插槽。
  • M virt: 指定模拟的机器类型为 virt,这是一种通用的虚拟化架构。
  • bios D:kylinQEMU_EFI.fd: 指定使用的 BIOS 固件文件,QEMU_EFI.fd 是一个 UEFI 固件文件,用于支持现代操作系统的启动。
  • netdev user,id=net0: 创建一个用户模式网络设备,ID 为 net0。这使得虚拟机可以访问主机网络。
  • device virtio-net-pci,netdev=net0: 将一个 Virtio 网络设备添加到虚拟机,使用之前定义的 net0 网络设备。
  • device nec-usb-xhci: 添加 NEC USB 3.0 控制器。
  • device usb-kbd: 添加一个 USB 键盘设备。
  • device usb-mouse: 添加一个 USB 鼠标设备。
  • device VGA: 添加一个 VGA 显示设备。
  • drive if=none,file=D:kylinKylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso,id=cdrom,media=cdrom: 添加一个光驱设备,指向指定的 ISO 镜像文件。
    • if=none: 指定此驱动器的接口类型。
    • file=...: ISO 文件路径。
    • id=cdrom: 给此驱动器一个 ID。
    • media=cdrom: 指定该驱动器为光盘媒体。
  • device virtio-scsi-device: 添加一个 Virtio SCSI 控制器,以支持 SCSI 设备。
  • device scsi-cd,drive=cdrom: 将之前添加的光驱设备作为 SCSI CD 设备。
  • drive if=none,file=D:kylinkylin_arm64.img,id=hd0: 添加一个硬盘驱动器,指向指定的虚拟硬盘镜像文件。
    • if=none: 指定此驱动器的接口类型。
    • file=...: 硬盘镜像文件路径。
    • id=hd0: 给此硬盘驱动器一个 ID。
  • device virtio-blk-device,drive=hd0: 将之前添加的硬盘驱动器作为 Virtio 块设备。

选择操作系统

选择第二个安装 Kylin-Desltop V10-SP1

在这里插入图片描述

选择中文

在这里插入图片描述

选择从live安装:

在这里插入图片描述

然后点击创建的硬件,然后,然后下一步

在这里插入图片描述

然后选择格式化整个磁盘

剩下的就是创建用户等。

接着就是等待安装

在这里插入图片描述

Done

在这里插入图片描述

再次启动不用使用镜像文件,直接

qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 4,cores=4,threads=1,sockets=1 -M virt -bios D:kylinQEMU_EFI.fd -netdev user,id=net0 -device virtio-net-pci,netdev=net0 -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -drive if=none,file=,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=D:kylinkylin_arm64.img,id=hd0 -device virtio-blk-device,drive=hd0

也就是上面安装命令把file路径去掉,这样就直接从img文件所属目录打开了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/63718.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端怎么用 EventSource?EventSource 怎么配置请求头及加参数?EventSourcePolyfill 使用方法

前言 在前端开发中,特别是实时数据更新的场景下,EventSource 是一个非常实用的 API。它允许浏览器与服务器建立单向连接,服务器可以持续地发送数据给客户端,而无需客户端不断轮询。本文将详细介绍 EventSource 的使用方法、如何配…

188-下翻便携式6U CPCI工控机箱

一、板卡概述 下翻式CPCI便携工控机,系统采用6u cpci背板结构,1个系统槽,7个扩展槽, 满足对携带的需求,可装标准6U8槽CPCI主板,8个扩展槽, 满足客户对空间扩展的需求.可宽温服务的工作产品,15高亮度液晶显示屏,超薄88键笔记本键盘,触摸式鼠标,加固型机箱结构,使它能够适应各种复…

网页核心页面设计(第9章)

一、多个边框阴影 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-…

SpringBoot中Selenium详解

文章目录 SpringBoot中Selenium详解一、引言二、集成Selenium1、环境准备1.1、添加依赖 2、编写测试代码2.1、测试主类2.2、页面对象2.3、搜索组件 三、使用示例四、总结 SpringBoot中Selenium详解 一、引言 在现代软件开发中&#xff0c;自动化测试是提高软件质量、减少重复…

Edge SCDN的独特优势有哪些?

强大的边缘计算能力 Edge SCDN&#xff08;边缘安全加速&#xff09;是酷盾安全推出的边缘集分布式 DDoS 防护、CC 防护、WAF 防护、BOT 行为分析为一体的安全加速解决方案。通过边缘缓存技术&#xff0c;智能调度使用户就近获取所需内容&#xff0c;为用户提供稳定快速的访问…

Fastapi教程:使用aioredis异步访问redis

本文将介绍如何使用 FastAPI 异步访问 Redis&#xff0c;包括环境配置、连接创建、数据库初始化、增删查改操作、键过期、管道&#xff08;pipeline&#xff09;操作以及事务管理等内容。 环境准备 首先&#xff0c;我们需要安装必要的依赖包。Redis 是一个键值存储系统&…

duxapp 2024-12-09 更新 PullView可以弹出到中间,优化CLI使用体验

UI库 修复 Button 禁用状态失效的问题Modal 组件即将停用&#xff0c;请使用 PullView 基础库 PullView side 新增 center 指定弹出到屏幕中间PullView 新增 duration 属性&#xff0c;指定动画时长新增 useBackHandler hook 用来阻止安卓端点击返回键 RN端 修复 windows …

多线程与线程互斥

目录 引言 一、多线程设计 多线程模拟抢票 二、互斥锁 互斥量的接口 修改抢票代码 锁的原理 锁的封装&#xff1a;RAII 引言 随着信息技术的飞速发展&#xff0c;计算机软件正变得越来越复杂&#xff0c;对性能和响应速度的要求也日益提高。在这样的背景下&#xff0c;…

Vue导出报表功能【动态表头+动态列】

安装依赖包 npm install -S file-saver npm install -S xlsx npm install -D script-loader创建export-excel.vue组件 代码内容如下&#xff08;以element-ui样式代码示例&#xff09;&#xff1a; <template><el-button type"primary" click"Expor…

ZUC256 Go Go Go!!!

文章目录 背景运行效果代码 背景 因业务需要使用ZUC算法&#xff0c;GitHub上又没有对ZUC256相对应的Go语言的实现。 吃水不忘挖井人&#xff0c;在这里感谢GmSSL及BouncyCastle两个强大的密码学库&#xff01; 本ZUC256的编写&#xff0c;参考了这两个库及中科院软件院发布的…

力扣打卡12:复原IP地址

链接&#xff1a;93. 复原 IP 地址 - 力扣&#xff08;LeetCode&#xff09; 这道题需要对字符串进行操作&#xff0c;我选择了三层循环&#xff0c;其实还可以递归。 我在循环时进行了剪枝&#xff0c;比如一些情况直接跳出循环。 我的代码&#xff1a; class Solution { p…

The ‘.git/hooks/pre-push‘ hook was ignored because it‘s not set as executable.

Mac上使用Git提交代码提示&#xff1a; hint: The .git/hooks/prepare-commit-msg hook was ignored because its not set as executable. hint: You can disable this warning with git config advice.ignoredHook false. hint: The .git/hooks/commit-msg hook was ignored b…

【实践·专业课】内存管理-存储管理-文件系统

1. 基于Linux的简单区块链实现 1.1. 环境准备 确保使用的 Linux 系统&#xff08;如 Ubuntu、CentOS 等&#xff09;已安装 Python 3。 在终端输入python3命令&#xff0c;若出现 Python 解释器的版本信息等提示&#xff0c;则表示已安装&#xff1b; 若提示未找到命令&…

MySQL 学习 之 批量插入数据性能问题

文章目录 现象优化 现象 在使用 kettle 同步大数据的数据到我们的 MySQL 数据库中时发现&#xff0c;数据量大时插入效率很慢&#xff0c;大约在 2000/s 优化 在 MySQL 驱动连接中添加 rewriteBatchedStatementstrue 参数&#xff0c;减少 网络 IO DB IO 耗时 默认关闭指定…

2个GitHub上最近比较火的Java开源项目

1. SpringBlade 微服务架构 标题 SpringBlade 微服务架构 摘要 SpringBlade 是一个由商业级项目升级优化而来的微服务架构&#xff0c;采用Spring Boot 3.2、Spring Cloud 2023等核心技术构建&#xff0c;遵循阿里巴巴编码规范&#xff0c;提供基于React和Vue的两个前端框架&am…

MongoDB 建模调优change stream实战

MongoDB开发规范 &#xff08;1&#xff09;命名原则。数据库、集合命名需要简单易懂&#xff0c;数据库名使用小写字符&#xff0c;集合名称使用统一命名风格&#xff0c;可以统一大小写或使用驼峰式命名。数据库名和集合名称均不能超过64个字符。 &#xff08;2&#xff09…

Ubuntu 环境美化

一、终端选择 zsh 参考文章使用 oh-my-zsh 美化终端 Oh My Zsh 是基于 zsh 命令行的一个扩展工具集&#xff0c;提供了丰富的扩展功能。 先安装zsh再安装Oh My Zsh 1.zsh安装 sudo apt-get install zsh 2.设置默认终端为 zsh chsh -s /bin/zsh 3.安装 oh-my-zsh 官网&…

MySQL 在线 DDL 变更的一个异常问题

文章目录 前言1. 模拟现场2. 原因推测3. 如何解决4. 误导报错后记 前言 业务执行一条 DDL engineinnodb 失败了很多次&#xff0c;报错 ERROR 1062 (23000): Duplicate entry xxx for key ‘xxx’&#xff0c;在官方文档中也提到过&#xff0c;Online DDL 期间可能会出现 ERRO…

分布式事务的前世今生-纯理论

一个可用的复杂的系统总是从可用的简单系统进化而来。反过来这句话也正确: 从零开始设计的复杂的系统从来都用不了&#xff0c;也没办法让它变的可用。 --John Gal 《系统学》 1975 1. 事务的概念 百科&#xff1a; 事务&#xff08;Transaction&#xff09;&#xff0c;一般是…

微前端框架micro-app中的数据通信机制

在微前端框架micro-app中&#xff0c;getData方法和addDataListener方法都是用于数据通信的重要工具&#xff0c;但它们在使用方式和功能上存在一些显著的差别。 getData方法 功能&#xff1a;getData方法用于直接获取micro-app框架注入的全局对象window.microApp中存储的数据…