QEMU+树莓派3B调试Linux

关于qemu调试Linux,相信已经有很多大佬做过了,qemu的virt可以调试Linux,在这方面,奔跑吧Linux已经通过-O0编译了两个版本的内核(曾经问过笨叔,如何-O0编译qemu可调式的Linux,但是没有人搭理我),用来熟悉内核的一些机制,还是很有用的。但virt版本的调试没法调试一些常用的外设驱动框架。因此。。。如果可以通过qemu,模拟一个具体的开发板,这样就可以让初学者调试学习一些驱动的框架。

于是 qemu+树莓派3B的调试似乎成了一个可行的方式
优点:可以支持外设调试,spi,i2c,mmc都有,中断不是GIC
缺点:目前没法-O0编译,调试优点麻烦,需要使用printk

当然。。。本文也参考了网上的其他资料,稍后会针对具体的操作方式,以及环境搭建,进行阐述。
最佳参考:知乎一篇帖子:保姆级教程

以下是懒人教程
1:启动镜像下载:https://downloads.raspberrypi.org/raspbian_lite/images/
目前下载了2020-05-27-raspios-buster-lite-armhf的版本,解压后可用

2:设备树和内核文件
参考顶部下载,已将设备数和内核压缩为一个文件
【要是上传的文件无法下载,可以参考保姆教程里面的提取方法】

3:命令
直接启动:

qemu-system-aarch64 -machine type=raspi3b -m 1024 -dtb bcm2710-rpi-3-b.dtb -kernel kernel8.img -drive id=hd-root,format=raw,file=2020-05-27-raspios-buster-lite-armhf.img -nographic -append "'rw earlycon=pl011,0x3f201000 console=ttyAMA0 loglevel=8 root=/dev/mmcblk0p2 fsck.repair=yes net.ifnames=0 rootwait memtest=1 dwc_otg.fiq_fsm_enable=0"

4:源码编译:
https://github.com/raspberrypi/linux
该地址有内核源码
编译命令如下(工具链自行安排)

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcmrpi3_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4
  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值