Linux内核编译

引言:

编译linux内核

Linux内核编译

前置要求

官网下载压缩文件

新建一个文件夹存放这个压缩文件,这里新建的文件夹为/usr/kernel,将文件解压到此tar -xf xxxx.gx.xz

开始配置安装

  1. 进入到linux内核路径下

    如果是不是第一次执行,则要清理一下之前残留的配置文件

    1
    2
    3
    make mrproper
    # 如果不是第一次配置,运行此命令后会显示删除xxx.conf文件等等
    make clean
  2. 拷贝系统原有的操作模板

    1
    cp /boot/config-xxx-xx [我们解压后的linux路径/.config]

    定义编译内核时功能的特性

  3. 安装需要的组包

    1
    yum groupinstall "development tools" 
  4. 配置内核选项,这里有多种配置

    1
    2
    3
    4
    5
    6
    7
    8
    make defconfig
    # 默认配置(据说是linus的配置)

    make allnoconfig
    # 只安装必须安装的选项(适用嵌入式系统)

    make menuconfig
    # 图形化界面安装方式(需要ncurses-devel,记得先yum install)
  5. 这里选择了make menuconfig方式(如果报错display不够什么的错误,就调大一点你的窗口,就ok了)

    1. 进入General setup
    2. 我们改一下Local version -append to kernel release
    3. 加上自己的名字吧-1.0-wenhaoLinux,点击OK
    4. 一步一步exit,选择YES保存退出即可

    使用grep -i ntfs .config查询一下我们刚刚所做的配置

  6. 开始编译,make -j 4,需要很长的一段时间,如果报错说缺少什么,直接yum即可

  7. 开始安装模块make modules_install,安装后ls /lib/modules查看咱们自己编译的内核

  8. make install安装内核相关的文件,安装后使用ls /boot查看,会有三个我们自己产生的文件initramfs、System.map、vmlinuz

  9. 查询grub菜单,cat /boot/grub2/grub.cfg查看,会有对应我们新装的内核的菜单

  10. reboot,重新启动,在启动页可以看到我们自己安装内核的Linux

img

  1. 进入后,使用uname -a查看,发现确实是我们的版本

    img