build linux kernel

https://www.kernel.org/doc/html/latest/translations/zh_CN/admin-guide/README.html

https://www.kernel.org/

https://docs.kernel.org/6.8/


安装内核源代码

        如果您要安装完整的源代码,请把内核tar档案包放在您有权限的目录中(例如您 的主目录)并将其解包:

        xz -cd linux-6.x.tar.xz | tar xvf -

        将“X”替换成最新内核的版本号。

        【不要】使用 /usr/src/linux 目录!这里有一组库头文件使用的内核头文件 (通常是不完整的)。它们应该与库匹配,而不是被内核的变化搞得一团糟。

        您还可以通过打补丁在6.x版本之间升级。补丁以xz格式分发。要通过打补丁进行 安装,请获取所有较新的补丁文件,进入内核源代码(linux-6.x)的目录并 执行:

        xz -cd ../patch-6.x.xz | patch -p1

        请【按顺序】替换所有大于当前源代码树版本的“x”,这样就可以了。您可能想要 删除备份文件(文件名类似xxx~ 或 xxx.orig),并确保没有失败的补丁(文件名 类似xxx# 或 xxx.rej)。如果有,不是你就是我犯了错误。

        与6.x内核的补丁不同,6.x.y内核(也称为稳定版内核)的补丁不是增量的,而是 直接应用于基本的6.x内核。例如,如果您的基本内核是6.0,并且希望应用6.0.3 补丁,则不应先应用6.0.1和6.0.2的补丁。类似地,如果您运行的是6.0.2内核, 并且希望跳转到6.0.3,那么在应用6.0.3补丁之前,必须首先撤销6.0.2补丁 (即patch -R)。更多关于这方面的内容,请阅读 Documentation/process/applying-patches.rst 。

        或者,脚本 patch-kernel 可以用来自动化这个过程。它能确定当前内核版本并 应用找到的所有补丁:

        linux/scripts/patch-kernel linux

        上面命令中的第一个参数是内核源代码的位置。补丁是在当前目录应用的,但是 可以将另一个目录指定为第二个参数。

        确保没有过时的 .o 文件和依赖项:

        cd linux
        make mrproper

        现在您应该已经正确安装了源代码。


posted @ 2024-08-22 15:55  scott_h  阅读(9)  评论(0编辑  收藏  举报