开始

直接安装Linux发行版用的并不是最新的稳定版内核,可以用 uname -a来查看内核版本
like this:
image.png

下面来手动编译内核:

准备

环境:
sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison
环境参考:

内核源码:

开始

建议全程用root用户编译,直接 sudo su

  1. 获取源码
    以5.5.13版为例:首先 wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.13.tar.xz下载源码
    然后解压到 /usr/src 下
    tar -xvf linux-5.5.13.tar.xz -C /usr/src/
    顺便cd进解压后的目录:cd /usr/src/linux-5.5.13
  2. 配置内核
    复制原内核配置文件
    cp /usr/src/<当前内核版本>/.config .config
    示例:cp /usr/src/linux-headers-2.6.32-27-generic/.config .config
  3. 开始编译
    执行 make menuconfig
    选Load,然后Ok,然后Save。
    编译和安装:
    make bzImage #编译kernel
    make modules #编译模块
    make modules_install #安装模块
    make install #安装内核
    前两条命令的时间都非常长,可以挂着。后两条稍微快一点。make install之后,grub已经自动更新,不用再手动设置引导。
  4. reboot重启
    然后再次查看内核版本 uname -a 结束

参考

  1. ubuntu 12.10 x64 下编译新内核 + 系统调用方法
  2. Linux操作系统分析(4)- 更新内核与添加系统调用
最后修改:2022 年 04 月 29 日
如果觉得我的文章对你有用,请随意赞赏