0
点赞
收藏
分享

微信扫一扫

qemu+gdb+ddd调试linux内核


目录

​​arm的交叉编译工具链安装​​

​​内核编译​​

​​expat库安装​​

​​gdb工具编译​​

​​启动qemu​​

​​gdb ddd命令​​

​​编译报错处理​​

arm的交叉编译工具链安装

sudo apt-get install gcc-arm-linux-gnueabi

参考:​​使用qemu模拟器搭建arm运行环境 - 简书​​

内核编译

下载内核

wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.9.tar.xz

解压内核

tar Jxvf linux-5.9.tar.xz -C ./

配置内核

make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm O=./out_vexpress_3_16 vexpress_defconfig

内核配置取消

make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm O=./out_vexpress_3_16 menuconfig
将System Type -->的Enable the L2x0 outer cache controller 取消

编译

make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm O=./out_vexpress_3_16 zImage -j2

expat库安装

pwd
/home/ubuntu/work/qemu/qemu-arm-linux/source/expat-2.5.0
./configure --prefix=$PWD/bin
mkdir bin
make && make install

gdb工具编译

make distclean    #若之前安装过gdb用这条命令清理

/home/ubuntu/work/qemu/qemu-arm-linux/source/gdb-9.1/configure --target=arm-linux-gnueabi --prefix=/home/ubuntu/work/qemu/qemu-arm-linux/source/out-arm-gdb-tools -v \
--with-expat --includedir=/home/ubuntu/work/qemu/qemu-arm-linux/source/expat-2.5.0/bin/include --libdir=/home/ubuntu/work/qemu/qemu-arm-linux/source/expat-2.5.0/bin/lib

make -j4 && make install

启动qemu

qemu-system-arm -M virt -m 512M  -kernel /home/ubuntu/work/qemu/qemu-arm-linux/source/linux-5.9/out_vexpress_3_16/arch/arm/boot/zImage -nographic -append "console=ttyAMA0" -s -S

qemu+gdb+ddd调试linux内核_qemu

gdb ddd命令

ddd -debugger /home/ubuntu/work/qemu/qemu-arm-linux/source/out-arm-gdb-tools/bin/arm-linux-gnueabi-gdb /home/ubuntu/work/qemu/qemu-arm-linux/source/linux-5.9/out_vexpress_3_16/vmlinux

qemu+gdb+ddd调试linux内核_gdb_02

qemu+gdb+ddd调试linux内核_linux_03

编译报错处理

         checking for libexpat... (cached) no

         configure: error: expat is missing or unusable


举报

相关推荐

0 条评论