系统设备环境:
一、下载内核源码
sudo apt install linux-source -y
下载完成后在/usr/src/目录下:
将源码压缩包解压到home目录下:
mkdir ~/workspace
cd ~/workspace
tar jxf /usr/src/linux-source-5.4.0/linux-source-5.4.0.tar.bz2
二、配置内核
sudo apt install -y libncurses-dev flex bison libssl-dev
cd linux-source-5.4.0
cp /boot/config-$(uname -r) ./.config #拷贝系统原本内核的配置作为基配置
make menuconfig
打开编译选项:
Device Drivers —>
[*] Device Tree and Open Firmware support —>
— Device Tree and Open Firmware support
[*] Device Tree runtime unit tests
-*- Support for dynamic device trees
[*] Device Tree overlays
右键选中<Exit>,回车保存退出:
三、编译内核
make -j8 #参数根据自己设备实际CPU核数量而定
—————————————————————————————–
喝个小茶等编译完成
—————————————————————————————–
编译的内核文件路径
./arch/boot/bzImage
四、更新initrd
由于内核配置的改动,initrd以及ubuntu rootfs里面的内核模块要更新为上面内核编译输出的。
- 安装initrd内核模块
sudo apt install libelf-dev elfutil -y
make modules #生成模块
make modules_install
- 重新生成initrd
mkinitramfs 5.4.30 -o ~/workspace/initrd.img-5.4.30 # 5.4.30是为实际编译内核的版本号
=========================================沉(bei)迷(po)于工作断片了,过去几个月了才想起这篇,有时间再更新,先发布省得忘记=========================================