用户 密码
太平洋系列网站:太平洋汽车网 | 太平洋游戏网
首 页 | 今日报价 | 新闻中心 | 数码世界 | 硬件资讯 | 软件资讯 | 下 载 | 通讯世界 | 游 戏
论 坛 | 产品大全 | 渠道商情 | 解决方案 | 招聘培训 | 产品调查 | 二 手 | 评 测 室 | 导 购
各地今日报价 北京 广州 上海 深圳 南宁 重庆 山东 南京 香港 辽宁

-
您现在的位置:招聘与培训 > 操作系统栏目 > Linux/Unix > 其它Linux/unix
菜鸟编译内核(kernel2.6.0)


责任编辑:leelee

[04-8-19 10:34] 作者:飘雪心辰
-

本文以RedHat9.0为平台

下载源代码

  Linux内核总是不断发展的,最新的内核kernel2.6.0对USB2.0予以正式的支持,以及内核模块文件后缀最显著的一个变化由*.o到*.ko等等,我们可以从www.kernel.org下载到tarball的源代码包。

前期准备

  大家都知道的要先升级“module-init-tools“软件包,否则的话,等你安装内核模块文件的时候,系统会提示你:Warning: you may need to install module-init-tools See http://www.codemonkey.org.uk/post-h...4.21-23.src.rpm

  进入下载目录下并安装:

#rpm -e --nodeps modutils (强行卸载原有的modutilsRPM包)
#rpm -ivh modutils-2.4.21-23.src.rpm (把源代码包安装到了/usr/src/redhat目录下)
#cd /usr/src/redhat/SPECS (进入规范文件目录下)
#rpmbuild --bb modutils.spec (生成二进制的RPM包)
#cd ../RPMS/i386 (转入刚生成的二进制的RPM包所在位置)
#rpm -ivh modutils*.rpm (刚生成两个[modutils-2.4.21-23.i386.rpm与modutils-debuginfo-2.4.21.23.i386.rpm]二进制的RPM包,一起安装吧!)

  因为是在RedHat9.0的平台,RedHat的用户可能还会遇到一些麻烦,我会慢慢说的,除了要以上的升级之外,还有个文件(/etc/rc.d/rc.sysinit)可能有缺陷,因为/proc/ksyms文件在新内核(kernel2.6.0)中已经没有了,打开文件命令如下:

#vi /etc/rc.d/rc.sysinit

  找到:

if ! LC_ALL=C grep -iq nomodules /proc/cmdline 2>/dev/null && [ -f /proc/ksyms ]; then
USEMODULES=y
fi

  替换成:

if ! LC_ALL=C grep -iq nomodules /proc/cmdline 2>/dev/null; then
USEMODULES=y
fi

  也就是把“&& [ -f /proc/ksyms ]”去掉,保存文件(操作之前最好做备份以免删错,这个文件是系统初始脚本,重要的很),这样子内核才能加载模块,当然能启动iptable防火墙了,否则防火墙在新内核中启动时红色的“failed“非常醒目。(请在新内核中核查/proc/sys/kernel/modprobe中的内容是不是:/sbin/modprobe,也可手工注入指令:#echo "/sbin/modprobe" > /proc/sys/kernel/modprobe)。下面开始构造新内核。

一、准备源代码

  1、下载到tarball包之后,将内核tarball包复制到/usr/src目录下,假定包在当前目录中,运行以下命令:

#cp linux-2.6.0.tar.gz /usr/src

  2、转到/usr/src目录并解开tarball包,

#cd /usr/src
#tar xvzf linux-2.6.0.tar.gz

  3、如果你还下载了补丁包,则打上补丁,你也可以运行scripts/patch-kernel脚本文件自动打上补丁(准备好补丁包)或 #zcat patch-2.6.0.gz|patch -p1(我偷懒不打补丁的)。

二、定制内核

  定制内核是门很大的学问,需要大量的硬件知识,特别是2.6.0的内核,如果你从2.4.N配置文件装载进去的,的确,很多人遇到过麻烦。我是重新配置文件(X窗口服务器进行),配制内核之前请清理源代码树,如果还没有进入/usr/src/linux-2.6.0目录,请进入此目录,命令如下:

#make mrproper (刚解开的tarball包不需此步骤)
#make gconfig (需要Gtk开发库的支持)
或make config
或make xconfig(需要Qt开发库的支持)



ad
发给好友 我要报错 投稿给我们 加入收藏 返回顶部

-
本栏今日更新
相关文章
·2004年上半年薪酬情况六大特点
·系统安全之事件审核
·年薪令人惊——你属于哪个阶层?
·三层交换技术解析
·上海人薪资高 不同阶层“收入歧视”明显
·菜鸟编译内核(kernel2.6.0)
·初入职场:女大学生凭两块钱进外企
·全球首推 PHP 认证
·杂议Windows和Linux
·经典:探索SCO-UNIX的帮助命令man
·入门典籍之Linux用户安全
·收藏:Linux的常用网络命令
·Linux下硬盘分区的最佳方案
·网络漏洞扫描系统的必要性
·为Linux安装无线网卡
·Unix系统“急救车”
文章搜索
高级搜索
本栏今日焦点
-