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内核调试环境搭建的主要内容,如果未能解决你的问题,请参考以下文章