当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 本要在试验编内核时出现: waring:youmayneedtoinstallmodule-init-tools 的提示! 俺下载了一个不知道怎么安装,里面没有安装程序!急 好好先生 回复于:2004-02-08 14:12:30 从kernel.org下载。
 

 

 ·ftp 连接失败报530错误    »显示摘要«
    摘要: ftp连接失败,提示如下: [code:1:d08419b41c] 530 must perform authentication before identifying user. [/code:1:d08419b41c] 什么意思? 好好先生 回复于:2004-02-04 09:42:53 用什么用户连的? babyblue 回复于:2004-02-04 09:4......
    摘要: 我用linux7。2作了一个squid+iptables+dhcp服务器,我电脑有二个网卡eth0 作为接外网(有固定ip), eth1作为接内网(ip为:192.192.192.1),我配了一个dhcp服务器让它从192.192.192.2-254自动为客户机分配ip,但启动时出错。 我的配置如下: subnet 192.192.192.0 netmask 255.255.255.0 { ......


编内核时出现:module-init-tools在线等

本要在试验编内核时出现: 【程序编程相关:吐血奉献Linux下的Proc编译诀窍

【推荐阅读:终结大硬盘安装linux采用lilo启动

waring:you may need to install module-init-tools 【扩展信息:用vmware安装linux时报错

的提示!

俺下载了一个不知道怎么安装,里面没有安装程序!急

 好好先生 回复于:2004-02-08 14:12:30 从kernel.org下载.这个module-init-tools要升级的,不然insmod,lsmod这样的命令都不能用.

 jeffreyli 回复于:2004-02-08 14:22:06 #tar jxvf module-init-tools-0.9.14-pre1.tar.bz2

#cd module-init-tools-0.9.14-pre1

#./configure

#make

#make moveold

#make install

#./generate-modprobe.conf /etc/modprobe.conf

我安上面的方法操作的还是不行.

 jeffreyli 回复于:2004-02-08 14:23:22 请问好好先生,最新版本是不是3.0呀.

 jeffreyli 回复于:2004-02-08 14:39:54 大家都知道的要先升级“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开发库的支持)

注意:如果你是ext3文件系统,则在定制内核配置文件时把对ext3.ext2文件的支持直接编译进内核,否则,等你启用新内核时机器就会当掉,出错信息如下:kernel panic : no init found ,try passing init = option to kernel......或者是:kernel panic:vfs:unable to mount root fs on unknown-block(0,0),我一开始不知道,编译了好几次,系统总给我冷板凳坐,最后把对ext3.ext2文件系统的支持直接编译进内核,才解决此问题,还有把对“module unloading“选项也选上,否则的话,你在新内核环境下无法卸载内核模块(rmmod命令不能用).

三.编译内核及模块

定制好的内核配置文件(/usr/src/linux-2.6.0/.config)之后,激动的时刻到来了,编译内核及模块,

#make (此命令已完成make bzimage及make modules的工作),

bzimage内核文件在arch/i386/boot目录中,你的cpu不同内核文件存放位置也不同,我是intel的cpu.

注意:我在redhat7.2平台时曾出现无法编译的出错信息,出错信息如下:

/tmp/cc2hu7sh.s:3: error: unknown pseudo-op: `.incbin

make[1]: *** [usr/initramfs_data.o] error 1

make: *** [usr] error 2,

重新装了个9.0的才解决此问题.

说明:make命令在我的1.6ghz,128m的机器上跑了足足27分钟.

四.安装模块及内核文件


...   下一页
    摘要: 首先感谢platinum的热心帮助!在他的帮助下,我解决了总是掉线的问题,才有了这篇文档。 作者:好好先生 转载请保留上述信息,谢谢您的配合。 =========================================================================== 这一段时间也太忙了,身体也不好。没有写过什么东西给大家,很是惭愧。今天在platinum的帮助下......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE