Linux内核编译安装 - Deepin,Debian系

2024-07-14 1298阅读

为什么要自己编译内核

优点

  • 定制化:你可以根据自己的硬件和需求配置内核,去掉不必要的模块,优化性能。
  • 性能优化:移除不需要的驱动程序和特性,减小内核体积,提高系统性能。
  • 最新特性和修复:获取最新的内核版本和特性,或者提前应用一些补丁。
  • 学习机会:通过编译内核,可以更深入地理解Linux的内部工作机制。

    缺点

    • 复杂性:编译和配置内核需要较高的技术水平,过程复杂且容易出错。
    • 时间消耗:编译内核是一个耗时的过程,尤其是在资源有限的系统上。
    • 维护成本:自己编译的内核需要手动更新和维护,缺乏自动化工具的支持。
    • 兼容性问题:手动配置不当可能导致硬件或软件兼容性问题,需要仔细测试。

      我的感受是

      • 了解到内核相关的知识。
      • 提前使用到最新版本的内核,不用等论坛大佬的更新:

        Linux内核编译安装 - Deepin,Debian系

      • 内核体积大大缩小: Linux内核编译安装 - Deepin,Debian系

        过程

        下载

        网站下载linux内核源码[^1] [^2],并解压,进入源码目录;

        https://www.kernel.org/

        https://mirrors.tuna.tsinghua.edu.cn/kernel/v6.x/

        安装依赖

        参考脚本安装依赖[^3];

        sudo apt install git wget fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison zstd debhelper
        

        配置文件

        1. 使用现有配置文件dppve.config[^3]
        cp /xxx/dppve.config .config
        
        1. 精简(可选)

          先让系统尽可能多地加载模块,使用工具自动保留已加载的模块[^5] [^6];

        make localmodconfig
        
        1. 手动调整配置(可选)
        make menuconfig
        
        1. 使用ccache加速多次编译(可选)

          安装配置ccache[^7] [^8];

        sudo apt-get install ccache
        export CC="ccache gcc"
        export CXX="ccache g++" 
        

        编译

        这个步骤很慢,网友讲可能需要1-3个小时;

        可能是我直接在实体机上编译的原因,我第一次编译大约花费25分钟;

        经过localmodconfig、ccache后,后续编译时间一般在2-8分钟,感觉很快;

        make -j$(nproc)
        

        打包deb

        make bindeb-pkg
        

        安装文件在源码文件夹同级目录生成

        默认配置生成的linux-image deb文件约80M,localmodconfig后约20M;

        Linux内核编译安装 - Deepin,Debian系

        安装

        安装软件包[^9],linux-libc-dev可不安装;

        # 查看
        ls -lh ../linux-*.deb
        # 安装
        dpkg -i ../linux-*.deb
        

        启用

        可使用grub-customizer管理grub配置,更换内核加载

        列表

        Linux内核编译安装 - Deepin,Debian系

        设置

        Linux内核编译安装 - Deepin,Debian系

        References

        [^1]. The Linux kernel archives. (n.d.). https://www.kernel.org/

        [^2]. 8.10. 编译内核. (n.d.). https://www.debian.org/doc/manuals/debian-handbook/sect.kernel-compilation.zh-cn.html

        [^3]. kernel_config · AtomGit_开放原子开源基金会代码托管平台. (n.d.). https://atomgit.com/fslong/kernel_config/

        [^4]. Kernelconfig.io. (n.d.). https://www.kernelconfig.io/index.html

        [^5]. Linux 内核编译 —— make localmodconfig 简化内核配置流程-CSDN博客. (n.d.). https://blog.csdn.net/maijian/article/details/6202426

        [^6]. 精简LINUX内核配置及快速编译的方法汇总_linux 最小配置 快速编译-CSDN博客. (n.d.). https://blog.csdn.net/exiaoqian/article/details/42522653

        [^7]. 使用 ccache 加速内核编译. (n.d.). https://www.expoli.tech/articles/2023/07/06/Use-ccache-to-speed-up-kernel-compilation

        [^8]. Linux 5.10.20 上使用ccache加快内核编译速度(安装配置及使用方法)_kernel-5.10编译慢-CSDN博客. (n.d.). https://blog.csdn.net/weixin_48299611/article/details/115563624

        [^9]. 查看、安装、卸载内核-论坛-深度科技. (n.d.). https://bbs.deepin.org/post/243646

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]