编者荐语:
推荐使用vscode来单步调试奔跑吧内核,在按F5单步之前,请先设置断点,例如在start_kernel函数设置断点,直接在源代码左侧点击左键即可。
以下文章来源于弹指码通 ,作者弹指神通
自博客平台:jackeyt.cn 原创技术分享,涵盖AI、端到端、边缘计算、ARM、嵌入式Linux、OpenCV、嵌入式端AI模型剪枝、量化
继上一篇介绍纯Win10下 VSCode搭建Linux Kernel单步调试IDE环境
本篇继续介绍在纯Ubuntu下用VSCode搭建Linux Kernel单步调试IDE环境
0.环境介绍
0.0 主机版本
主机:Ubuntu(其他任意Linux发行版、虚拟机、真机均可)
版本:18.04.4
编译器:aarch64-linux-gnu-gcc (gcc version 5.5.0)
调试器:主机:aarch64-linux-gnu-gdb (gcc version 5.5.0)
0.1 VS Code版本
版本: 1.46.1
提交: cd9ea6488829f560dc949a8b2fb789f3cdc05f5d
日期: 2020-06-17T21:13:08.304Z
Electron: 7.3.1
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Linux x64 5.3.0-28-generic
1.准备工作
1.1、安装Ubuntu
下载安装Ubuntu,如本例中提到的:ubuntu18.04
1.2、安装VSCode
Ubuntu版的VSCode:下载地址
1.3、安装VSCode插件
在扩展里面添加即可
-
C/C++ (必选)
-
C/C++ Intellisense(可选)
-
C/C++ Snippets(可选)
Remote Development(必选三件套,微软官方出品)
-
Remote-WSL
-
Remote-SSH
-
Remote-Containers
设备树插件
-
Embedded Linux Dev
-
Kconfig(设备树插件依赖)
1.4、下载Linux内核代码
推荐下载:
git clone https://e.coding.net/benshushu/runninglinuxkernel_4.0.git -b rlk_basic
推荐理由:
-
1、4.0版本非常经典,适合学习
-
2、该代码仓库是书籍的配套代码,比较完善
-
3、该代码仓库已经配置好了各种比较烦杂的环境,如:qemu网络桥接、根文件系统、qemu共享文件夹等
-
4、最后强调:前期配套开发环境,不需要重复造轮子,纠结于小细节,先站在巨人肩上,整套流程熟悉之后,可以随时替换、修改这套环境
1.5、搭建Linux内核编译环境
Ubuntu18.04相关问题可直接百度查找
-
Linux环境:ubuntu18.04
-
Linux安装依赖包:
sudo apt-get install qemu libncurses5-dev libssl-dev build-essential openssl bison bc flex git
当然你可以使用如下命令来安装编译内核需要的所有依赖包。
sudo apt build-dep linux-image-generic
-
Linux环境安装编译链:
因为linux 内核版本原因,因为所用版本为4.0,所以需要5.x的gcc交叉链
一次性安装ARM32/64所用的交叉链
sudo apt install gcc-5-aarch64-linux-gnu gcc-5-arm-lin