Linux 内核更换与代码阅读环境设置(Vscode+Clangd)

内核更换

测试环境:Ubuntu 22.04

安装编译依赖

sudo apt update
sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev dwarves

获取内核源代码

wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.43.tar.xz
tar xf linux-6.6.43.tar.xz
cd linux-6.6.43

内核配置

make menuconfig

处理证书问题,在编译时遇到证书问题输入两次 enter 即可继续

scripts/config --disable SYSTEM_TRUSTED_KEYS
scripts/config --disable SYSTEM_REVOCATION_KEYS

编译内核和模块

make -j$(nproc)

安装模块

sudo make modules_install

安装内核

sudo make install

更新引导加载程序

sudo update-grub

重启

sudo reboot

默认情况下已经更换为最新的内核。如果没有更换,则在 GRUB 引导界面(在开机过程中按下 Esc 键)选择 Advanced options for Ubuntu,手动选择对应的内核版本启动即可。

代码阅读环境设置

在内核代码成功编译之后执行,会在代码根目录生成 compile_commands.json 文件

scripts/clang-tools/gen_compile_commands.py

安装 Clangd

sudo apt install clangd

在 Vscode 中安装扩展 Clangd,打开扩展设置(远程),将 Clangd: Path 设置为 /usr/bin/clangd 。(这适用于本机是 Windows,通过远程连接到 Linux 环境)

之后随便打开一个代码文件,使用快捷键 ctrl + shift + p 打开 Vscode 命令面板,输入 reload window,选择 [开发人员: 重新加载窗口](Developer: Reload Window),重新打开后可以看到界面左下角 clangd 插件正在生成索引信息,等待完成后即可进行符号的跳转。

相关推荐
二十雨辰1 小时前
[linux]docker基础
linux·运维·docker
饮浊酒2 小时前
Linux操作系统 ------(3.文本编译器Vim)
linux·vim
lihuhelihu2 小时前
第3章 CentOS系统管理
linux·运维·服务器·计算机网络·ubuntu·centos·云计算
矛取矛求2 小时前
Linux系统性能调优技巧
linux
One_Blanks2 小时前
渗透测试-Linux基础(1)
linux·运维·安全
Perishell2 小时前
无人机避障——大疆与Airsim中的角速度信息订阅获取
linux·动态规划·无人机
爱吃喵的鲤鱼2 小时前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++
dessler3 小时前
Linux系统-ubuntu系统安装
linux·运维·云计算
荒Huang3 小时前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
Mortal_hhh5 小时前
VScode的C/C++点击转到定义,不是跳转定义而是跳转声明怎么办?(内附详细做法)
ide·vscode·stm32·编辑器