编译安装Linux内核

实验前准备:在https://www.kernel.org/下载内核

这里我们下载的是:linux-4.14.10.tar.xz

du -sh /app/linux.tar/ 此命令可查看内核文件大小

编译完成后/lib/modules下会生成4.14.10版的内核

微信截图_20180103195506

1,tar xvf linux-4.14.10.tar.xz -C /app/
解压缩准备好的内核压缩文件到/app下生成一个linux.tar文件

微信截图_20180103200214

可以对比下原压缩文件与生成文件的大小,也就是相差10倍,所以编译之前还是要先考虑下自己的磁盘是否够用

微信截图_20180103200349微信截图_20180103200933

2,cp /boot/config-3.10.0-514.el7.x86_64 .config
我们这里直接复制config-3.10.0-514.el7.x86_64到解压缩内核文件目录下linux-4.14.10中改名为config即可,这个文件就是定义了哪些功能要启用哪些功能不启用,是打到核心里还是还是放到独立模块中,因为硬件太多我们不选用一个一个设置了,因此我们就复制过来这个文件中稍作修改即可  ,可作为我们编译选择各个功能启用禁用的一个模板,我们接下来就是通过菜单make menuconfig来对他进行编辑,要实现这个功能我们首先要安装一些开发包组。
3,yum groupinstall Development tools

yum install gcc

yum install ncurses-devel 或者rpm -ivh /misc/cd/Packages/ncurses-devel-5.9-13.20130511.el7.x86_64.rpm
安装这三个软件即可,ncurses就是字符界面下的一个窗口库

微信截图_20180103202340

微信截图_20180103202600

. . .
4,make menuconfig
进入字符界面下内核编译菜单

微信截图_20180103202916

general  setup —->Local version – append yo kernel release(追加到内核版本之后)

微信截图_20180103203746

4.14.10-之后就是自定义的内容也就是上面一步定义的
微信截图_20180103204126

配置完毕后选择exit退出即可
5,yum install elfutils-libelf-devel

微信截图_20180103204658

执行编译命令出现此提示,表示要编译这些功能但是没有库,所以就需要安装

微信截图_20180103204931
6,make -j 4 && for i in {1..10};do sleep 0.3; echo -e “\a”;done
安装编译

微信截图_20180103205047
7,sudo yum install openssl-devel
编译过程中如果出现错误就安装这个包
8,make modules_install
安装模块在/lib/modules下生成一个新的文件目录 4.14.10-1.0.liulinux
9,make install
安装内核,生成新的内核文件,生成过程中会报错不用理会

此时编译完毕。

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90821

(0)
liuyongweiliuyongwei
上一篇 2018-01-03 18:00
下一篇 2018-01-03 21:08

相关推荐

  • bash脚本编程语言if语句,find文件查找和压缩工具及课后作业练习

    一.概述 使用read命令来接受输入 使用read来把输入值分配给一个或多个shell变量: -p指定要显示的提示 -t TIMEOUT read从标准输入中读取值,给每个单词分配一个变量 所有剩余单词都被分配给最后一个变量 read -p “Enter a filename:“ FILE 过程式编程语言: 顺序执行 选择执行 循环执行 条件选择if语句 选…

    Linux干货 2016-08-22
  • 关于 建立私有CA和申请证书

                               建立私有CA和申请证书            …

    系统运维 2016-09-23
  • grub安装

    创建两块磁盘分区 创建boot目录和根本目录rootfs mkdir /mnt/boot mkdir /mnt/rootfs mount /dev/sdb1 /mnt/boot mount /dev/sdb2 /mnt/rootfs 安装gurb gurb-install –root-directory=/mnt /dev/sdb1 在/mnt/…

    Linux干货 2017-11-14
  • 网络理论基础

    一、网络概述   1、什么是网络     网络就是通过有线或无线技术将各种硬件设备连接起来进行数据传输的一种方式。   2、网络的分类     根据距离范围可以将网络划分为局域网和广域网。       局域网:传输距离较近,传输速率快。     &n…

    Linux干货 2016-01-11
  • 8月2日作业

    在/data/testdir里创建的新文件自动属于g1组,组g2的成员如:alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。 [root@localhost ~]# groupadd g1 [root@localhost ~]# groupadd g2 [root@local…

    Linux干货 2016-08-05
  • MariaDB之MHA配置

    工作拓扑 一、MHA简明:     MHA(Master HA)是一款开源的MySQL的高可用程序,它为MySQL主从复制架构提供了    automating master failover 功能。MHA在监控到master节点故障时,会提升其中    拥有最新数据的…

    2017-01-01