linux内核调试环境搭建

时间:2018-12-31 10:24:45   收藏:0   阅读:1410
版本linux4.17 ubuntu18.04
先给系统至少80G内存
1。编译内核
先配置文件
make mrproper
make menuconfig
我这里需要的依赖有

 sudo apt install make cmake gcc g++ clang
 sudo apt-get install libncurses5-dev libncursesw5-dev
 sudo apt install ncurses-dev
 sudo apt-get install bison
 sudo apt-get install flex
 sudo apt-get install linux-libc-dev:amd64
 sudo apt-get install libssl-dev

然后窗口调大点
技术分享图片
打开相关选项:(我看了下好像全默认开启)
https://blog.csdn.net/ztguang/article/details/52410562
技术分享图片
技术分享图片

 Kernel: arch/x86/boot/bzImage is ready  (#1)
FATAL: drivers/scsi/am53c974.o has no symtab?
scripts/Makefile.modpost:92: recipe for target ‘__modpost‘ failed
Makefile:972: "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev

sudo apt install libelf-dev
换内核就先修改:
sudo gedit /etc/default/grub
注释第二行:
技术分享图片
更新
sudo update-grub2
技术分享图片
///////////////////////
拷贝被调试机上编译出来的vmlinux 到调试机上,与内核源码同级目录(内存足够多把编译生成的中间文件也可以一起拷贝)
然后
第一步建立串口通信
技术分享图片
测试
技术分享图片
开启调试环境
打开 /boot/grub2/grub.cfg 文件,选择需要启动的内核版本,在尾部添kgdbwait kgdboc=ttyS0,115200
第一个菜单
技术分享图片
对应
技术分享图片
第二个菜单
技术分享图片
对应
技术分享图片
根据需要内核版本自定义设置
这里默认第一个菜单对一项
重启系统会断下
技术分享图片
调试机
进入系统源码目录
gdb vmlinux
技术分享图片
set remotebaud 115200 目前其实没有用
target remote /dev/ttyS0
还是有点问题 可能是符号也要拷贝吧
技术分享图片
https://blog.csdn.net/ztguang/article/details/52410562
https://blog.csdn.net/u013470224/article/details/51314231
https://blog.csdn.net/swingwang/article/details/72331196

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!