L一.Preparation:
1.参考2.6.xx内核软件包文档(Documentation/Changes)中的软件升级需求升级了ps工具程式到最新版本(是到http://www.rpmfind.net下载对应redaht或fedora的procps-3.2.5-1.src.rpm,然后运行rpmbuild
--rebuild procps-3.2.5-1.src.rpm, 安装编译好的RPM包即可) 安装module-init-tools-3.0.tar.bz2:(http://www.kernel.org )
tar -zxvf module-init-tools-3.0.tar.gz
cd module-init-tools-3.0
./configure --prefix=/
make moveold
make
make install
./generate-modprobe.conf /etc/modprobe.conf
命令"make moveold"将把系统原来的modutils工具程式改名为"*.old"(比如,lsmod.old等等). NOTE!
这是很重要的一步, 千万不要省略. 这将使得您能够继续使用原有的linux-2.4.x系统, 因为在2.4.x系统下,
新的module-init-tools工具包实际上是倚赖原来"*.old"程式来加载内核模块. 假如忘记了这一步也不要紧张,
能够先下载并安装原来的modutils程式包, 然后按照上面的步骤重来一遍就能够了.
新的module-init-tools工具包不再
使用原来的/etc/modules.conf配置文档了, 而是使用新的配置文档/etc/modprobe.conf.
因此必需用命令"./generate-modprobe.conf
/etc/modprobe.conf"来生成新的配置文档/etc/modprobe.conf.
假如您使用devfs系统您还需要复制modprobe.devfs 到/etc目录下。
2.安装modutils-2.4.26-16.i386.rpm:(http://www.rpmfind.net)
rpm -iUvh modutils-2.4.26-16.i386.rpm
3.下载新的mkinitrd/lvm2软件包
http://www.rpmfind.net
下载 mkinitrd和lvm2最新版本并安装.
rpm -iUvh mkinitrd-xxx.rpm lvm2-xxxx.rpm --nodeps
否则在make install时候会提示以下错误:
No module mptbase found for kernel 2.6.10, aborting.
mkinitrd failed
make[1]: *** [install] Error 1
make: *** [install] Error
4.下载最新的内核(http://kernel.org/pub/linux/kernel/)
linux-2.6.10.tar.bz2或linux-2.6.10.tar.bz2(最好将内核拷到/usr/src,这样解压方便一点)
解压:
cd /usr/src
tar -xjpvf linux-2.6.10.tar.bz2或
tar -xzpvf linux-2.6.10.tar.gz
5. Pathc iptables
到http://www.netfilter.org下载最新的iptables和patch-o-matic-ng软件包.
需要注意的是:
1)先卸载了系统原先的iptables软件包
rpm -qa |grep iptables
rpm -e --nodeps iptables-devel
rpm -e --nodeps iptables
2)解压软件包
tar -xjpvf iptables-1.3.0.tar.bz2
tar -xjpvf patch-o-matic-ng-20050225.tar.bz2
cd patch-o-matic-ng-20050225
./runme extra
输入内核源代码的路径/usr/src/linux-2.6.10
输入iptables源代码的路径/opt/soft/iptables/iptables-1.3.0
然后按您自己的需要把iptables的扩展补丁打到内核(要实现封杀bt一定要选上ipp2p这扩展)
在以下配置内核部分,需要:
把networking support-->networking options-->networking packet filtering-->IP:netfilter configruation-->ipp2p match选上
二.Kernel Configuration
1.内核配置很费事,选项太多了,最好用默认的.在linux-2.6.10/arch下有很多关于各种机子的配置:
alpha cris ia64 m68knommu ppc sh sparc64 x86_64
arm h8300 m32r mips ppc64 sh64 um
arm26 i386 m68k parisc s390 sparc v850
找到您的机子对应的目录,里面会有一个defconfig文档,就是对应机子的默认配置,很不错,假如您的配置跟我的相同的话,几乎不许要改什么地方.
配置能够使用make menuconfig,make xconfig,make gconfig这三个命令中的任何一个,第一个图像界面和控制台下都能用,后两个只能在图像界面下使用,我喜欢在字符界面下工作,所以用make menucofig
cd /usr/src/linux-2.6.10
cp arch/i386/defconfig ./.config
make menuconfig或make xconfig,make gconfig
三.Compile Kernel
这一步没什么好说的,无需您做什么
make
make modules
make modules_install
make install
假如您想偷懒的话能够用:
make && make modules && make modules_install && make install
然后就能够去喝杯咖啡,休息一下什么的.假如您想让他编译完连机子都关了的话,用下面这条命令
make && make modules && make modules_install && make install && poweroff
四.Problems
1.不认识root=LABEL/的问题:
假如重新启动新内核无法进入出现root=LABEL/不能识别,用原来的内核启动系统,编辑/boot/grub/grub.conf
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




