利用Qemu工具仿真ARM64平台
创始人
2024-05-29 20:01:19
0

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=53687091200E:\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

在这里插入图片描述

相关内容

热门资讯

清朝有很多有名的历史人物,能给... 清朝有很多有名的历史人物,能给大家说几个清朝的历史人物吗?林则徐,张之洞,乾隆皇帝,曾国藩,朱耷,这...
曹丕的“太子四友”指的是谁 曹丕的“太子四友”指的是谁首先说,曹丕这四个,陈群司马懿是顶级的谋士和政治家,吴质有些小聪明,朱铄不...
在这次遇难者中存在了几名幸存者... 在这次遇难者中存在了几名幸存者。这句话是不是逻辑错误这句话的逻辑没有问题,有问题的是用词不当。遇难者...
在中国古代,有许多充满哲学智慧... 在中国古代,有许多充满哲学智慧的成语典故、寓言故事,如...在中国古代,有许多充满哲学智慧的成语典故...
清澈的意思是什么,… 清澈的意思是什么,…清净而明澈清而透明【造句】看着他清澈而又天真的眼眸,我的心久久不能平静……
蚂蚁森林合种爱情树一方退出怎么... 蚂蚁森林合种爱情树一方退出怎么找回来两个人合种的爱情树,我退出来,我怎么再次加入进去继续合作那个树?...
有好看的古代修炼小说推荐吗? 有好看的古代修炼小说推荐吗?古代重生穿越修炼......让我帮你找一下这些古代修炼的小说,找到这些类...
女主重生爱上前世辜负的人 女主重生爱上前世辜负的人重生我是你正妻渣女重生之竹马重生之弃渣重生之夫君可欺重生之换我疼你重生妇归来...
华胥引有广播剧吗 华胥引有广播剧吗现有的华胥引的广播剧是忆语广播剧社出品的,只有十三月和杯(这个是错字,请无视,居然输...
选文韩麦尔先生在说了,我的朋友... 选文韩麦尔先生在说了,我的朋友们我就要离开你们呢了,再见了银头鲑鱼tj75rt6yturdrruv ...
中通快递从北京保定市到广东揭阳... 中通快递从北京保定市到广东揭阳普宁要多久?中通快递从北京保定市到广东揭阳普宁要多久?从北京到广东需要...
关于离婚悲伤的歌曲 关于离婚悲伤的歌曲关于离婚悲伤的歌曲林俊杰《可惜没如果》 张靓颖《我走以后》 金志文《流着泪说分手》...
形容文笔差怎么说啊? 形容文笔差怎么说啊?哥哥姐姐,麻烦问下,我是做文员的,形容文案方面的工作很差应该怎么说啊?粗鄙怎么样...
我想做未婚妈妈,可行吗? 我想做未婚妈妈,可行吗?没关系吧?我同学好多他们妈妈都是30岁以后省得他们,都没事啊,但是如果你自己...
如何在两个excel表格里筛选... 如何在两个excel表格里筛选出重复的名字如何在两个excel表格里筛选出重复的名字1、电脑打开EX...
且试天下 哪些小说是用白绫做武... 且试天下 哪些小说是用白绫做武器的?神雕侠侣吖- -..小龙女一开始就是用白绫的聊斋 辛十四娘嘿嘿~...
自带高冷体质,笑起来温暖又治愈... 自带高冷体质,笑起来温暖又治愈的星座,你了解吗?虽然天生高冷体质,但是笑起来特别的温暖治愈的新作用天...
火星未解之谜 火星未解之谜多列举一些,每个事例最好长一点,谢啦~“火星人脸”, “地表被水冲击河道”,“原始大气和...
我是1991年10月4号生的,... 我是1991年10月4号生的,是什么星座啊有的说是处女座有的说是天平座,糊涂了,到底是什么啊很负责任...
梦见白狐狸,然后当时我骑着自行... 梦见白狐狸,然后当时我骑着自行车,我想躲开它,他很凶的的追赶我,最后它向我扑了过来,然后我就醒乐.你...