3.1基于vexpress-a9arm平台的qemu仿真的kernel镜像环境搭建

高桐@BILL 高桐@BILL     2023-03-26     553

关键词:

写字前面

无论是手机,iot还是座舱,目前工作环境都是基于ARM环境开发的,所以还是要有一个arm环境来进行开发调试,那么这里我选择了基于vexpress-a9 arm平台的QEMU仿真进行调试开发;

一,QEMU简介

        QEMU是一种通用的,开源的计算机仿真器和虚拟器。它无需任何硬件虚拟化支持,可以以纯软件的方法来模拟一套完整的计算机系统,并且具备很好的性能。它也可以通过集成Xen和KVM Hypevisor来提供硬件的仿真,并且允许hypervisor管理CPU。当QEMU直接模拟CPU时,它能够在一台机器(x86_64_PC板)上运行为完全不同的一台机器(例如ARMv7 开发板)制作的专属平台的操作系统。说白了,就是可以再x86_64的开发板上运行ARMv7开发板上才能运行的操作系统。这一点提醒了QEMU强大的仿真能力和兼容性。

        QEMU也能够为Linux和BSD内核接口提供用户空间API虚拟化。这将允许在一个特定架构ABI(如Linux PPC64 ABI)上编译的二进制文件可以再其他不同架构ABI(如Linux x86_64 ABI)的主机上运行。这不涉及任何硬件仿真,仅仅需要CPU和系统调用仿真。

        QEMU旨在适配多种用例或使用场景。对于期望完全控制其行为和设置的用户可以直接调用它。它也旨在通过提供稳定的命令行界面和监控API来促进与更高级别管理层级的集成。当我们使用开源应用程序,如oVirt,OpenStack和virt-manage时,它通常可通过libvirt库被间接调用。

二,QEMU(arm)参考文档

2.1官网

https://github.com/qemu/qemu

3.2基于vexpress-a9arm平台的qemu仿真的rootfs镜像环境搭建(代码片段)

一,配置编译busybox1.1配置makeCROSS_COMPILE=arm-linux-gnueabi-ARCH=armmenuconfig1.2构建选项下勾选构建静态库---BuildOptions[*]Buildstaticbinary(nosharedlibs)1.3编译makedefconfigmakeCROSS_COMPILE=arm-linux-gnueabi-makeinstal 查看详情

3.2基于vexpress-a9arm平台的qemu仿真的rootfs镜像环境搭建

一,配置编译busybox1.1配置makeCROSS_COMPILE=arm-linux-gnueabi-ARCH=armmenuconfig1.2勾选静态构建选项---BuildOptions[*]Buildstaticbinary(nosharedlibs)1.3编译makedefconfigmakeCROSS_COMPILE=arm-linux-gnueabi-makeinstallCROSS_COMPILE=arm-linux-gnueabi-二,初始化根文件系统2.1co... 查看详情

利用wsl2搭建qemu仿真vexpress-a9开发环境(代码片段)

利用WSL2搭建Qemu仿真Vexpress-a9开发环境开发环境搭建更新软件源uboot-tools安装交叉编译环境安装qemu安装编译linux镜像和DBT文件启动qemu仿真kernelbusybox制作根文件系统制作rootfs使用u-boot启动kernel下载编译u-bootu-boot利用tftp网络引导方式... 查看详情

尝试向树莓派3b引入drbian9arm64-part3

Bluetooth笔者尝试安装bluez并开启蓝牙,未果:[email protected]:~$bluetoothctlWaitingtoconnecttobluetoothd...在GentooWiki的某个角落,笔者找到了启动蓝牙的方法:/usr/bin/hciattach/dev/ttyAMA0bcm43xx921600noflow-VCHI(bcm2835-v4l2)笔者切换至 查看详情

.NET Core 3.1 基于角色的 JWT 授权返回 403 禁止

】.NETCore3.1基于角色的JWT授权返回403禁止【英文标题】:.NETCore3.1role-basedauthorizationwithJWTreturns403forbidden【发布时间】:2020-12-0100:23:16【问题描述】:我遇到了一个问题,当我尝试在我的控制器中使用[Authorize(Roles="Administrator&quo... 查看详情

ASP.NET Core 3.1 中基于角色的授权,带有 Identity 和 ExternalLogin

】ASP.NETCore3.1中基于角色的授权,带有Identity和ExternalLogin【英文标题】:RolebasedauthorizationinASP.NETCore3.1withIdentityandExternalLogin【发布时间】:2020-09-2418:09:30【问题描述】:我是.NETCore的新手,我正在尝试在.NETCore3.1项目中设置基于角... 查看详情

适用于任何平台的 WPF .net Core 3.1 应用程序部署工具?

】适用于任何平台的WPF.netCore3.1应用程序部署工具?【英文标题】:WPF.netCore3.1applicationdeploymenttoolsforanyplatform?【发布时间】:2021-11-1414:09:10【问题描述】:我有一个实用程序编辑器应用程序,它与另一个主应用程序一起使用。主... 查看详情

kvm虚拟化桥接模式

...M的虚拟化需要硬件支持(如IntelVT技术或者AMDV技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本省有自己的进程调度器,存储管理模块等,所以代... 查看详情

android系统安全—3.1-展锐平台secureboot安全启动流程和使用(代码片段)

概述本文主要介绍基于ARM架构的展锐芯片sl8541e Android平台的Secureboot方案功能设计实现,其他展锐芯片的安全方案设计都差不多,以经典芯片方案授之以渔。缩略语 1安全启动介绍Android采用了业界领先的安全功能,并... 查看详情

利用wsl2搭建qemu仿真vexpress-a9开发环境(代码片段)

利用WSL2搭建Qemu仿真Vexpress-a9开发环境开发环境搭建更新软件源uboot-tools安装交叉编译环境安装qemu安装编译linux镜像和DBT文件启动qemu仿真kernelbusybox制作根文件系统制作rootfs使用u-boot启动kernel下载编译u-bootu-boot利用tftp网络引导方式... 查看详情

[云原生专题-2]:总体-实战案例架构与实战学习路径

...的角度,阐述云原生的实战学习路径,包括如何基于公有云平台,自己手工搭建一个Docker+K8s的微服务应用程序项目,如何以青云的KubeSphere+Jenkins为核心,集成周边工具,为该微服务项目搭建一个从需... 查看详情

3.1_springboot内部处理机制解析

前言目前基于SpringBoot进行Web应用开发已经成为一个趋势,Spring官网内部的很多入门Demo都是基于SpringBoot的,因此掌握SpringBoot成为当下基于Java的Web开发的必备技能。 SpringBoot相对于传统Servlet容器模式还是有几点颠覆性的改变... 查看详情

windows平台下基于qt和opencv搭建图像处理平台

...前的博客中,已经分别比较详细地阐述了“windows平台下基于VS和OpenCV”以及“Linux平台下基于QT和OpenCV"搭建图像处理框架,并且生成了相应的免费视频。这篇博客的主要内容,就是基于最新版本的相应工具,在windows平台下,“基... 查看详情

基于amlogic安卓9.0,驱动简说:platform平台驱动,驱动与设备的分离(代码片段)

...;实现设备的静态枚举,实现设备与驱动的分离。本文基于AmlogicT972,Android9.0,内核版本4.9.113二、系列文章第1篇:基于Amlogic安卓9.0,驱动简说(一):字符设备驱动,手动创建设备第2篇:基于Aml... 查看详情

stm32与arm7arm9arm11

本内容详细介绍了ARM与STM32的关系,STM32与ARM7、ARM9、ARM11的区别,美国芯片巨头英伟达欲收购ARM资讯。紫色文字是超链接,点击自动跳转至相关博文。持续更新,原创不易!目录:一、STM32与ARM的关系1、ARM... 查看详情

kubernetes企业项目实战04基于k8s构建efk+logstash+kafka日志平台(上)(代码片段)

目录一、日志对我们来说到底重不重要?日志打印的常见级别二、常见的日志收集方案2.1EFK2.2ELKStack2.3 ELK+filebeat2.4其他方案三、EFK组件详细介绍 3.1Elasticsearch组件介绍3.2Filebeat组件介绍1)Flebeat和Beat关系2)Filebeat... 查看详情

基于locust的性能测试平台搭建

前段时间加入性能测试组,并参与搭建基于locust的性能测试平台,我分到的任务相对独立,开发locust的启动接口和停止运行接口,以下是locust运行的相关内容  查看详情

基于大数据平台的毕业设计01:基于docker的hdp集群搭建(代码片段)

前言好多人问我,这种基于大数据平台的xxxx的毕业设计要怎么做。这个可以参考之前写得关于我大数据毕业设计的文章基于大数据平台的毕业设计。这篇文章是将对之前的毕设进行优化。个人觉得可以分为两个部分。第一个... 查看详情