[from: https://blog.csdn.net/wylfengyujiancheng/article/details/67644077]

在实际的生产环境中由于一些bug或内核功能限制需要打开内核的一些参数,就要用到手工编译内核,编译方法下面介绍如下: 
编译环境 
centos7.2 min安装 
安装开发工具

# yum install gcc* ncurses-devel bc openssl openssl-devel libssl-dev perl rpm-build -y

下载内核

# wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.9.11.tar.xz

解压

# xz  -d linux-4.9.11.tar.xz
# tar -xvf  linux-4.9.11.tar
# cd  linux-4.9.11
# make menuconfig

如果.config不存在,运行make menuconfig时的缺省设置由固化在各个Kconfig文件中各项目的缺省值决定。

# mkdir -p /root/roofs && cd /root/rootfs
# /usr/lib/dracut/skipcpio initramfs-$(uname -r).img | zcat | cpio -imd

General setup  ---> [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support 
  (/root/rootfs) Initramfs source file(s)     //  输入initframfs目录的绝对路径.

如果.config存在,运行make menuconfig时的缺省设置即是当前.config的设置,若对设置进行了修改.config将被更新。 
按多次ESC键退出保存 
开始编译rpm,时间比较长,请耐心等待。约1h

# make rpm 

生成位置:

/root/rpmbuild/SRPMS/kernel-4.9.11-2.src.rpm
/root/rpmbuild/RPMS/x86_64/kernel-4.9.11-2.x86_64.rpm

手工编译Linux内核rpm包相关推荐

  1. 【Linux/内核】Linux内核rpm包和源码包下载地址-20210107

    1.有个需求:如何下载老版本内核rpm包? 因自己在按文档做实验时,为了实验期间涉及软件包版本保持一致,需要用到旧版本的内核rpm包,但是自己在内核下载页面并没找到相关的旧版本软件包,只有最近新版本的 ...

  2. linux4.9编译内核,centos编译linux-4.9内核rpm包

    实际环境中,有时需要用到某个版本的linux内核,但这个版本的内核并没有rpm包,这时我们就需要编译linux内核rpm包.本文介绍在centos6下编译linux-4.9版本内核rpm包,以linu ...

  3. linux内核中cent文件夹,Centos 中如何快速定制二进制的内核 RPM 包

    1.rpm 制作前的环境准备: yum install -y ncurses-devel qt-devel rpm-build redhat-rpm-config asciidoc hmaccalc ...

  4. Centos 中如何快速定制二进制的内核 RPM 包

    1.rpm 制作前的环境准备: yum install -y ncurses-devel qt-devel rpm-build redhat-rpm-config asciidoc hmaccalc ...

  5. linux 内核编译_如何在21世纪编译Linux内核

    linux 内核编译 在计算中,内核是处理与硬件和一般系统协调通信的低级软件. 除了计算机主板上内置的一些初始固件之外,启动计算机时,内核还使您意识到它具有硬盘驱动器,屏幕,键盘和网卡. 确保为每个组 ...

  6. 编译linux内核生成.ko,Linux内核编译完整过程

    通过网上的资料我自己的实际内核编译,我把对Linux内核编译的过程写在这里,也许对其他的Linux爱好者的编译学习有些帮助,其中很大部分是网上的资料,另外就是我在实际编译过程中的一些实际经验. 内核简 ...

  7. 安装debian总结以及编译linux内核

    1. 安装debian 使用unetbootin(http://unetbootin.sourceforge.net/)来创建启动盘,并且下载debian的基本包. 将磁盘进行压缩操作,并且保留出一个 ...

  8. Linux 编译时查找错误字符,编译Linux内核时出现“fatal error: linux/netfilter/xt_dscp: No such file or directory”...

    编译Linux内核时出现"fatal error: linux/netfilter/xt_dscp: No such file or directory".下面开始查找原因. 第一 ...

  9. 记第一次编译Linux内核

    前言 国庆期间老师布置了一个作业,其中有一个主要的部分是编译Linux内核. 然而第一次编译可能会遇到许多问题,特别是安装包依赖的问题.这里为了留个纪念,或者希望能帮到大家,特意写了这篇博客. 安装虚 ...

最新文章

  1. pandas 2 选择数据
  2. vue 自定义指令实现,滚动条百分比进度条。
  3. ML之FE:基于load_mock_customer数据集(模拟客户,单个DataFrame)利用featuretools工具实现自动特征生成/特征衍生
  4. Hive 窗口分析函数
  5. NET内存持续增长问题排查
  6. java 并发编程实例_Java并发编程案例解读
  7. [整理+原创]ubuntu Thunderbird Mail设置自动提醒
  8. oracle查看语句执行历史,AWT查看oracle历史sql语句执行
  9. win10用一会就蓝屏重启_电脑出现蓝屏?教你如何解决
  10. C++之++操作符重载
  11. .net 读取xml文件
  12. MySql Workbench常用快捷键修改MySqlWorkBench快捷键
  13. 【避坑指南】GD32 KEIL中SW Device没有识别芯片,jlink下载不进去的问题
  14. 2018华为笔试题2
  15. 20155201李卓雯 20155212江振思 20155313杨瀚《信息安全技术》 实验三 数字证书应用...
  16. 加拿大计算机工程研究生,加拿大维多利亚大学电子与计算机工程系副教授诚招硕士研究生 - 导师招生 - 小木虫 - 学术 科研 互动社区...
  17. mysql查询bom清单_U8 数据库BOM表SQL语句查询
  18. AI绘画与虚拟人生成实践(三):让虚拟形象动起来!照片生成说话的视频
  19. TCP协议的三次握手和四次挥手
  20. Codeforces 940E Cashback

热门文章

  1. Kubernetes 版本锁定到1.12.3
  2. MIT 算法导论 (二)Math Notation
  3. JavaScript跨域问题分析与总结_直来直往_百度空间
  4. 一种避免 iOS 内存碎片的方法
  5. Facebook已经过时,蜂巢新网络崛起
  6. Android开发小技巧之商品属性筛选与商品筛选
  7. [Android学习笔记四] 自定义Android组件之组合方式创建密码框组件
  8. SharePoint 2013 中代码创建列表查阅项字段
  9. 图灵成立七周年——经典回顾
  10. “iexplorer.exe遇到问题需要关闭”问题的处理