编译安装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

相关推荐

  • net25-第14周作业

    系统的INPUT和OUTPUT默认策略为DROP; ~]# iptables -P INPUT DROP ~]# iptables -P OUTPUT DROP 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机; ~]#iptables -…

    Linux干货 2017-05-15
  • bash编程函数select语句的使用

    £select             select循环主要用于创建菜单,按数字顺序排列的菜单项将显示在标准错误上,并显示PS3提示符,等待用户的输入,用户输入菜单列表中的某个数字,执行相应的命令,用户输入被保存在变量REPLY中。 select是个…

    Linux干货 2016-08-24
  • Linux中的shell脚本编程——基础篇

    概述:       shell脚本在Linux系统管理员的运维工作中非常重要。shell脚本能够帮助我们很方便的管理服务器,因为我们可以指定一个任务计划,定时的去执行某一个脚本以满足我们的需求。本篇将从编程基础、脚本基本格式、变量、运算、条件测试这几个方面详细介绍shell脚本编程的基础内容,也是我们必须要掌握熟练的内容。 一、…

    Linux干货 2016-08-15
  • 马哥教育网络班22期+第15周课程练习

    1、总结sed和awk的详细用法; sed [OPTION]…  'script'  [input-file] … script: 地址定界编辑命令 常用选项: -n:不输出模式空间中的内容至屏幕; -e script, –expression=sc…

    Linux干货 2016-12-14
  • Keepalive+Nginx高可用配置(主从)

    Keepalived高可用集群 一、Keepalived介绍 Keepalived软件主要通过VRRP协议实现高可用功能的。VRRP是Virtual Router Redundancy Protocol(虚拟路由器冗余协议)的缩写,VRRP出现的目的就是为了解决静态路由单点故障问题,它能够保证当个别节点宕机时,整个网络可以不间断地运行。keepalived除…

    Linux干货 2016-12-30
  • 马哥教育21期网络班—第三周课程+练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who |cut -d" " -f1 |sort -u 2、取出最后登录到当前系统的用户的相关信息。 id `who | tail -n …

    Linux干货 2016-07-12