linux pc机编译新内核,Centos7内核编译

一:前要知识准备

1:参考 系统原内核文件的配置文件,编译新内核选项

原配置文件/boot/ config-3.10.0-514.el7.x86_64

了解配置文件的内容信息

cat /boot/ config-3.10.0-514.el7.x86_64

bVQNH9?w=554&h=428

bVQNIi?w=447&h=108

每一行代表一个模块

=y 代表模块存放在核心内核里面

=m 代表模块存放在/lib/modules内

下图中:NTFS is not set 表示NTFS功能没有启用

bVQNIk?w=554&h=408

EXT4文件系统格式的模块是打到/lib/modules内的

2:内核菜单

命令: make menuconfig

bVQOmY?w=554&h=190

需要安装:ncurses-devel 包

bVQOnb?w=891&h=262

make menuconfig:

内核选项菜单

bVQOnh?w=554&h=255

3:编译特定的内核模块

1:选择指定的ko文件路径

2:进入解压内核文件目录 /root/linux4.12

生成ko文件:

make fs/ntfs/ntfs.ko

cp ko文件至 /lib/modules/ 4.12.0-1.0-mashuai-kernel

cp fs/ntfs/ntfs.ko /lib/modules /4.12.0-1.0-mashuai-kernel/kernel/fs/ntfs/

bVQOnm?w=554&h=372

二:编译内核支持NTFS硬盘格式

1:硬件要求

1) /boot空闲空间在500M以上

2) / 空间空间在10G以上

3)真实物理硬盘至少也需要在10G以上

4)本实验系统环境为Centos7,Centos6流程与7类似

2:下载源码文件

llinux-4.12.tar https://www.kernel.org/

放置在根目录下

解压包:tar xvf linux-4.12—

bVQOnB?w=554&h=221

bVQOnF?w=554&h=100

3:准备配置文件

编译内核时,系统默认会去找.config文件

cp /boot/config-3.10.0-514.el7.x86_64 /root/linux-4.12/.config

4:安装开发包包组

yum groupinstall “Development Tools”

5 安装内核选项菜单 文件包

要在内核解压包解压文件的路径下做如下操作:

cd /boot/linux-4.12

yum install nucres-devel

make menuconfig

bVQOnQ?w=554&h=295

图片开头的.config 就是依照/root/linux-4.12/.config配置文件而生成的现在的菜单

[]表示模块打入内核中

[] General setup 通用设置

bVQOnY?w=554&h=258

local version:编译者加的内核版本

6: 增加内核版本内容

-1.0-mashuai-keernel

bVQOn5?w=554&h=206

bVQOn8?w=554&h=232

7 :更改文件系统设置

bVQOoF?w=943&h=427

bVQOoG?w=554&h=280

NTFS:改为 NTFS模块文件打入/lib/modules

bVQOoJ?w=554&h=248

[*] NTFS write support 写功能开启。

即便是开启,NTFS在实际中也不支持写功能

[*] NTFS debugging support 调试NTFS

bVQOoO?w=554&h=127

8:安装内核相关文件

make –j 4

4表示4颗cpu

bVQOoU?w=554&h=166

缺少软件包 openssl-devel

安装软件包:yum install –y openssl-devel

bVQOoW?w=554&h=212

继续编译内核:make –j 4

生成ko模块驱动文件,so库文件,内核相关文件

9:更新updatedb数据库

更新updatedb数据库 updatedb

查看ntfs.ko文件有无生成: locate ntfs.ko

bVQOo0?w=554&h=148

10:安装模块

make modules_install :相当于把需要内核配置文件中安装在/lib/modules目录内的文件

cp至/lib/modules内。

install命令就相当于复制命令

bVQOo7?w=554&h=55

bVQOpd?w=554&h=402

11:生成内核文件

安装缺少的软件:(此文件为其他人在生成内核文件时出现的报错信息)

bVQOpo?w=554&h=43

yum install elfutils-libelf-devel

bVQOpz?w=554&h=247

make install :安装内核相关文件

bVQOpC?w=554&h=87

ls /boot : 查看vmlinu-4.12内核文件有无生成

bVQOpD?w=554&h=117

cat /boot/grub2/grub.cfg :查看内核启动配置文件有无更改

增加了如图片下的内容:menuentr相当于centos6中的title

系统启动时,会增加一个centos linux 4.12版本的内核启动项

bVQOpK?w=554&h=129

12 :重启电脑

增加了一个4.12的内核选项

bVQOpM?w=554&h=317

13:重新挂载NTFS格式的U盘

df

bVQOp5?w=948&h=285

mount /dev/sdb1 /mnt/cd

bVQOqe?w=554&h=68

可以查看里面的文件内容:cat ansible.txt

bVQOqr?w=554&h=178

但是不可以写入:touch f1

bVQOqx?w=554&h=102

mount :查看挂载属性,为ro只读格式

bVQOqC?w=554&h=101

更改挂载属性: mount –o remount,rw /dev/sdb1

不可以重新挂载,有写保护。NTFS仅支持读

bVQOqE?w=554&h=84

三:清理及卸载内核

1:清理:make clean

make clean:清理大多数编译生成的文件,但会保留config文件等

2:卸载:

删除/lib/modules/目录下不需要的内核库文件

删除/root/linux4.12---/目录下不需要的内核源码

删除/boot目录下启动的内核和内核映像文件

更改grub的配置文件,删除不需要的内核启动列表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值