Linux-next 不是适用于任何人的!
@> The linux-next tree is the holding area for patches aimed at the next kernel merge window. If you're doing bleeding edge kernel development, you may want to work from that tree rather than Linus Torvalds' mainline tree.

获取源代码

git仓库找到最新的commit(被标注为绿色 HEAD 的)。确认你这是你需要的,clone下来。
注意:Linux Kernel 很大,保证空间足够!
clone

修改配置

先复制你自己机器的配置文件

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

接下来,更新配置文件到最新的

make olddefconfig

如果你在用DebianUbuntu或他们的衍生版本,务必关闭默认签名证书

./scripts/config --file .config --set-str SYSTEM_TRUSTED_KEYS ''
./scripts/config --file .config --set-str SYSTEM_REVOCATION_KEYS ''

自定义配置

  • defconfig: 默认配置。
  • allmodconfig: 根据当前系统状态,尽可能地把项目构建为可加载模块(而非内建)。
  • tinyconfig: 极简的 Linux 内核。
    一般来说,建议使用defconfig

    make defconfig

    接下来可以在默认配置的基础上自定义配置了。

    make menuconfig

    在此界面,你可以根据各选项的类型来进行切换操作。
    有两类可切换选项:

  • 布尔状态选项:这类选项只能关闭([ ])或作为内建组件开启([*])。
  • 三态选项:这类选项可以关闭(< >)、内建(<*>),或作为可加载模块()进行构建。
    保存好之后,就可以编译了

    编译

    make -j$(nproc) 2>&1 | tee log

    有报错就修吧

最后修改:2024 年 02 月 10 日
如果觉得我的文章对你有用,请随意赞赏