linux內核調試環境搭建
阿新 • • 發佈:2018-12-31
amd64 調試 makefile drive png failed tac color 窗口 版本linux4.17 ubuntu18.04
先給系統至少80G內存
1。編譯內核
先配置文件
make mrproper
make menuconfig
我這裏需要的依賴有 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
先給系統至少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 目前其實沒有用
還是有點問題 可能是符號也要拷貝吧
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內核調試環境搭建