利用Qemu工具仿真ARM64平台

news2024/11/13 20:43:27

Windows系统利用Qemu仿真ARM64平台

  • 0 写在最前
  • 1 Windows安装Qemu
    • 1.1 下载Qemu
    • 1.2 安装Qemu
    • 1.3 添加环境变量
    • 1.4测试安装是否成功
  • 2. Qemu安装Ubuntu-Server-Arm-64
    • 2.1 安装前的准备
    • 2.2 安装Ubuntu server arm 64位镜像
  • 3 Windows配置Qemu网络和传输文件
    • 3.1 参考内容
    • 3.2 Windows安装MobaXterm
    • 3.2 Windows通过SSH直连ARM镜像并配置网络
    • 3.3 Windows通过SFTP传输文件到ARM镜像
  • 4 Ubuntu配置Qemu网络和传输文件
    • 4.1 参考内容
    • 4.1 安装MobaXterm
    • 4.2 Ubuntu通过SSH直连ARM镜像并配置网络
    • 4.3 Ubuntu通过SFTP传输文件到ARM镜像

0 写在最前

    1. 本文是在Windows平台上,仿真ARM 开发平台,其中ARM采用的是发布版本的Ubuntu20.04系统
    1. 本文在Linux(Ubuntu)平台上,尝试安装,但是Linux平台上,半天没有加载出安装界面,因此转到Windows平台进行安装镜像,但是安装好的镜像即可在任何的Qemu平台上运行
    1. 推荐大家如果在Ubuntu内无法安装镜像,可以尝试从Windows安装好镜像丢到Ubuntu内操作,Ubuntu加速效果的确比Windows更好
    1. Windows平台软件列表:Window10,qemu-w64-setup-20221230.exe,Ubuntu20.04.5-server-arm64.ISO,QEMU UEFI
    1. Ubuntu平台软件列表:Ubuntu20.04,qemu(4.2.1),Ubuntu20.04.5-server-arm64.ISO,QEMU UEFI
  1. 问题1:Windows安装好的ubuntu.img镜像能否加载到VirtualBox的Ubuntu系统中使用呢?
    答案是可以的,而且发现,在Ubuntu平台上运行qemu的Ubuntu镜像,比Windows上流畅,原因可能是Ubuntu自身的KVM支持更好一些
    在这里插入图片描述
    参考内容
    从0开始使用QEMU模拟ARM开发环境之QEMU利用桥接联网
    Windows上使用QEMU创建aarch64(ARM64)虚拟机
    Windows使用QEMU搭建arm64 ubuntu 环境
    Windows 搭建ARM虚拟机 UOS系统
    Ubuntu18.04使用qemu搭建ARM64架构虚拟机(方法一)
    【UEFI实战】Windows版本QEMU网络配置
    【Linux operation 25】Win10桥接网卡使得qemu虚拟机可以正常访问网络
    Windows主机的Qemu网络配置
    win10上qemu虚拟arm环境网络配置
    QEMU 网络配置一把梭
    Linux 内核调试 七:qemu网络配置
    Linux 虚拟网络设备详解之 Bridge 网桥
    qemu虚拟机与主机共享文件(FTP服务器)

1 Windows安装Qemu

1.1 下载Qemu

Qemu官方地址,Windows系统选择最新版本的exe程序进行下载

在这里插入图片描述

1.2 安装Qemu

选择正确的安装路径,直接点击下一步,即可安装成功

在这里插入图片描述

1.3 添加环境变量

在系统中添加环境变量
在这里插入图片描述

1.4测试安装是否成功

win+r组合键,打开cmd,输入qemu-system-aarch64 -M help,查看输出,如果有系统输出,则表明安装成功

在这里插入图片描述

2. Qemu安装Ubuntu-Server-Arm-64

2.1 安装前的准备

准备内容
Ubuntu20.04 server arm64
QEMU UEFI
足够的磁盘空间
Ubuntu-Server 20.04 安装详细过程(图文)

2.2 安装Ubuntu server arm 64位镜像

    1. 新建文件夹用于存放以上三个文件,并存放后续的Ubuntu镜像

在这里插入图片描述

    1. 创建镜像文件:qemu-img create ubuntu.img 50G
E:\UbuntuARM>qemu-img create ubuntu.img 50G
Formatting 'ubuntu.img', fmt=raw size=53687091200

E:\UbuntuARM>
    1. 安装镜像文件:qemu-system-aarch64.exe -m 2048 -cpu cortex-a72 -smp 4,cores=4,threads=1,sockets=1 -M virt -bios QEMU_EFI.fd -net nic,model=pcnet -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -drive if=none,file=ubuntu-20.04.5-live-server-arm64.iso,format=raw,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=ubuntu.img,format=raw,id=hd0 -device virtio-blk-device,drive=hd0

在这里插入图片描述

    1. 安装中间勾选SSH服务:勾选SSH服务,后期SSH可以帮助我们配置网络,否则就得将镜像丢入Ubuntu内进行网络桥接配置了,略微麻烦

在这里插入图片描述

    1. 关于reboot:安装完成之后会提示reboot机器,但是多半reboot失败并提示:Failed unmounting /cdrom,此时 可以直接退出机器

在这里插入图片描述

    1. 启动镜像文件:qemu-system-aarch64.exe -m 4096 -cpu cortex-a72 -smp 8 -M virt -bios QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=ubuntu.img,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -net user,hostfwd=tcp::2222-:22 -net nic

3 Windows配置Qemu网络和传输文件

3.1 参考内容

值得一看
【UEFI实战】Windows版本QEMU网络配置
【Linux operation 25】Win10桥接网卡使得qemu虚拟机可以正常访问网络
Windows主机的Qemu网络配置
win10上qemu虚拟arm环境网络配置

  • Windows上安装好qemu模拟的arm Ubuntu之后,发现没有办法共享剪切板,甚至连网络都走不出去,而网络上的教程提示我们利用OpenVPN创建TAP类型的网卡,进行桥接,但是OpenVPN针对企业网络,想要下载安装太麻烦了,因此 本文想通过不安装任何网卡软件,使得软件能够接入qemu内的虚拟机。

3.2 Windows安装MobaXterm

MobaXterm:官方网站,是一款开源的远程连接工具,类似xshell,下载exe文件,双击安装即可。

3.2 Windows通过SSH直连ARM镜像并配置网络

预备条件

  1. 之前Qemu内的系统,安装过OpenSSH
  2. MobaXterm已经安装成功:安装mobaXterm主要是为了方便接入SSH并共享剪切板
  3. 镜像文件进行了端口转发:hostfwd=tcp::2222-:22 -net nic

在这里插入图片描述

    1. 按照下面的方式,启动镜像:qemu-system-aarch64.exe -m 4096 -cpu cortex-a72 -smp 8 -M virt -bios QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=ubuntu.img,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -net user,hostfwd=tcp::2222-:22 -net nic

在这里插入图片描述

    1. 查看本机IP,并通过SSH连接到虚拟镜像

在这里插入图片描述

    1. 登录虚拟机,进行换源:Ubuntu(arm)20.04更换软件源,本文是直接删除了sources.list然后新建了新的文件,替换了源文件
pldz@pldz-arm:~$ sudo rm /etc/apt/sources.list
pldz@pldz-arm:~$ sudo touch /etc/apt/sources.list
pldz@pldz-arm:~$ sudo vi /etc/apt/sources.list
pldz@pldz-arm:~$ sudo apt-get update
    1. 至此,可以在镜像文件中,安装net-toolsgccgdbmakecmake,等等工具,搭建好开发环境

3.3 Windows通过SFTP传输文件到ARM镜像

预备条件

  1. 之前Qemu内的系统,安装过OpenSSH
  2. MobaXterm已经安装成功:安装mobaXterm主要是为了方便接入SSH并共享剪切板
  3. 镜像文件进行了端口转发:hostfwd=tcp::2222-:22 -net nic

在这里插入图片描述

    1. 在MobaXterm内选择SFTP传输,选择IP、用户名和端口,登录SFTP

在这里插入图片描述

    1. 输入用户密码,从Windows拖动文件到SFTP对话框内,传输文件

4 Ubuntu配置Qemu网络和传输文件

4.1 参考内容

参考内容
QEMU 网络配置一把梭
Linux 内核调试 七:qemu网络配置
Linux 虚拟网络设备详解之 Bridge 网桥
qemu虚拟机与主机共享文件(FTP服务器)

  • Ubuntu可以通过sudo apt-get命令很简单的获取到TAP网卡,但是在配置过程中还是有点复杂,本文其实采用Ubuntu的目的只是在此基础上进行二次开发,很像套娃,Windows10上利用Virtualbox安装Ubuntu20-x64,Ubuntu内利用Qemu安装Ubuntu20-arm64,再借助MobaXterm工具进行网络连接转发和文件传输,利用SSH绕过了TAP

4.1 安装MobaXterm

见前面第3.1节

4.2 Ubuntu通过SSH直连ARM镜像并配置网络

预备条件

  1. 之前Qemu内的系统,安装过OpenSSH
  2. Virtualbox内的UbuntuX64启动了OpenSSH服务
  3. Windows主机能供Ping通过Virtualbox内的UbuntuX64
  4. MobaXterm已经安装成功:安装mobaXterm主要是为了方便接入SSH并共享剪切板
  5. 镜像文件进行了端口转发:hostfwd=tcp::2222-:22 -net nic
    1. MobaXterm接入Virtualbox的虚拟机:在SSH模块,输入Virtualbox内的UbuntuX64的IP进行SSH连接

在这里插入图片描述

    1. 在Virtualbox的Ubuntux64启动Qemu运行UbuntuArm64:找到镜像文件目录,其中包括镜像文件和QEMU_EFI文件,输入qemu-system-aarch64 -m 4096 -cpu cortex-a57 -smp 8 -M virt -bios QEMU_EFI.fd -nographic -net user,hostfwd=tcp::2222-:22 -net nic -device virtio-scsi-device -drive if=none,file=ubuntu.img,format=raw,index=0,id=hd0 -device virtio-blk-device,drive=hd0

在这里插入图片描述

    1. 验证网络是否能访问外网:

在这里插入图片描述

4.3 Ubuntu通过SFTP传输文件到ARM镜像

预备条件

  1. 之前Qemu内的系统,安装过OpenSSH
  2. Virtualbox内的UbuntuX64启动了OpenSSH服务
  3. Windows主机能供Ping通过Virtualbox内的UbuntuX64
  4. MobaXterm已经安装成功:安装mobaXterm主要是为了方便接入SSH并共享剪切板
  5. 镜像文件进行了端口转发:hostfwd=tcp::2222-:22 -net nic
    1. 在MobaXterm内选择SFTP传输,选择虚拟机的Ubuntux64的IP、UbuntuARM用户名Qemu的UbuntuARM端口,登录SFTP

在这里插入图片描述

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

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

相关文章

数据湖架构Hudi(五)Hudi集成Flink案例详解

五、Hudi集成Flink案例详解 5.1 hudi集成flink flink的下载地址: https://archive.apache.org/dist/flink/ HudiSupported Flink version0.12.x1.15.x、1.14.x、1.13.x0.11.x1.14.x、1.13.x0.10.x1.13.x0.9.01.12.2 将上述编译好的安装包拷贝到flink下的jars目录…

Python(青铜时代)——字符串

字符串的定义与操作 字符串就是 一串字符 ,是编程语言中表示文本的数据类型 在Python中使用一对双引号 "" 或者一对单引号来定义. 使用索引获取一个字符串中 指定位置的字符,索引计数从0开始 可以用 for/while 循环遍历字符串中的每一个字符…

NGINX学习笔记(一):一篇了解NGINX的基本概念

NGINX是什么? NGINX是一款由俄罗斯人伊戈尔赛索耶夫使用C语言开发的、支持热部署的、轻量级的WEB服务器/反向代理服务器/电子邮件代理服务器,因为占用内存较少,启动极快,高并发能力强,所以在互联网项目中广泛应用。可…

CRM系统的四种数据分析法

在数字化时代,数据就是一切。因此,通过数据来支撑企业决策,才能确保制定的决策在更大程度上保持准确。因此,CRM客户管理系统的数据分析能力不容忽略。CRM获取的客户信息,就是很好的数据支撑样本,让企业从数…

CANfd 一次采样点和二次采样点

CANfd 一次采样点和二次采样点 采样点的定义 采样点是CAN控制器读取总线电平,并解释各个比特的逻辑值的时间点。 首先我们需要了解Tq的概念,Tq是can控制器的最下时间周期称作时间份额(Time quantum,简称Tq),它是通过芯…

2023年3月全国DAMA-CDGA/CDGP数据治理认证招生简章

弘博创新是DAMA中国授权的数据治理人才培养基地,贴合市场需求定制教学体系,采用行业资深名师授课,理论与实践案例相结合,快速全面提升个人/企业数据治理专业知识与实践经验,通过考试还能获得数据专业领域证书。 DAMA认…

嵌入式学习笔记——认识STM32的 GPIO口

寄存器开发STM32GPIO口前言认识GPIOGPIO是什么GPIO有什么用GPIO怎么用STM32上GPIO的命名以及数量GPIO口的框图(重点)输入框图解析三种输入模式GPIO输入时内部器件及其作用1.保护二极管2.上下拉电阻(可配置)3.施密特触发器4.输入数…

Spark 存储系统

Spark 存储系统MemoryStoreDiskStoreSpark 存储系统架构: Spark 存储系统维护的数据 : Shuffle 中间文件 :Shuffle Map 输出数据 , 消耗节点磁盘广播变量 :在 Executors 内保存所有数据 ,消耗节点的内存RDD Cache : 将…

大数据技术之Hive(五)拉链表的设计与实现

一、什么是拉链表针对订单表、订单商品表,流水表,这些表中的数据是比较多的,如果使用全量的方式,会造成大量的数据冗余,浪费磁盘空间。所以这种表,一般使用增量的方式,每日采集新增的数据。在这…

DevOps平台之GitLab 账户个性化设置【二】

1、简介 上一篇文章安装完GITLAB服务之后,我们可以很方便地从浏览器登录上去进行仓库项目管理。 但是初始化的界面默认设备并不是能很好地使用,比如语言,皮肤,个人信息不完善等等。 所以本文就为了完善这些。 上一篇:…

Linux 配置本地yum源

挂载光盘 进入包 配置路径,查看在线yum源 移动在线yum源到/home/目录下 进入vi,任意取名以.repo结尾即可 按住i进行编辑,输入以下内容 注意gpgcheck1是检验,配置本地yum源不需要检验 写入上图内容按住:输入wq,点击回车…

LeetCode - 1653 使字符串平衡的最少删除次数

目录 题目来源 题目描述 示例 提示 题目解析 算法源码 题目来源 1653. 使字符串平衡的最少删除次数 - 力扣(LeetCode) 题目描述 给你一个字符串 s ,它仅包含字符 a 和 b​​​​ 。 你可以删除 s 中任意数目的字符,使得 …

广州银行冲刺A股上市:不良贷款规模突破100亿元,不良率飙升

又一家城商行平移申报IPO。近日,广州银行股份有限公司(下称“广州银行”)递交招股书,准备在深圳证券交易所主板上市。本次冲刺上市,广州银行计划募资约94.79亿元,国泰君安证券为其保荐机构。 截至目前&…

省选模拟测试23 T1直径

题目大意 给你一个数kkk&#xff0c;请你构造一棵节点数量小于等于5000的直径数量为kkk的树。 我们定义这棵树的直径为&#xff0c;所有满足1≤i<j≤n1\leq i<j\leq n1≤i<j≤n的(i,j)(i,j)(i,j)中&#xff0c;dis(i,j)dis(i,j)dis(i,j)最大的。如果有多个这样的(i,…

buu RSA what 1

题目描述&#xff1a; 题目四个文件&#xff0c;分别如下&#xff1a; rsa.py from Crypto.Util.number import bytes_to_long, getPrime from random import randint from gmpy2 import powmodp getPrime(2048) q getPrime(2048) N p*q Phi (p-1)*(q-1) def get_enc_key…

珠海先达盈致数据智能监控器+SaaS平台 轻松实现注塑生产管控

数据智能监控器 兼容市面上99%的注塑设备 直接读取设备生产数据与状态&#xff0c;如&#xff1a;计划产出、实际产出、累计产出、停机、节拍、线利用率、直通率、停产时间、工单状态、OEE、注胶时间…… 产品功能价值 ◎ OEE不达标报警&#xff0c;一手掌握生产效能 ◎ 首…

论文精读:Ansor: Generating High-Performance Tensor Programs for Deep Learning

文章目录1. Abstract2. Introduction3. Background4. Design Overview5. Program Sampling5.1 Sketch Generation5.2 Random Annotation6. Performance Fine-tuning6.1 Evolutionary Search6.2 Learned Cost Model7. Task Scheduler7.1 Problem Formulation7.2 Optimizing with…

使用nvm管理node版本

下载nvm版本参考文章&#xff1a;https://blog.csdn.net/langmanboy/article/details/126357952下载安装选择nvm的目录为d:\nvm&#xff0c;nodejs的目录为d:\nodejs&#xff1a;v14.0.0&#xff1a;执行nvm install 14生成的目录v16.0.0&#xff1a;执行nvm install 16生成的目…

详解vite原理

背景 自从尤大大的 vite 问世后&#xff0c;现在前端的构建工具由 webpack 转向 vite 的越来越多&#xff0c;今天主要来讨论一下 vite 的一些工作原理&#xff0c;讨论之前大家可以看这篇文章&#xff0c;尤其是注意其中谈到的 Bundleless&#xff0c;这样也能更好的理解 vit…

C#学习记录0.1

一、环境 编译器使用 Visual Studio 2022。  IDE(集成开发环境)搭建不做阐述。 二、创建项目与解决方案 打开Visual Studio 2022点击创建新项目&#xff0c;如下图所示。 搜索并选择控制台应用程序&#xff0c;如下图所示。 解决方案&#xff1a;针对用户的具体需要&#x…