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 來做

     $ 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 -o /boot/grub/grub.cfg

    $ 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



留言

熱門文章