Windows系统利用Qemu仿真ARM64平台

news2024/9/23 21:23:41

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/392356.html

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

相关文章

正版Scrivener 3 论文/小说写作工具神器软件

一款非常优秀的写作软件,提供了各种写作辅助功能,如标注多个文档、概述介绍、全屏幕编辑、快照等,能够轻松、便捷的辅助作者从作品构思、搜集资料、组织结构、增删修改到排版输出的整个写作流程。 作为一个专业的写作软件,Scriven…

spring 的invokeBeanFactoryPostProcessors()

在spring启动过程中有个10多个关键的方法其中invokeBeanFactoryPostProcessors()在函数在BeanDefinition完全加载后执行,实现的是spring bean的后置增强器BeanFactoryPostProcessor。 BeanFactoryPostProcessor在bean的生命周期中&#xff0…

企业移动内容管理(MCM)

1.什么是移动内容管理 (MCM) 移动内容管理 (MCM) 是指在组织中使用的移动设备上分发和管理企业文件的过程,以确保授权用户可以通过批准的设备安全地访问所需的资源。MCM 允许 IT 管理员在其组织员工使用的智能手机、平…

音频基础知识简述 esp-sr 上手指南

此篇博客先对音频基础知识进行简要叙述,然后帮助读者入门 esp-sr SDK。 1 音频的基本概念 1.1 声音的本质 声音的本质是波在介质中的传播现象,声波的本质是一种波,是一种物理量。 两者不一样,声音是一种抽象的,是声…

Vue学习笔记(6)

6.1 组件 6.1.1 什么是组件 Vue的组件是可复用的Vue实例,它可以封装HTML元素和 CSS样式以及与之相关的JavaScript行为。每个组件都有自己的作用域,因此它可以避免全局作用域中的命名冲突,并且可以方便地在不同的Vue实例中重复使用。组件的结…

2023年武汉安全员C证报考条件、流程、报名时间是什么?启程别

2023年武汉安全员C证报考条件、流程、报名时间是什么?启程别 安全员C建筑施工企业专职安全生产管理人员,是指在企业专职从事安全生产管理工作的人员,包括企业安全生产管理机构的负责人及其工作人员和施工现场专职安全生产管理人员。武汉安全员…

Firewall App Blocker v1.7 防火墙管理设置工具多语言版

Firewall App Blocker 是一款由 BlueLife 与 Velociraptor 开发的免费且功能强大的防火墙设置软件。在 Windows 操作系统中,您可以使用 Windows 防火墙来阻止或解除阻止某些应用程序的联网,然而微软并没有为 Windows 防火墙提供一个易于使用的界面,来让用户使用其强大的功能…

高斯分布、高斯混合模型、EM算法详细介绍及其原理详解

相关文章 K近邻算法和KD树详细介绍及其原理详解朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解决策树算法和CART决策树算法详细介绍及其原理详解线性回归算法和逻辑斯谛回归算法详细介绍及其原理详解硬间隔支持向量机算法、软间隔支持向量机算法、非线性支持向量机算法详细…

【备战面试】每日10道面试题打卡-Day5

本篇总结的是计算机网络知识相关的面试题,后续也会更新其他相关内容 文章目录1、计算机网络的各层协议及作用是什么?2、简述一下DNS的工作流程3、TCP与UDP有什么区别?4、TCP协议如何保证可靠传输5、拥塞控制机制是什么?6、HTTP 与…

朋友去华为面试,轻松拿到26K的Offer,羡慕了......

最近有朋友去华为面试,面试前后进行了20天左右,包含4轮电话面试、1轮笔试、1轮主管视频面试、1轮hr视频面试。 据他所说,80%的人都会栽在第一轮面试,要不是他面试前做足准备,估计都坚持不完后面几轮面试。 其实&…

应用层与传输层~

文章目录应用层自定义应用层协议什么是自定义应用层协议自定义方式运输层运输层概述运输层特点运输层协议UDP协议UDP的特点UDP首部格式校验规则TCP协议TCP的特点TCP协议段格式TCP的性质确认序号超时重传连接管理三次握手四次挥手TCP的状态滑动窗口流量控制拥塞控制延迟应答捎带…

linux笔记(10):ubuntu环境下,基于SDL2运行lvgl+ffmpeg播放mp4

文章目录1.ubuntu安装ffmpeg1.1 源码安装1.1 克隆ffmpeg源码1.2 配置编译条件,编译,安装1.2 直接安装依赖包2.下载lvgl源码2.1 测试原始代码2.2 运行lv_example_ffmpeg_2()例程2.2.1 配置 LV_USE_FFMPEG 为 12.2.2 lv_example_ffmpeg_2()替换lv_demo_wid…

C++核心知识(二)—— 类和对象(类的封装)、对象的构造和析构(浅拷贝、深拷贝、explicit、动态分配内存)

【上一篇】C核心知识(一)—— C概述、C对C的扩展(作用域、struct类型、引用、内联函数、函数默认参数、函数占位参数、函数重载)【下一篇】C核心知识(三)—— 静态成员(变量、函数、const成员)、面向对象模型(this指针、常函数、常…

linux安装pycharm

linux安装pycharm1.下载相关软件包2. 安装步骤2.1 解压文件2.2 开启命令2.4 创建快捷方式官网链接 https://www.jetbrains.com/pycharm/download/#sectionlinux 1.下载相关软件包 找到自己下载的版本下载 2. 安装步骤 2.1 解压文件 进入压缩包路径 解压文件【我指定了解…

设计模式-第10章(建造者模式)

建造者模式建造者模式建造者模式解析建造者模式的基本代码结构建造者模式 建造者模式(Builder),将一个复杂对象的构建和表示分离,使得同样的构建过程可以创建不同的表示。 如果我们用了建造者模式,那么用户就只需指定…

欢乐消除开心假日协议解密

欢乐消除开心假日协议解密协/议/流/量/解/密分析欢乐消除开心假日这款游戏流量的协议加密方式。序欢乐消除开心假日是一款合成模拟家装的游戏,在这个游戏中,你将成为一位充满热情的设计师,与好友一起经营工作室。你需要根据客户的需求重新设计…

详解PyTorch Tensor 数据类型——张量

目录 张量 张量的结构 张量的创建 张量的操作 数学运算 逻辑运算 形状操作 索引和切片 张量的维度变换 常见的数据类型存储 附录PyTorch官方API中文文档 张量 在PyTorch中,张量(Tensor)是一种常见的数据类型,它是一个…

如何快速将多图片合并拼接成一张大图并保留原图质量 - 极速图片合成拼接器软件简介

在工作中我们有时需要把多张图片打印在一张纸上,那就必须手动排列和调整每张图片的大小,这可是一项费时费力的任务。 借助极速图片合成拼接器这款软件,终于可以快速自动解决这种任务啦! 它是一款可以自动一次性将多个图像文件合并…

Jenkins部署angular11自动打包

可能年纪大了,对于新东西的学习和接收有点慢,花了差不多一周的时间,终于把jenkins配置好了,可以自动打包,与手动打出来的一样,以后就解放双手了。#!/bin/bashnpm cache clean -fnpm -vnode -vnpm install n…

ubuntu 18.04.06LST安装R4.0+版本报错及解决过程

1. sudo apt-get update无法正常使用 错误:13 http://ppa.launchpad.net/webupd8team/sublime-text-3/ubuntu bionic Release 404 Not Found [IP: 2620:2d:4000:1::3e 80] 解决措施:删除 webupd8team/sublime-text-3这个ppa文件。 sudo add-apt-repository --…