安装高版本module-init-tools

如果用默认的configure,module-init-tools会被安装到/usr/local/sbin,这样的话,在初始化时就不会被调用到。其实module-init-tools提供很好的向下兼容性,如果发现内核版本是2.5.48以下的,那么会自动调用.old版本,比如modprobe会自动调用modprobe.old,当然前提是做了备份。所以在RH9下面,module-init-tools需要手工安装。这样就避免了上面修改rc.sysinit的麻烦。

复制module-init-tools-0.9.14.tar.bz2,解压到当前目录:
代码:
   tar xjvf module-init-tools-0.9.14.tar.bz2

然后新建build目录:
代码:
   mkdir module-init-tools-build

进入该目录,运行configure
代码:
   cd module-init-tools-build
   ../module-init-tools-0.9.14
   CC="gcc296" /
     ../module-init-tools-0.9.14/configure

接着编译:
代码:
   make

不要运行make install,手工安装modprobe以便保留Redhat自带的版本。
以下是旧版本的文件:
/sbin/depmod
/sbin/insmod
/sbin/modinfo
/sbin/modprobe: a symbolic link to insmod
/sbin/rmmod: a symbolic link to insmod
/sbin/lsmod: a symbolic link to insmod
旧版本中,除了depmod, insmod, modinfo,其余都是到insmod的符号连接。
新版本中,这些都是ELF文件,在2.5.47以下的内核中调用,会自动转调.old文件
所以,我们要重建这些文件名:
/sbin/depmod -> /sbin/depmod.old
/sbin/insmod -> /sbin/insmod.old
/sbin/modinfo -> /sbin/modinfo.old
/sbin/modprobe.old: a symbolic link to insmod.old
/sbin/rmmod.old: a symbolic link to insmod.old
/sbin.lsmod.old: a symbolic link to insmod.old
执行下面的命令完成上述操作:
代码:
cd /sbin
mv depmod depmod.old
mv insmod insmod.old
mv modinfo modinfo.old
ln -s insmod.old modprobe.old
ln -s insmod.old rmmod.old
ln -s insmod.old lsmod.old
rm -f modprobe
rm -f rmmod
rm -f lsmod
cd -

然后安装现在的版本:
代码:
cp depmod /sbin
cp insmod.static /sbin/insmod
cp modinfo /sbin
cp modprobe /sbin
cp lsmod /sbin
cp rmmod /sbin

测试通过,新版本的module-init-tools安装完成。
这里略过了新版本的man pages,需要的话可以自行安装。
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值