Linux内核编译

1 安装依赖

1
sudo apt install -y build-essential bison flex libssl-dev libelf-dev libcap-dev libattr1-dev libncurses-dev

2 下载内核

可先在第一条指令中的网站选择合适的 linux 版本,然后替换网址。

1
2
3
wget https://mirrors.ustc.edu.cn/kernel.org/linux/kernel/v4.x/linux-4.19.tar.gz
tar zxf linux-4.19.tar.gz
cd linux-4.19

3 编译

3.1 设置 GCC 版本(可选)

不同版本的 linux 需要使用的 gcc 版本不同,如:linux-4.19 需要使用 gcc-7。可通过以下命令设置默认使用的 gcc 版本。

1
2
3
4
# 数值越大,优先级越高。值最大的版本为默认使用的版本
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 90
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 80

使用以下命令可清除上述配置

1
sudo update-alternatives --remove-all gcc

3.2 生成 config

有图形界面:

1
make menuconfig

无图形界面:

1
yes "" | make oldconfig

生成配置文件.config后,需要进行简单的修改,将以下配置设置为空。

1
2
#可能有多个类似的设置项,可根据下一步的编译结果针对性修改
CONFIG_SYSTEM_TRUSTED_KEYS=""

3.3 编译

1
2
3
make -j16
sudo make INSTALL_MOD_STRIP=1 modules_install
sudo make install

Linux内核编译
https://zdawng.github.io/posts/3473f5e6/
作者
ZDawnG
发布于
2023年7月9日
许可协议