博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
内核的编译安装
阅读量:5799 次
发布时间:2019-06-18

本文共 2275 字,大约阅读时间需要 7 分钟。

编译安装新内核
步骤:

1、下载到新的版本的内核
内核官方网站,在这里有各种版本的内核!直到现在内核的最新版本为3.2.7
2、配置新的内核,选定要使用的功能或模块,前面说到Linux采用的是单内核的设计模式,所以有些驱动或功能可以直接编译进内核,有些则可以编译为模块,而这些就是在这里进行配置的。
2.1 解压到特定目录下:/usr/src/
#tar xvf linux-2.6.28.10.tar.gz -C /usr/src/
#cd /usr/src/
这里我要编译的内核版本是2.6.28.10
2.2 这里还要将解压出来的目录linux-2.6.28.10创建一个linux软链接,一是约定俗成,二是方便以后我们以后在编译新内核,当然这里如果不想创建链接,也可以将其重命名为linux
法1:#ln -sv linux-2.6.28.10 linux    ---为linux-2.6.28.10创建软连接linux
法2:
#mv linux-2.6.28.10 linux        ---将linux-2.6.28.10重命名为linux
2.3 配置编译环境
#yum grouplist        ---查看Development Libraries,Development Tools这两个包组是否都安装,如果Development Libraries已经安装,Development Tools并未安装,但是此时Development Tools大部分都已经安装,因为Development Libraries安装时依赖于Development Tools,但如果Development Tools已经安装,Development Libraries并未安装,这时则需要安装Development Libraries
#yum groupinstall nogpgcheck "Development Libraries" -y 
       ---不验证签名信息直接回复y进行安装

2.4 配置内核(驱动、功能、支持...)
#cd /usr/src/linux
法1:(make menuconfig        ---打开配置选项菜单)
当打开时这里都是一些默认的选项,并不是完全根据我们的计算机的硬件配置所进行的配置,而这里大概有3000多项,稍微有一点选择错误,就有可能导致我们的内核编译失败,所以我们可以使用redhat之前给我们的预设的配置文件".config"
#cp /boot/config-2.6.18-164.el5 ./.config    ---将之前的内核配置文件config-2.6.18-164.el5复制到当前目录下并且重命名为.config
#make menuconfig    ---在Redhat给我们预设的配置基础上在做稍微的修改,是不是方便多了
注:在menuconfig中[]:表示不启用此项  [*]:表示直接编译进内核  [M]:表示编译为模块
法2:(#make xconfig     ---打开图形界面进行选择配置)
注:使用xconfig需要安装KDE Software Development,但是安装依赖于X Software Development,所以使用
#yum groupinstall nogpgcheck "KDE Software Development" -y
#make xconfig
法3:(#make gconfig)
注:使用gconfig需要安装GNOME Software Development,所以先
#yum groupinstall nogpgcheck "GNOME Software Development" -y
#make gconfig
法4(#make config)    ---这个将会遍历所有的配置选项,3000多项,你懂的,遍历下来很痛苦的,呵呵。
所以我们一般常用的就是法1、法2、法3
3、编译新内核
编译新内核这个过程是很漫长的,短则30分钟长则1个半小时,时间的长短,取决于所要编译的内核模块多少和机器的性能。
这里一般我们经常都是远程登录到Linux上,所以当我们这在编译内核时突然远程链接断开了,那么就前功尽弃了,还得重新来过,所以为了防止这种情况发生,我们使用screen
#which screen
如果存在screen
#screen            ---进入屏幕
#make            
---编译
如果不存在screen
#yum install screen
#screen            ---进入屏幕
#make           
 ---编译
注:Ctrl+a,d 离开屏幕
#screen -ls        ---查看打开的screen列表,每一个screen都有一个screenid
#screen -r screenid    
---打开指定的screen
4、安装
#make modules_install    ---安装模块
#make install    
扩展:
一、在已经编译过的内核源码基础重新编译:
#make clean        ---清理之前编译的选项
#make mrproper
上面的两个命令执行后.config会被删除
三、仅编译某个目录中的源代码:
#make SUBDIR=arch/
四、仅编译某个目录中的模块
#makke M=drivers/net/

本文转自 向阳草米奇 51CTO博客,原文链接:http://blog.51cto.com/grass51/790859,如需转载请自行联系原作者
你可能感兴趣的文章
jitsi-meet
查看>>
makefile--嵌套执行(四)
查看>>
代码实现打开和关闭数据库
查看>>
mysql实战优化之三:表优化
查看>>
centos配置ssh免密码登录后,仍提示输入密码
查看>>
在阿里云上布置git server
查看>>
【UWP】使用Action代替Command
查看>>
利用 Python 只连接一次 MySQL
查看>>
sublime搜索和替换--正则
查看>>
qq划屏幕红包程序
查看>>
Atitit.mysql 5.0 5.5 5.6 5.7 新特性 新功能
查看>>
CCTableView 简单样例
查看>>
HTML 事件(二) 事件的注册与注销
查看>>
【云计算】docker daemon如何提供Restful的API
查看>>
iOS开发--整理常用的第三方资源
查看>>
HTTP 1.1与HTTP 1.0的比较
查看>>
北京师范大学2016年初试成绩基本要求
查看>>
Python之数据结构篇
查看>>
Shell 基本运算符
查看>>
java阅读笔记
查看>>