您的位置:首页 > 运维架构 > Linux

Linux内核编译全过程详

2010-02-26 13:42 309 查看
为什么要进行内核编译:
1.现有内核不支持或没有将用户系统中某些硬件的驱动程序编译
2.删除内核中实际系统中根本不用的设备驱动,以减少对内存的占用
3.使用一些现有的内核没有编译进去的网络通信协议
4.提高Linux的效率
5.修改错误、支持新的应用程序
一 编译前准备
1)安装相关工具,比如说开发工具等。
插入二号光盘,用mount 进行挂载,进入/mnt/cdrom/RedHat/RPMS下,安装下面软件:
rpm -ivh gcc-3.2.2-5.i386.rpm;
rpm -ivh ncurses4-5.0-11.i386.rpm;
rpm -ivh ncurses-devel-5.3-4.i386.rpm.
2)下载一份内核源代码,我下的是linux-2.4.20.tar.gz,
你可在如下地址下载它或者是更新的版本.
http://kernel.org/pub/linux/kernel/v2.6/
3)解压缩
#tar –xzvf linux-2.4.20.tar.gz
#cd /usr/src/linux-2.4.20
4)配置编译参数
#make mrproper (清除上次编译留下垃圾文件)
#make clean (清除残留文件)
#make menuconfig
选择处理器
Processor type and features--->Processor family--->386
Ram Disk驱动
Block devices--->
< * > RAM disk support
(4096) Default RAM disk size (NEW)
< * > Initial RAM disk (initrd) support
文件系统
File systems--->
[ * ] Ext3 journalling file system support
[ * ] Ext3 Security Labels
[ * ] JBD (ext3) debugging support
BusLogic驱动
SCSI support--->
SCSI low-level drivers --->
< M >BusLogic SCSI support
5)解决依赖关系
#make dep (解决依赖关系)
6)产生内核文件
#make bzImage
7)编译和安装模块
#make modules
#make modules_install
8)安装内核
#make install
注:如果要定制某项功能,在第四步的时候进行,比如说我们要定制是linux支持具有NTFS功能,就在 File systems---> 进行选取。
以上就是简单的linux内核编译,希望大家能够喜欢。如果有不明白之处请发邮件给我,ahxhlyh@163.com.希望大家支持。

本文出自 “刘永宏 linux” 博客,请务必保留此出处http://ahxhlyh.blog.51cto.com/944374/278800
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: