qemu安装arm64架构银河麒麟

news2025/2/27 20:58:30

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.coloradmin.cn/o/2257964.html

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

相关文章

Linux-ubuntu环境配置

一,安装VWware,里面导入镜像文件 这些都是文件夹里面有的,然后对着正点原子视频安装就行,虚拟机的破解码,去百度搜一个能用就行,中间遇见俩问题。①乌班图里面不能上网,②插入U盘后,…

如何在 Ubuntu 22.04 上安装和使用 Apache Kafka

简介 Apache Kafka是一个高性能、低延迟的分布式流处理平台,广泛用于构建实时数据管道和流式应用。本文将指导你如何在Ubuntu 22.04系统上快速部署Apache Kafka,让你体验到Kafka在处理大规模实时数据流方面的强大能力。通过本教程,你将学会如…

TCP/IP杂记

TCP三次握手、四次挥手 从应用角度,不用多考虑为什么有三次,遵循标准即可。 ubuntu 下 wireshark安装: sudo add-apt-repository universe sudo apt install wireshark 三次握手实证: 第一次握手的情况如下:&#…

【2024最新Java面试宝典】—— SpringBoot面试题(44道含答案)

1. 什么是 Spring Boot? Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,使开发者能快速上手。 2. 为什么…

MTK Android12 开机向导

文章目录 需求-场景参考资料:博客资料官网参考资料:参考资料注意点 附件资料文件说明:推荐工具:配置定制的 声明叠加层 APK需求实现替换字符、删减开机向导界面、添加开机向导界面删除部分界面需求,官网说明如下更新部…

思科模拟器路由器的基本配置

一、实验目的 了解路由器的作用掌握路由器的基本配置方法 3、掌握路由器模块的使用和互连方式 二、实验环境 2811路由器一台,计算机两台,Console配置线一根,网线若干;本实验拓扑图如图8-1所示;计算机IP地址规划如表8-…

HTTP multipart/form-data 请求

序言 最近在写项目的过程中有一个需求是利用 HTTP 协议传输图片和视频,经过查询方法相应的方法发现使用 multipart/form-data 的方式,这是最常见处理二进制文件的表单编码类型。  学习了一下午,现在总结一下使用的方法和相关的知识点&#x…

一、测试工具LoadRunner Professional脚本编写-录制前设置

设置基于URL的脚本 原因:基于HTML的脚本会导致login接口不能正确录制 设置UTF-8 原因:不勾选此项会导致脚本中文变为乱码

Hadoop生态圈框架部署(九-2)- Hive HA(高可用)部署

文章目录 前言一、Hive部署(手动部署)下载Hive1. 上传安装包2. 解压Hive安装包2.1 解压2.2 重命名2.3 解决冲突2.3.1 解决guava冲突2.3.2 解决SLF4J冲突 3. 配置Hive3.1 配置Hive环境变量3.2 修改 hive-site.xml 配置文件3.3 配置MySQL驱动包3.3.1 下在M…

JAVA |日常开发中Websocket详解

JAVA |日常开发中Websocket详解 前言一、Websocket 概述1.1 定义1.2 优势 二、Websocket 协议基础2.1 握手过程2.2 消息格式2.3 数据传输方式 三、Java 中使用 Websocket3.1 Java WebSocket API(JSR - 356)3.2 第三方库(如 Tyrus&…

算法基础学习Day6(动态窗口)

文章目录 1.题目2.题目解答1.最大连续1的个数题目及题目解析算法学习思路一:暴力解法思路二:滑动窗口 代码提交 2.将x减到0的最小操作数题目及题目解析算法学习滑动窗口解决问题 代码提交 1.题目 1004. 最大连续1的个数 III - 力扣(LeetCode)1658. 将 x…

开发一套SDK 第一弹

自动安装依赖包 添加条件使能 #ex: filetypesh bash_ls 识别 达到预期,多个硬件环境 等待文件文件系统挂在完成 或者创建 /sys/class/ 属性文件灌入配置操作 AI 提供的 netlink 调试方法,也是目前主流调用方法,socket yyds #include <linux/module.h> #include <linux…

【leetcode】替换后的最长重复字符、将字符串翻转到单调递增

1.替换后的最长重复字符 示例如下&#xff1a; 下面我们来分析一下一个例子&#xff0c;其中K 2 暴力枚举 这里的字符串s是仅由大写字母组成&#xff0c;首先我们尝试用暴力解法的思路来想一下这道题&#xff0c;通过从第一个字符开始进行枚举&#xff0c;如果出现了条件判断…

HarmonyOS 线性容器List 常用的几个方法

List底层通过单向链表实现&#xff0c;每个节点有一个指向后一个元素的引用。当需要查询元素时&#xff0c;必须从头遍历&#xff0c;插入、删除效率高&#xff0c;查询效率低。List允许元素为null。 List和LinkedList相比&#xff0c;LinkedList是双向链表&#xff0c;可以快速…

C# 网络编程--基础核心内容

在现今软件开发中&#xff0c;网络编程是非常重要的一部分&#xff0c;本文简要介绍下网络编程的概念和实践。 C#网络编程的主要内容包括以下几个方面‌&#xff1a; : 上图引用大佬的图&#xff0c;大家也关注一下&#xff0c;有技术有品质&#xff0c;有国有家&#xff0c;情…

基于Python实现web网页内容爬取

文章目录 1. 网页分析2. 获取网页信息2.1 使用默认的urllib.request库2.2 使用requests库1.3 urllib.request 和 requests库区别 2. 更改用户代理3. BeautifulSoup库筛选数据3.1 soup.find()和soup.find_all() 函数 4. 抓取分页链接参考资料 在日常学习和工作中&#xff0c;我们…

ASP .NET Core 中的环境变量

在本文中&#xff0c;我们将通过组织一场小型音乐会&#xff08;当然是在代码中&#xff09;来了解 ASP .NET Core 中的环境变量。让我们从创建项目开始&#xff1a; dotnet new web --name Concert 并更新Program.cs&#xff1a; // replace this: app.MapGet("/"…

一个简单带颜色的Map

越简单 越实用。越少设计&#xff0c;越易懂。 需求背景&#xff1a; 创建方法&#xff0c;声明一个hashset&#xff0c; 元素为 {“#DE3200”, “#FA8C00”, “#027B00”, “#27B600”, “#5EB600”} 。 对应的key为 key1 、key2、key3、key4、key5。 封装该方法&#xff0c…

操作系统:中断与处理器调度

目录 1、中断与中断系统 中断概念&#xff1a; 中断装置&#xff1a; 中断相关概念&#xff1a; 中断优先级别与中断屏蔽 2、处理机&#xff08;CPU&#xff09;调度 调度相关参数&#xff1a;P62 调度算法&#xff1a; 处理机调度时机 处理机调度过程 3、调度级别与多…

【推荐算法】单目标精排模型——FiBiNET

key word: 学术论文 Motivation&#xff1a; 传统的Embedding&MLP算法是通过内积和Hadamard product实现特征交互的&#xff0c;这篇文章的作者提出了采用SENET实现动态学习特征的重要性&#xff1b;作者认为简单的内积和Hadamard product无法有效对稀疏特征进行特征交互&a…