0

0

内核编译步骤

巴扎黑

巴扎黑

发布时间:2017-07-21 09:18:42

|

2531人浏览过

|

来源于php中文网

原创

第一步 我们首先应该下载kernel的软件包,可以点击进行下载

第二步 然后解压linux*对应版本的软件包到到当前目录,当前本人所在目录为用户家目录

tar xvf linux-4.12.tar.xz

第三步 cd切换进解压后的目录中,如cd linux-4.12,并之后的编译安装等操作都只能在此目录下执行
第四步 复制系统本身的内核模块功能文本配置文件并重命名为.config

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

第五步 安装开发包组

yum -y groupinstall "Development Tools"

第六步 执行编译,使用菜单配置内核选项,若编译报错,则根据报错提示安装对应的软件包

 make menuconfig

第七步 编译内核,编译过程有点长,请耐心等待,请勿终止操作

make -j 2   使用2个CPU多线程同时编译

第八步 根据错误提示安装软件包,如下图

提示安装openssl-devel软件包
yum -y install openssl-devel  根据错误提示安装相应的软件开发包

第九步 然后继续编译 make -j 2
第十步 在编译完成之后,更新数据库,然后就可以查看我们编译进内核的模块是否成功

updatedb   更新数据库
locate ntfs.ko  查看我们编译进内核的ntfs模块是否存在于内核中

第十一步 安装复制模块文件,安装过程有点长,请耐心等待

make modules_install

第十二步 将内核拷贝到/boot目录下并修改grub文件,make执行报错,若报错,则根据提示安装对应的软件包

make install 将内核拷贝到/boot目录下并修改grub文件

报错信息如下

image

yum -y install elfutils-libelf-devel  安装elfutils-libelf-devel包
make install  继续执行

第十三步 查看/boot目录下已生成vmlinuz-4.12.0-danran内核文件和grub.cfg或grub.conf文件是否改变

/boot/vmlinuz-4.12.0-danran  
cat /boot/grub2/grub.cfg 查看grub配置文件,里面多了一个新内核菜单

image

第十四步 reboot 重启系统选择新内核启动

清理内核编译产生的文件

cd linux-4.12
make clean:清理大多数编译生成的文件,但会保留config文件等;
make mrproper:清理所有编译生成的文件、config及某些备份文件
make distclen:mrproper、patches以及编辑器备份文件

内核编译操作流程如下

  1. 下载linux*相应软件包

  2. tar xvf linux-4.12.tar.xz 解压内核到当前目录

  3. cd linux-4.12

  4. cp /boot/config-3.10.0-514.el7.x86_6 .config 复制系统本身的功能配置文件到内核解压目录下并命名为.config

  5. ls .config

  6. yum -y groupinstall "Development Tools" 安装Development Tools开发包组

  7. make menuconfig 打开图形功能配置界面
    image

  8. 如果上一步骤报错,则按照报错提示安装相应的软件包,eg ncurses-devel软件包

  9. 修改内核的版本号为danran
    image
    image
    image
    image

  10. 添加内核的支持ntfs功能
    image
    image
    image

  11. vim .config 查看配置文件,确认ntfs功能是否开启,内核版本号是否改变

    易优制冷机械设备网站源码1.6.9
    易优制冷机械设备网站源码1.6.9

    易优制冷机械设备网站源码是基于易优cms开发,适合企业进行制冷设备展示使用。程序内核为Thinkphp5.0开发,后台简洁,为企业网站而生。 这是一套安装就能建站的程序,不定期更新程序BUG,更新网站功能。 我们提供的不仅是模板这么简单,我们还提供程序相关咨询、协助安装等服务。 默认不包含小程序插件,需要另外单独购买插件。 模板安装步骤 1、请将安装包ZIP上

    下载
  12. lscpu 查看cpu信息,和cpu核数

  13. make -j 2 编辑内核

  14. 根据编译报错提示安装相应的软件包
    image
    上图所示,提示安装openssl-devel软件包

  15. yum -y install openssl-devel 根据错误提示安装相应的软件开发包

  16. yum -y install elfutils-libelf-devel

  17. make -j 2 继续编译,编译时间有点长,请耐心等待,请勿终止

  18. updatedb 更新数据库

  19. locate ntfs.ko 查看我们编译进内核的ntfs模块是否存在于内核中
    image

  20. make modules_install 安装复制模块文件,请耐心等待复制过程
    image

  21. cd /lib/modules

  22. find 4.12..danran/ -name ".ko" 查看新编译内核中的所有ko模块文件

  23. cd /root/linux-4.12

  24. make install 将内核拷贝到/boot目录下并修改grub文件,make执行报错,根据提示安装相应软件包
    image

  25. yum -y install elfutils-libelf-devel 安装elfutils-libelf-devel包

  26. ll /boot/vmlinuz-4.12.0-danran 查看/boot目录下已生成vmlinuz-4.12.0-danran内核文件

  27. cat /boot/grub2/grub.cfg 查看grub配置文件,里面多了一个新内核菜单
    image

  28. reboot 重启系统选择新内核启动

  29. ls linux-4.12/fs/ntfs/ntfs.ko 查看ntfs模块是否安装

单独编译ntfs.ko模块文件

  1. cd linux-4.12 进入内核目录

  2. make fs/ntfs/ntfs.ko 重新编译ntfs.ko模块文件

  3. ll fs/ntfs/ntfs.ko 查看ntfs.ko模块文件是否编译生成

  4. cp fs/ntfs/ntfs.ko /lib/modules 单独拷贝模块文件到/lib/modules中
    image

内核的相关知识点请点击链接

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

23

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

68

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

162

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

84

2026.03.04

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

113

2026.03.03

C++高性能网络编程与Reactor模型实践
C++高性能网络编程与Reactor模型实践

本专题围绕 C++ 在高性能网络服务开发中的应用展开,深入讲解 Socket 编程、多路复用机制、Reactor 模型设计原理以及线程池协作策略。内容涵盖 epoll 实现机制、内存管理优化、连接管理策略与高并发场景下的性能调优方法。通过构建高并发网络服务器实战案例,帮助开发者掌握 C++ 在底层系统与网络通信领域的核心技术。

29

2026.03.03

Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

79

2026.02.28

Golang 工程化架构设计:可维护与可演进系统构建
Golang 工程化架构设计:可维护与可演进系统构建

Go语言工程化架构设计专注于构建高可维护性、可演进的企业级系统。本专题深入探讨Go项目的目录结构设计、模块划分、依赖管理等核心架构原则,涵盖微服务架构、领域驱动设计(DDD)在Go中的实践应用。通过实战案例解析接口抽象、错误处理、配置管理、日志监控等关键工程化技术,帮助开发者掌握构建稳定、可扩展Go应用的最佳实践方法。

62

2026.02.28

Golang 性能分析与运行时机制:构建高性能程序
Golang 性能分析与运行时机制:构建高性能程序

Go语言以其高效的并发模型和优异的性能表现广泛应用于高并发、高性能场景。其运行时机制包括 Goroutine 调度、内存管理、垃圾回收等方面,深入理解这些机制有助于编写更高效稳定的程序。本专题将系统讲解 Golang 的性能分析工具使用、常见性能瓶颈定位及优化策略,并结合实际案例剖析 Go 程序的运行时行为,帮助开发者掌握构建高性能应用的关键技能。

51

2026.02.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.5万人学习

Rust 教程
Rust 教程

共28课时 | 6.7万人学习

Kotlin 教程
Kotlin 教程

共23课时 | 4.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号