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

相关推荐

  • 马哥教育网络班22期+第7周课程练习

    1、创建一个10G分区,并格式为ext4文件系统; fdisk /dev/sdd n p 1 2048 +10G w (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; mke2fs -t ext4 -b 2048 -m 2&nb…

    Linux干货 2016-09-26
  • 文件系统磁盘管理上

    磁盘:主要作用用于存储数据 早期一块硬盘共有256个盘面,每个盘面有1024个磁道,每个磁道有63个扇区,每个扇区的大小是512byte 硬盘的命名: 早期IDE硬盘标记为hd scsi、usb、sas标记为sd 引用设备的方式 设备文件名 标卷 UUID 硬盘分区: 第0个磁道的第0个扇区存放的是磁盘的信息 MBR:Master Boot Record 主…

    Linux干货 2016-08-30
  • linux下find(文件查找)命令的详解

    文件查找命令locate和find详解 locate 配合数据库缓存,快速查看文件位置,非实时查找( 数据库查找) find 实际搜寻硬盘查询文件名称 ,实时查找 locate简介 locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locat…

    Linux干货 2016-08-18
  • 变量

    变量     在shell脚本中,单独的字符或者命令只能引用一次,对于变量,我们可以多次引用,且对变量的赋值修改方便。对于一条很长的命令或者频繁使用的路径等,我们可以赋值给一个变量,比如获得系统中所有用户的uid,要输入很长的一段命令,我们如果每次使用都输入命令是件很麻烦的事情,如果赋值变量,那么就会很方便。设置变量userui…

    Linux干货 2017-08-06
  • linux的发展史

    一、今天要介绍的Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 但是很多时候我们了解到的技术都不是…

    Linux干货 2016-10-17
  • 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 1 2  ~]# who |sort -nu root     pts/0        2016…

    Linux干货 2016-12-21