Ubuntu upgrade Linux kernel - v5.15.92
前篇: Ubuntu 升級 至 22.04 Jammy Jellyfish
續篇: Ubuntu clang / LLVM 安裝, kernel compile 測試
Linux Kernel
Linux Kernel 至今發展已有 30 年
可以參考 Jserv 老師的這篇 從 Revolution OS 看作業系統生態變化
Linux kernel 現在最新到 6.1
目前 Ubuntu 22.04 是用 linux 5.15 這個版本
所以以 5.15.92 (2023-02-26) 為例, 來做一次
可以參考這篇:
Ubuntu - Build Your Own Kernel
來安裝相關套件:
(1) Install relative packages
$ sudo apt-get install libncurses-dev gawk flex bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf llvm
$ sudo apt-get install git fakeroot build-essential dwarves
(2) Get the source code
https://www.kernel.org/
(3) Extract tgz file
$ cd /usr/src
$ sudo tar Jxvf <.tar.xz>
(4) Clean if any
$ sudo make clean
$ sudo make distclean
(5) $ sudo make mrproper
(6) copy previous workable .config
$ sudo cp /boot/config-`uname -r` ./.config
(7) $ sudo make menuconfig
load .config and save
在這個版本的時候
Enable loadable module support -> Module signature verification
已經變成是 built in
也因此, 相關一些設定可以修改一下:
https://askubuntu.com/questions/1329538/compiling-the-kernel-5-11-11
(8) build linux kernel
$ sudo make –j8
因為桌機是 8 核心, 直接 -j8 來做
(9) Update Grub
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
$ sudo make modules_install
$ sudo make install
這時候, 在 /boot 底下, 應該會看到
initrd-5.15.92.img
System.map-5.15.92
vmlinuz-5.15.92
(9) Update Grub
$ sudo grub-mkconfig
$ sudo update-initramfs -c -k 5.15.92
$ sudo update-grub
重開機時的 Grub, 和之後進到 shell 打 uname -a 都可以看到是 5.15.92
--
编译内核报错BTF: .tmp_vmlinux.btf: pahole (pahole) is not available
sudo apt-get install dwarves
留言
張貼留言