Linux 之搭建 arm 的 qemu 模拟器

这篇具有很好参考价值的文章主要介绍了Linux 之搭建 arm 的 qemu 模拟器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. Linux 之搭建 arm 的 qemu 模拟器

OS: kali
1. 安装交叉编译工具、GDB 和 QEMU
# sudo apt-get install qemu debootstrap qemu-user-static
# sudo apt-get install qemu-system-arm
# sudo apt-get install gdb-multiarch //支持多架构 cpu 的 gdb
# sudo apt-get install gcc-arm-linux-gnueabi //安装 arm-linux-gcc 交叉编译器
# sudo apt-get install g++-arm-linux-gnueabi //安装 arm-linux-g++交叉编译器
 
2. 下载、解压 linux5.0 内核
<0>. 下载: https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.0.7.tar.xz
# xz -d linux5.0.tar.xz
# tar -xvf linux5.0.tar
 
<1>. 编译
最顶层的 Makefile 文件里面, 做如下修改: 
# emacs Makefile
ARCH		?= arm
CROSS_COMPILE   ?= arm-linux-gnueabi-
Or
# make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm vexpress_defconfig
# make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm
 
<2>.arch/arm/configs 目录里的各个厂商的内核配置文件, 这个文件非常重要, 并做如下操作
# sudo apt-get install bison libncurses5-dev u-boot-tools bc
# make vexpress_defconfig
 
<3>. 配置 kernel 内核
# make menuconfig
 
<4>. 编译 kernel
# make LOADADDR=0X60003000 uImage -j4
or
# make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm vexpress_defconfig
# make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm
 
3. 下载 busybox 制作根文件系统
<1>. 下载编译 busybox
# wget https://busybox.net/downloads/busybox-1.30.1.tar.bz2 --no-check-certificate
# tar -jxvf busybox-1.30.1.tar.bz2
# emacs Makefile
# make defconfig
# make CROSS_COMPILE=arm-linux-gnueabi-
# make CROSS_COMPILE=arm-linux-gnueabi- install
 
4. 开始制作根文件系统
1. 创建必要的目录
# mkdir rootfs
# cd rootfs
# mkdir rootfs /lib
# mkdir rootfs /dev
 
2. 拷贝 busybox 编译生产的目录和文件, 编译器自带的 lib
# cp busybox-1.25.0/_install/* -r rootfs/
# cp -P /usr/arm-linux-gnueabi/lib/* rootfs/lib/
3. 创建 4tty 终端设备
# sudo mknod rootfs/dev/tty1 c 4 1
# sudo mknod rootfs/dev/tty2 c 4 2
# sudo mknod rootfs/dev/tty3 c 4 3
# sudo mknod rootfs/dev/tty4 c 4 4
4. 生成 512M 大小的镜像, 并拷文件系统树到镜像文件中
# dd if=/dev/zero of=a9rootfs.ext3 bs=1M count=512
# mkfs.ext3 a9rootfs.ext3 //把 a9rootfs.ext3 格式化为 ext3 文件系统
# mkdir tmpfs
# mount -t ext3 a9rootfs.ext3 tmpfs/ -o loop
# cp -r rootfs/*  tmpfs/
# sudo umount tmpfs
//启动 qemu arm 文件系统
# qemu-system-arm -M vexpress-a9 -m 1024M -kernel ~/tools/linux-5.0.7/arch/arm/boot/zImage -dtb ~/tools/linux-5.0.7/arch/arm/boot/dts/vexpress-v2p-ca9.dtb -nographic -append "root=/dev/mmcblk0  console=ttyAMA0" -sd  a9rootfs.ext3
后续可以把 gdb 移植上去, 就可以调试学习 ARM 汇编指令了。

文章来源地址https://www.toymoban.com/news/detail-775742.html

到了这里,关于Linux 之搭建 arm 的 qemu 模拟器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [ARM 汇编]高级部分—性能优化与调试—3.4.3 使用模拟器进行调试与测试

    在ARM汇编程序开发过程中,使用模拟器(emulator)进行调试和测试是一种非常有效的方法。模拟器可以在不同的处理器上测试代码,帮助我们发现潜在的问题,并提供丰富的调试功能。本节将介绍如何使用QEMU(一个流行的开源模拟器)进行ARM汇编程序的调试和测试。 安装QE

    2024年02月10日
    浏览(32)
  • LVGL界面开发之模拟器环境搭建

            通常我们在使用 LVGL 进行界面开发时,会先在PC上搭建模拟器环境,而不是直接烧录到硬件板子上,使用模拟器是百利而无一害的,而且它是跨平台的,任何Windows,Linux或macOS系统都可以运行PC模拟器。每当界面有改动时,都可以在PC模拟器上快速便捷地验证并查看修

    2023年04月11日
    浏览(40)
  • windows中freeRTOS模拟器环境搭建

      FreeRTOS参考手册中的模拟程序都是基于windows版本的模拟器。因此为了学习FreeRTOS,需要在Windows中搭建一下模拟器的运行环境。网络上的一般都是直接跑一下FreeRTOS源码中的WSVC中的Demo。就没有下文了,怎么加入自己的代码到模拟器,怎么删除模拟器中已经存在的监测任务,

    2024年02月16日
    浏览(23)
  • LVGL WIN32模拟器环境搭建

    LVGL是一个跨平台、轻量级、易于移植的图形库。因其支持大量特性和其易于裁剪,配置开关众多,且版本升级较快,不同版本之间存在一定的差异性,相关的使用教程有一定的滞后性,由于缺少最新版本的中文教程,加上大量的教程中未注明对应的版本,初始接触的开发者往

    2024年02月05日
    浏览(32)
  • 记一次思科模拟器小型网络搭建练习

    可以实现不同网络之间主机的通信 (若使用交换机实现不同网络之间的主机通讯,则数据包是以广播方式发出,一是没有数据安全性,二是大量广播包会消耗主机资源) 网络互联:主要用于互联局域网和广域网,实现不同网络间互相通信。 数据处理:提供包括分组过滤、分组

    2024年02月09日
    浏览(30)
  • Android Studio安卓手机模拟器环境搭建

    1、以管理员身份启动命令提示符工具 2、清理旧环境  2、解压缩文件夹内提供的JDK 11(一定是11,不能是其它版本,如果前面已经安装过JDK8,需要先在控制面板中卸载JDK8,并且删除环境变量JAVA_HOME,以及删除环境变量Path中涉及到JDK8的内容;重启后安装JDK11)     将JDK解压

    2024年02月09日
    浏览(38)
  • Mac搭建安卓模拟器(支持M1/M2)

    最近在研究Vue打包成app,给我的报价器搞一个移动端,奈何没有安卓手机用于测试。所以想到安装一个安卓模拟器。 看了下目前主流的安卓模拟器基本都不支持Mac版本。网易的mumu目前来看还是只支持Intel芯。 下载地址:https://www.aliyundrive.com/s/NZet5jrKxV4 下载完成后将后缀 .mp

    2024年02月16日
    浏览(26)
  • Flutter环境搭建【win10虚拟机】+夜神模拟器【主机】

    为了安装和运行 Flutter,你的开发环境必须至少满足以下要求: 操作系统:Windows 10 或更高的版本(基于 x86-64 的 64 位操作系统)。 磁盘空间:除安装 IDE 和一些工具之外还应有至少 2.5 GB 的空间。 工具:要让 Flutter 在你的开发环境中正常使用,依赖于以下的工具: Windows P

    2024年04月23日
    浏览(49)
  • 【华为网络模拟器eNSP】IPv6 网络拓扑搭建实验

    本文实验参考自B站up主 改名需要6硬币哦 发布在B站的视频:实验7-IPv6与OSPFv3 拓扑搭建、网络配置及实验分析等处有作者本人理解,若有错误之处,还请谅解并指出,感谢! 学习使用eNSP 软件的使用和多节点网络拓朴搭建; 理解汇总路由的运作原理,完成交换机、路由器、

    2024年02月05日
    浏览(88)
  • python+appium+夜神模拟器搭建app自动化环境

    目录 1.Appium用法 2.准备工具 1、安装JDK并配置JDK的环境变量 2、安装安卓SDK并配置SDK的环境变量。 3、安装夜神模拟器并在模拟器上安装被测app 4、安装并配置python 5、安装Node js 6、安装和配置Appium appium是做app的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也

    2024年02月07日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包