• 如何编译安装Linux内核


    操作系统环境

    • VMware workstation15 Pro

    • ubuntu18.04 LTS

    • 待编译内核5.3.10版本

    • Compiler: gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0

    内核下载地址

    kernel.org

     

     

     

    环境配置

    在正式编译前需要安装部分软件。

    sudo apt update && sudo apt upgrade
    sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison

    解压缩

    解压缩刚刚下载好的内核压缩包。

    tar -zxf linux-5.3.10.tar.xz
    cd linux-5.3.10

    配置内核

    在正式编译内核之前,我们首先必须配置需要包含哪些模块。实际上,有一些非常简单的方式来配置。使用一个命令,你能拷贝当前内核的配置文件,然后使用可靠的 menuconfig 命令来做任何必要的更改。

    cp /boot/config-$(uname -r) .config

    上述命令的意思就是拷贝对应当前内核配置到当前目录下并重命名为.config(文件名前加.意思为隐藏文件)。

    可以自行查看下uname -r的输出:

    uname -r

    之后执行命令:

    make menuconfig

    在虚拟机下有可能提示会因为屏幕太小而无法显示menuconfig而执行失败。要确保虚拟机下的显示面积足够大。

    显示如下:

    在这里可以选择启用或者禁用一些模块。如果你不知道该如何选择的话,默认退出即可。

    编译和安装

    退出menuconfig后,在命令行中输入

    make -j4

    命令即可开始编译。-j4意思是并发执行,可以提高速度,一般情况 下不要多于CPU核数。这个命令的执行会耗费很长时间。

    编译完成之后首先安装模块,命令为:

    sudo make modules_install

    其次安装内核,命令为:

    sudo make install

     

    启用内核作为引导

    输入下列命令将内核作为引导,将数字更改为你自己编译的版本号:

    sudo update-initramfs -c -k 5.3.10

    下面更新一下grub:

    sudo update-grub

    之后重启即可在启动界面选择需要启动的内核。如果看不到启动选择界面,请执行以下操作:

    输入命令:

    sudo vi /etc/default/grub

    将文件修改为以下模式:(注释掉hidden那一行,将timeout更改为较大值,这里改为了10)

    之后执行

    sudo update-grub

    重启即可见到下面菜单,选择advanced,进入后选择刚编译安装好的内核进入即可。

     

     

     

    确认内核版本

     

    说明内核安装成功。

     

    自定义grub启动项

    1. 修改启动项名称

    在ubuntu下,可以直接修改/boot/grub/grub.cfg中有关启动项的名称。

    2. 增加自定义启动项

    复制/boot/grub/grub.cfg有关启动项的内容到/etc/grub.d/40_custom进行自定义即可。

    3. 执行update

    最后都要执行下述命令以生效。

    sudo update-grub

     

    参考资料

  • 相关阅读:
    java相关
    cmd批处理命令及powershell
    火狐浏览器调试模式
    windows 配置java环境变量
    Acwing-279-自然数拆分(背包)
    Acwing-278-数字组合(背包)
    Acwing-277-饼干(DP)
    Acwing-274-移动服务(DP)
    Acwing-275-传纸条(DP)
    Acwing-121-赶牛入圈(二分, 二维前缀和,离散化)
  • 原文地址:https://www.cnblogs.com/harrypotterjackson/p/11846222.html
Copyright © 2020-2023  润新知