信创环境模拟:X86架构下部署搭建aarch64的ARM虚拟机
在真实系统为x86架构下,搭建arm64的虚拟开发环境。在该环境中直接下载打包项目依赖的python运行环境。
前言
随着国家信创环境的要求普及,基本和国家沾边的政企事业单位都换成了信创环境,即ARM64的cpu服务器,而且该类服务器是不连接公网的情况。而很多一般企业,开发者的环境基本是X86架构下的Windows。
本教程是在遇到python环境微服务需要部署到信创环境,依赖的很多包包括python自身如statsmodels,需对应arm架构的资源,才可导出到目标服务器运行。
部署准备
- 作者的环境是:Windows10 X86处理器架构的电脑。(其他环境类似,qemu下载对应版本照着变通下即可)
- QEMU模拟器:下载地址
- UEFI文件:下载地址
- 银河麒麟V10镜像(arm64系统镜像): 请自行下载,或通过本人打包的本项目全部资源下载。我的资源镜像为Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso
资源打包下载地址
- 链接:csdn文件下载(多个分卷,共5卷,可进入作者空间下载)
- 压缩包预览

部署流程
1. 安装qemu软件
双击qemu安装文件进行安装 ,下一步下一步,选择指定路径即可。默认会安装到 C:\Program Files\qemu下.

2.命令行生成虚拟硬盘
- 进入cmd命令,win+r或者其他方式,进入到CMD命令窗口中。
- cmd进入到qemu安装目录:cd C:\Program Files\qemu
- 执行以下命令创建40G硬盘到指定目录,我这里是D:\VM\arm64\文件夹下。
qemu-img create -f qcow2 D:\VM\arm64\kylindisk.qcow2 40G
4.生成的虚拟文件如下(框出的文件,其他文件是下载拷贝进去的,下一步有说明):

安装arm64位的系统
- 将下载好的fd引导文件和iso镜像文件,拷贝到生成虚拟磁盘的目录:D:\VM\arm64\
- 同样,使用cmd命令进入到qemu安装目录,cd C:\Program Files\qemu。
- 执行安装镜像安装命令(可以按需调整内存、端口等),里面有几个地址就是指向我们准备的虚拟硬盘、引导文件、镜像文件的。
qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 8,sockets=4,cores=2 -M virt -bios D:\VM\arm64\QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=D:\vm\arm64\kylindisk.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=D:\VM\arm64\Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -net nic -net user,hostfwd=tcp::2222-:22
截图如下:
-
命令解释说明
这条命令是用于在QEMU中启动一个ARM架构的虚拟机。
基本配置-
qemu-system-aarch64.exe: 这是 QEMU 模拟器的主程序,用于模拟 ARM64 架构的系统。
-
-m 8192: 分配 8192 MB(即 8 GB)的内存给虚拟机。
-
-cpu cortex-a72: 指定虚拟机的 CPU 类型为 Cortex-A72。
-
-smp 8,sockets=4,cores=2: 配置虚拟机的 SMP(对称多处理)设置:
-
8: 总共 8 个 CPU 线程。
-
sockets=4: 4 个 CPU 插槽。
-
cores=2: 每个插槽有 2 个核心。
-
-
-M virt: 使用 virt 机器类型,这是 QEMU 为 ARM64 架构提供的虚拟机类型。
BIOS 和启动设备
- -bios D:\VM\arm64\QEMU_EFI.fd: 指定 EFI 固件文件,用于引导虚拟机。
设备配置
-
-device VGA: 添加一个 VGA 设备,用于图形输出。
-
-device nec-usb-xhci: 添加一个 NEC USB 3.0 控制器设备。
-
-device usb-mouse: 添加一个 USB 鼠标设备。
-
-device usb-kbd: 添加一个 USB 键盘设备。
存储设备
-
-drive if=none,file=D:\vm\arm64\kylindisk.qcow2,id=hd0: 配置一个虚拟硬盘,文件为 kylindisk.qcow2,ID 为 hd0,但不直接连接到接口。
-
-device virtio-blk-device,drive=hd0: 将之前配置的虚拟硬盘 hd0 连接到 virtio-blk 设备。
-
-drive if=none,file=D:\VM\arm64\Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso,id=cdrom,media=cdrom: 配置一个虚拟光驱,文件为 Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso,ID 为 cdrom,媒体类型为 cdrom。
-
-device virtio-scsi-device: 添加一个 virtio-scsi 控制器设备。
-
-device scsi-cd,drive=cdrom: 将之前配置的虚拟光驱 cdrom 连接到 scsi-cd 设备。
网络配置
-
-net nic: 添加一个网络接口卡。
-
-net user,hostfwd=tcp::2222-:22: 使用用户模式网络,并将主机端口 2222 转发到虚拟机端口 22(SSH 端口)。
-
执行命令后会跳到可视化界面进行系统安装
- 标准的linux系统安装引导界面,按思路安装即可。中间要设置下root密码和点选下虚拟硬盘即可。后面就是漫长等待,一路向下8G内存下大概30分钟。截图如下:




- 注意事项
- 安装设置时要注意,常见的配置,如时区、语言、虚拟硬盘、root密码等。
- 安装界面鼠标无法控制,可以按上面的提示释放鼠标,并选择最大化窗口,即可正常操作。
- 有感叹号的地方都要选择或设置,比如下图许可。

- 安装完成截图如下(默认账户是root,密码是你自己设置的):

系统的使用
- 安装好并关闭后,我们需要再次启动的话(无需指定iso文件启动)
使用cmd命令行进入到qemu所在位置,执行以下命令:
qemu-system-aarch64 -m 8192 -cpu cortex-a72 -smp 8,sockets=4,cores=2 -M virt -bios D:\VM\arm64\QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=D:\vm\arm64\kylindisk.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 -net nic -net user,hostfwd=tcp::2222-:22
- 我们已经做过端口映射了,直接通过宿主机ip:2222,通过ssh可以链接到服务器。

- 验证系统是否为arm64的架构。

- 如果要新增其他外部端口访问,请在启动命令行中添加端口即可,例如添加8888端口的宿主机访问。…hostfwd=tcp::2222-:22 ,hostfwd=tcp::8888-:8888,用逗号间隔即可。
另外,光开放外部端口访问可能还不行,还需要关闭虚拟机的防火墙,linux命令如下:
# 永久关闭防火墙
systemctl disable firewalld
# 查询防火墙状态
systemctl status firewalld
相关文章:
信创环境模拟:X86架构下部署搭建aarch64的ARM虚拟机
在真实系统为x86架构下,搭建arm64的虚拟开发环境。在该环境中直接下载打包项目依赖的python运行环境。 前言 随着国家信创环境的要求普及,基本和国家沾边的政企事业单位都换成了信创环境,即ARM64的cpu服务器,而且该类服务器是不…...
TSO的资料
TSO即TCP Segmentation Offload,相关资料如下: Segmentation Offloads in the Linux Networking StackWhat is TCP Segmentation OffloadUnderstanding TCP Segmentation Offload (TSO) and Large Receive Offload (LRO) in a VMware environment...
OpenCV视觉分析之目标跟踪(3)实现基于金字塔的 Lucas-Kanade 算法来进行稀疏光流计算的类SparsePyrLKOpticalFlow的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 用于计算稀疏光流的类。 该类可以使用带有金字塔的迭代 Lucas-Kanade 方法来计算稀疏特征集的光流 cv::SparsePyrLKOpticalFlow 类是 OpenCV 库…...
乐维网管平台(一):如何精准掌控 IP 管理
业网络已成为支撑业务运转的关键基础设施,而在企业网络管理中,IP 管理至关重要,它就像是网络秩序的守护者,确保网络的高效运行、安全可靠。 一、为什么企业要进行 IP 管理 1. 优化资源分配 IP 地址作为网络中的重要资源…...
React-Route新版本(v6或以上)用法示例
新版本的React-Route (v6或以上,但不排序后续版本还会有修改),移除了Switch,写法和老版本有一些区别,下面分享一个示例: JSX文件: import React, {StrictMode } from react import { createRoot } from react-dom/cli…...
卡方检验方法概述与类型——四格表和R*C表卡方检验案例
卡方检验是以卡方分布为基础,针对定类数据资料的常用假设检验方法。其理论思想是判断实际观测到的频数与有关总体的理论频数是否一致。 卡方统计量是实际频数与理论频数吻合程度的指标。卡方值越小,表明实际观察频数与理论频数越接近,反之卡…...
在浏览器和Node.js环境中使用Puppeteer的Rollup与Webpack打包指南
Puppeteer是一个Node.js库,它提供了一套高级API来通过DevTools协议控制Chrome或Chromium。虽然Puppeteer通常在服务器端使用,但有时你可能需要在浏览器环境中使用它的某些功能。本文将介绍如何使用Rollup和Webpack来打包包含Puppeteer或其轻量级版本Pupp…...
GPT论文整理提示词
论文阅读 指令1:粗读论文 请你阅读并理解这篇文献,然后将该篇文章的标题作为一级标题,将摘要和各个大标题作为二级标题,将小标题作为三级标题,将小标题下每一部分内容作为四级标题,给我以markdown的语言输出中文的翻…...
在培训班学网络安全有用吗
在当今数字化时代,网络安全问题日益凸显,成为了企业和个人关注的焦点。随着对网络安全人才需求的不断增长,各种网络安全培训班也如雨后春笋般涌现。然而,在培训班学网络安全真的有用吗? 一、网络安全的重要性与挑战 1. 信息时代的…...
Flink CDC系列之:理解学习YARN模式
Flink CDC系列之:理解学习YARN模式 准备会话模式在 YARN 上启动 Flink 会话设置 Flink CDC提交 Flink CDC Job Apache Hadoop YARN 是许多数据处理框架中流行的资源提供者。Flink 服务提交给 YARN 的 ResourceManager,后者在由 YARN NodeManagers 管理的…...
langgraph入门
使用langgraph框架搭建一个简易agent。 最近想学习一下agent相关知识,langgraph似乎挺好的,于是就来试一试。langgraph。看了官网,起核心思想是将agent中的角色和工具都当作是图的Node,整个agent流程通过增加Node之间的边来设定。…...
【Python】爬虫程序打包成exe
上一篇写了爬虫获取汽车之家配置表,师父要更方便使用甚至推广(?),反正就是他们没有环境也能用嘛,我就直接打包了,界面不会做也懒得学了、、 1、下载pyinstaller(清华镜像)…...
【力扣专题栏】两两交换链表中的节点,如何实现链表中两两相邻节点的交换?
这里写目录标题 1、题目描述解释2、算法原理解析3、代码编写 1、题目描述解释 2、算法原理解析 3、代码编写 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int…...
埋点采集的日志数据常见的格式简介
埋点采集的日志数据通常以结构化或半结构化的格式进行记录,以便于分析和处理。常见的格式包括: 1. JSON(JavaScript Object Notation) 特点:JSON 格式是一种轻量级的数据交换格式,具有良好的可读性和兼容…...
基于SSM高考志愿辅助填报系统设计与实现
前言 近年来,由于计算机技术和互联网技术的飞速发展,所以各企事业单位内部的发展趋势是数字化、信息化、无纸化,随着这一趋势,而各种决策系统、辅助系统也就应运而生了,其中,信息管理系统是其中重要的组成…...
elasticsearch 8.x 插件安装(六)之Hanlp插件
elasticsearch 8.x 插件安装(六)之Hanlp插件 elasticsearch插件安装合集 elasticsearch插件安装(一)之ik分词器安装(含MySQL更新) elasticsearch 8.x插件(二)之同义词安装如何解决…...
排序算法简记
列举几种基本的排序算法和排序思想 排序就是将一组对象按照某种逻辑顺序重新排列的过程。 一、选择排序 1、基本原理 最基本的排序,每次都从原有数据中选择最小或最大的数组放入新数据集中 2、步骤(以从小到大为例) 首先, 找到数组中最小的那个元素…...
Stable diffusion inference 多卡并行
stable diffusion 推理过程 多卡并行 注意事项 以SDXL为例,指定GPU,添加device_map参数信息 device_map {add_embedding: 1,decoder: 1,encoder: 1,conv_in: 1,conv_out: 1,post_quant_conv: 1,text_model: 6,conv_norm_out: 1,quant_conv: 1,time_em…...
Docker:namespace环境隔离 CGroup资源控制
Docker:namespace环境隔离 & CGroup资源控制 Docker虚拟机容器 namespace相关命令ddmkfsdfmountunshare 进程隔离文件隔离 CGroup相关命令pidstatstresscgroup控制 内存控制CPU控制 Docker 在开发中,经常会遇到环境问题,比如程序依赖某个…...
鼠标增强工具 MousePlus v5.3.9.0 中文绿色版
MousePlus 是一款功能强大的鼠标增强工具,它可以帮助用户提高鼠标操作效率和精准度。该软件可以自定义鼠标的各种功能和行为,让用户根据自己的习惯和需求来调整鼠标的表现。 详细功能 自定义鼠标按钮功能:可以为鼠标的各个按钮设置不同的功能…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
