Linux 发行版发行版CentOS 7 编译内核
编译内核
操作系统作业:编译Linux内核内核一、实验目的二、环境准备三、操作方法和步骤(1)下载内核并解压(2)配置项(3)编译
操作系统作业:编译
内核(4)安装(5)重启虚拟机四、总结
一、实验目的
一、实验目的
学习怎样重新编译Linux内核。
理解、掌握Linux标准内核和发行版本内核的区别。
二、环境准备
二、环境准备
虚拟机软件:Vmware Workstation
Linux发行版:CentOS 7 内置内核:linux 3.10.0
待编译内核:linux 4.15.10
三、操作方法和步骤
三、操作方法和步骤
编译过程很多地方需要root权限,为了方便,直接切换到root,切换命令:
su root
小提示小提示:输入密码时不会显示,$表示一般用户,#表示超级管理员root,Tab键可以补全路径
((1)下载内核并解压
)下载内核并解压
使用浏览器打开http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/linux/kernel/v4.x/
Ctrl+F查找linux-4.15.10.tar.gz,点击即可下载,我下载的位置是/home/username/Downloads/linux-4.15.10.tar.gz
使用tar命令解压文件:
tar xf ~/Downloads/linux-4.15.10.tar.gz -C /usr/src
解压之后,切换工作目录:
cd /usr/src/linux-4.15.10/
((2)配置项
)配置项
配置项的几种方式
配置项的几种方式
make config 基于文本的配置界面
make menuconfig 基于文本菜单的配置界面
make xconfig 基于图像窗口的配置界面
make oldconfig 基于原来内核配置基础上修改
本文采用基于文本菜单的配置界面(make menuconfig))
本文采用基于文本菜单的配置界面(
使用make menuconfig需要ncurses-devel的支持
安装ncurses-devel命令:
yum install ncurses-devel
执行make menuconfig,开始选择配置项(注意终端窗口至少为
注意终端窗口至少为19行,行,80列,否则报错提示
列,否则报错提示)
make menuconfig
成功执行后,会出现下面的窗口:
直接保存退出
保存退出就可以了,它会使用 CentOS 内部的配置文件作为这次编译的配置文件
((3)编译内核
)编译内核
编译需要elfutils-libelf-devel 和 openssl-devel 的支持,安装命令:
yum install elfutils-libelf-devel openssl-devel
使用make命令开始编译内核,可以使用多核线程提高编译速度:
make -j4
emmm,编译时间很长
,编译时间很长(1小时左右,与电脑性能有关
小时左右,与电脑性能有关),耐心等待
,耐心等待
((4)安装)安装
漫长的等待之后,终于迎来了安装内核
执行 make modules_install 开始安装模块:
make modules_install
等待几分钟,执行make install 开始安装核心:
make install
顺利安装完成,重启虚拟机看看
((5)重启虚拟机
)重启虚拟机
重启之后,进入grub界面,选择新编译的内核:CentOS Linux (4.15.10)
进入桌面后,打开终端,使用uname -a查看内核版本:
uname -sr
实验做完了,才算完成了一半,还有实验报告没写!
还有实验报告没写!haha
四、总结
四、总结
有啥总结的!不是一番风顺吗?(
有啥总结的!不是一番风顺吗?(