linux内核调试环境搭建

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux内核调试环境搭建相关的知识,希望对你有一定的参考价值。

版本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

以上是关于linux内核调试环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

构建调试Linux内核网络代码的环境MenuOS系统

怎么搭建学习Linux内核的运行,调试环境

linux内核调试环境搭建

构建调试Linux内核网络代码的环境MenuOS系统

Android内核漏洞利用技术实战:环境搭建&栈溢出实战

linux内核调试的主要方法