一、本次内核编译新内核所涉及软件版本
“gcc–version”可查寻GCC版本------4.3.220081105(RedHat4.3.2-7)
“make–v”可查询Gnumake版本-----3.81
“ld–V(v)可查询GNUld版本-----2.18.50.0.9-7。fc1020080822
“fdformat--version”命令检测util-linux版本----2.14.1
“insmod–V”检查module-init-tools版本-----3.5
“tune2fs–version”命令可检测tune2fs版本-----1.41.3
“pppd--version”命令可检测pppdversion2.4.4
“isdnctrl2>&1|grepversion”命令可检测isdnctrlversion3.9
二、配置ftp,上传内核代码
ftp配置过程这儿不再详尽介绍。本次要编译的内核代码版本为2.6.25.8,执行mget指令将内核上传到目标文件,之后执行“tarxvjflinux-2.6.25.8_src.tar.bz2解压内核代码包。
三、配置内核
接出来的内核配置过程比较繁琐,而且配置的适当与否与日后Linux的运行直接相关,有必要了解一下一些主要的且常常用到的选项的设置。配置内核可以按照须要与爱好使用下边命令中的一个:
#makeconfig(基于文本的最为传统的配置界面linux 软件,不推荐使用)
#makemenuconfig(基于文本选单的配置界面,字符终端下推荐使用)
#makexconfig(基于图形窗口模式的配置界面,Xwindow下推荐使用)
#makeoldconfig(假如只想在原先内核配置的基础上更改一些小地方,会省去不少麻烦)
#makedefconfig(采用默认配置)
对于初学者而言,我们可以先执行“makedefconfig”,这样可节约好多工作。之后在执行“makemenuconfig”进行下边的配置:
1、选择网卡配置:
DeviceDrivers--->
[*]Networkdevicesupport--->
[*]Ethernet(10or100Mbit)--->
AMDPCnet32PCIsupport//VMware下Linux系统的网卡驱动
2、选择SCSI驱动
DeviceDrivers--->
SCSIdevicesupport--->
[*]SCSIlow-leveldrivers--->
BusLogicSCSIsupport//必需要选择BusLogicSCSI适配器
配置完成后可执行“ls-a”指令查看目标文件夹中会存在.config文件。
在配置时,大部份选项可以使用其缺省值,只有小部份须要依照用户不同的须要选择。
四、编译内核
配置工作完成后,可以执行编译命令:
#makedep
#makeclean
#makezImage
#makebzImage
#makemodules
#makemodulesinstall
#makeinstall
#depmod-a
第一个命令makedep实际上读取配置过程生成的配置文件升级linux内核版本arch linux,来创建对应于配置的依赖关系树,因而决定什么须要编译而这些不须要;第二命令makeclean完成删掉后面步骤留下的文件,以防止出现一些错误;第三个命令makezImage和第四个命令makebzImage实现完全编译内核,两者生成的内核都是使用gzip压缩的,只要使用一个就够了升级linux内核版本,它们的区别在于使用makebzImage可以生成大一点的内核,例如在编译2.4.0版本的内核时假如使用makezImage命令,这么都会出现systemtoobig的错误提示。建议你们使用makebzImage命令。makemodules和makemodulesinstall分别生成相应的模块和把模块拷贝到须要的目录中。#makeinstall默认会将内核镜像拷贝到/boot目录下。第八个命令和编译过程并没有关系,它是生成模块间的依赖关系,这样你启动新内核以后,使用modprobe命令加载模块时能够正确地定位模块。
我们可以依次执行#makeclean、#makebzImage、#makemodules、#makemodulesinstall、makeinstall指令。
五、更新
最后我们还须要执行“vim/etc/grub.conf”,更改grub.conf文件中的default的值,选择启动循序。