栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > 服务器

Linux五步构建内核树

服务器 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力
目录
  • 0. 系统自带的内核树
  • 1. 环境配置
    • 第一步
    • 第二步
  • 2. 下载源码
    • 3. 构建准备
      • 4. 构建内核
        • 5. 安装模块
          • 总结

            0. 系统自带的内核树

            有时,安装的系统已经自带了Linux内核树,足够用来编译驱动程序了。

            自带的内核树通常位于

            /lib/modules/<系统内核版本>/build
            

            其中,系统内核版本可以用uname -r来查看

            $ uname -r
            5.11.0-41-generic
            

            不过自带的内核树似乎不完整,所以建议按照下面的方法编译一个完整的内核树。

            1. 环境配置

            第一步

            初次配置内核树要先安装一些必要的环境

            sudo apt-get build-dep linux linux-image-$(uname -r)
            

            (如果报错Error :: You must put some ‘source‘ URIs in your sources.list,请参照这里)

            第二步

            除了上面的环境之外,还要安装这些

            sudo apt-get install libncurses-dev gawk flex bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf dwarves
            

            2. 下载源码
            sudo apt-get source linux-image-unsigned-$(uname -r)
            

            这一步结束之后,会多出三个文件,

            linux-hwe-5.11_5.11.0-41.45~20.04.1.diff.gz
            linux-hwe-5.11_5.11.0-41.45~20.04.1.dsc
            linux-hwe-5.11_5.11.0.orig.tar.gz
            

            以及一个内核源码所在的文件夹

            linux-hwe-5.11-5.11.0
            

            (注:文件名称根据不同的系统版本会有所不同)

            3. 构建准备

            (注:任何时候,运行命令时遇见了permission denied,只需要在命令开头加上sudo后重新运行即可)

            进入linux-hwe-5.11-5.11.0文件夹,输入

            make menuconfig
            

            稍微加载后,会进入这个页面


            在这里插入图片描述

            这里什么都不用修改,直接关闭界面即可(方向键选择Exit然后回车,或者连续按两下Esc就能退出),原因见本章节末。

            然后,会显示这个对话框


            在这里插入图片描述

            蓝色框选中Yes后,按下回车键退出即可。

            这样会在当前目录下生成一个.config文件(输入ls -a就能找到这个文件),保证稍后的make能够顺利执行。

            4. 构建内核

            输入下面的命令开始构建(如遇见permission denied,在命令开头加上sudo后重新运行即可)

            make
            

            这里要狠狠地等一会儿,一般要一到数个小时。可以通过-j <最大并发任务数>命令,使用并发来提速。最大并发任务数一般可以是CPU数量的两倍。

            (注:通过使用make help进行查阅可以发现,在输入make时,会自动执行 1)make vmlinux(构建原始内核) 2)make bzImage(构建压缩的内核)和 3) make modules(单独构建模块化的驱动)这三个动作)

            5. 安装模块

            最后,把模块安装到/lib/modules/$(uname -r)目录

            sudo make modules_install 
            

            总结

            到此这篇关于Linux五步构建内核树的文章就介绍到这了,更多相关Linux内核树内容请搜索考高分网以前的文章或继续浏览下面的相关文章希望大家以后多多支持考高分网!

            转载请注明:文章转载自 www.mshxw.com
            本文地址:https://www.mshxw.com/it/697901.html
            我们一直用心在做
            关于我们 文章归档 网站地图 联系我们

            版权所有 (c)2021-2022 MSHXW.COM

            ICP备案号:晋ICP备2021003244-6号