使用QEMU(x86)模拟运行ARM64架构的 Jailhouse 并调试

Jiaming
领域专家: 操作系统技术领域
2023-05-08 17:08:30

预备知识:使用QEMU(x86)模拟运行ARM64架构并进行内核调试

在 QEMU 虚拟机(x86)中模拟运行 ARM64
内核:来自 jailhouse-images(rpi4、qemu)
文件系统:使用 busybox 制作

目录

  • 根文件系统的修改使用方式
  • 使用 QEMU 调试 Jailhouse
  • 非原生内核编译 Jailhouse 出错
  • tools/jailhouse 工具 not found ... 问题
  • jailhouse.bin failed with error -2
  • request_mem_region failed ...
  • jailhouse enable 成功后立刻挂掉

根文件系统的修改使用方式

sudo mount busybox-1.29.0-rootfs_ext4.img rootfs/
sudo cp -raf something rootfs/
sudo umount rootfs

添加 jailhouse tools 搜索路径:

sudo vim /etc/profile
export PATH=$PATH:/usr/local/sbin/

使用 QEMU 调试 Jailhouse

非原生内核编译 Jailhouse 出错

在原生树莓派内核(5.4.16)下可以正常编译 Jailhouse

在这里插入图片描述

指定 qemu 内核之后,编译 Jailhouse 出错。并且在树莓派上替换 qemu 内核后,编译 Jailhouse 依然出错。

在这里插入图片描述


解决方法:在 QEMU 中启动时,使用树莓派内核以及在树莓派中编译运行成功的 Jailhouse。

tools/jailhouse 工具 not found ... 问题

在这里插入图片描述

解决方法:使用静态编译 Jailhouse tools 方法,在 jailhouse/tools/Makefile 中添加 -static 参数:

在这里插入图片描述

jailhouse.bin failed with error -2

在这里插入图片描述

解决方法:拷贝 jailhouse/hypervisor/jailhouse.bin 到 linux_rootfs/lib/firmware/ 中。

request_mem_region failed ...

在这里插入图片描述


解决方法:添加内核启动参数:mem=768M。

jailhouse enable 成功后立刻挂掉

qemu 启动命令: qemu-system-aarch64 -m 1024 -cpu cortex-a57 -smp 16 -machine virt,gic-version=3,virtualization=on -kernel Image.rpi4 -append "console=ttyAMA0 root=/dev/vda init=/linuxrc rw mem=768M" -hda busybox-1.29.0-rootfs_ext4.img -monitor stdio

使用 qemu-arm64.cell。

在这里插入图片描述

可能原因:使用支持树莓派启动 Jailhouse 的内核,非 QEMU 版本(支持Jailhouse)的内核(在该内核下编译 Jailhouse 出错)。

接下来准备使用 KGDB 方式,待后续...

...全文
1473 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文围绕基于电感电容电流环PI与前馈补偿矩阵构造的跟网型储能变流器,开展dq坐标系下的阻抗理论建模与Simulink仿真对比研究。通过建立储能变流器在dq域的数学模型,设计包含电感电流内环、电容电流中间环和电压外环的多环控制结构,并引入前馈补偿矩阵以提升系统的动态响应能力和稳定性。在此基础上,采用小信号分析法推导系统的输出阻抗模型,构建完整的dq域阻抗理论框架,并利用Simulink平台搭建高保真仿真模型进行频域扫频验证,实现理论建模与仿真结果的精确对比,深入分析控制参数对系统阻抗特性的影响规律,揭示其在抑制并网系统振荡、提升稳定性方面的关键作用,为新能源并网系统的稳定性分析与优化设计提供坚实的理论支撑和技术路径。; 适合人群:具备电力电子、自动控制理论基础,从事新能源发电、储能系统、微电网或电力系统稳定性研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握跟网型储能变流器在dq域的阻抗建模方法;②理解多环控制与前馈补偿对系统阻抗特性的影响机制;③实现理论阻抗模型与Simulink仿真扫频结果的对比验证,支撑并网稳定性分析。; 阅读建议:学习者应结合控制理论与电力电子变换器知识,重点关注数学推导与仿真建模的一致性,建议动手复现Simulink仿真模型并进行参数敏感性分析,以深化对阻抗重塑机理的理解。
内容概要:本文介绍了基于Matlab实现的基本雷达与干扰机仿真系统,旨在通过代码实践帮助读者深入理解雷达系统的工作原理及其在复杂电磁环境中与干扰机的相互作用机制。内容涵盖雷达信号的发射、传播、目标回波接收、微多普勒效应建模、干扰信号的生成与影响分析等关键环节,结合具体的Matlab代码实现了完整的仿真流程,并提供了详尽的结果可视化与性能评估,重点展示了目标探测、时频特征提取、干扰抑制策略等关键技术的实现方法,有助于掌握雷达系统动态特性与抗干扰能力的分析手段。; 适合人群:具备一定Matlab编程基础,对雷达系统、信号处理、电子对抗或通信工程等领域感兴趣的高校学生、科研人员及工程技术人员。; 使用场景及目标:①学习雷达系统的基本构成与工作流程;②掌握雷达回波信号与典型干扰信号(如噪声干扰、欺骗干扰)的数学建模方法;③通过Matlab仿真深入理解微多普勒特征、时频分析技术(如STFT、小波变换)及干扰抑制算法;④为开展雷达目标识别、抗干扰算法设计或电子战系统仿真等前沿研究奠定实践基础。; 阅读建议:建议读者结合提供的Matlab代码逐段运行并调试,重点关注雷达信号模型、目标运动建模、干扰生成模块及信号处理流程,配合文中仿真结果进行对比分析;同时可延伸学习现代信号处理技术如压缩感知、机器学习在雷达中的应用,以提升综合科研与工程实践能力。

24

社区成员

发帖
与我相关
我的任务
社区描述
Jailhouse是一个Siemens 在 GPLv2 协议下发布的针对工业级应用程序的小型分区型 Hypervisor,本社区旨在提供Jailhouse相关知识分享/帮助,欢迎加入!
车载系统嵌入式硬件linux 技术论坛(原bbs) 甘肃省·兰州市
社区管理员
  • Jia ming
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

尊敬的Jailhouse社区/论坛成员:

Jailhouse Hypervisor 是一款非常优秀且广泛使用的工具,它能够帮助用户实现对虚拟机的精细化管理和便捷操作。我们相信,在这个社区/论坛上,我们能够一起分享 Jailhouse 的使用经验和技巧,相互学习和提高。

以下是一些我们希望在这个社区/论坛上看到的内容:

  1. 内容分享。您可以分享您在Jailhouse中使用到的有趣功能、技巧或者经验,以及您对Jailhouse的看法和想法等;您可以在这里谈论Jailhouse相关的技术问题,例如虚拟机管理程序的工作原理、性能优化、安全性等;您可以在这里分享Jailhouse的使用教程、脚本和插件等。
  2. 问题求助及意见建议。如果您遇到了Jailhouse相关的问题,您可以在这里寻求帮助和解决方案。
  3. 社区活动。您可以在这里组织与Jailhouse相关的活动,例如线下聚会、技术交流会等。

我们希望这个社区/论坛能够成为大家交流和学习的平台,共同推动Jailhouse技术的发展和进步。如果您有任何建议或者意见,欢迎随时联系我们 — Jiaming。

谢谢!

试试用AI创作助手写篇文章吧