快速业务通道

Linux如何在系统启动时自动加载模块

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-23
Kernel执行init程序并获得run-lebel信息(如3或5)

  (5) init执行/etc/rc.d/rc.sysinit

  (6)启动内核外挂模块(/etc/modprobe.conf)

  (7) init执行run-level的各种Scripts,启动服务

  (8) init执行/etc/rc.d/rc.local

  (9)执行/bin/login,等待用户Login

  (10)Login后进入Shell

  看来正确的方式是把需要加载的模块放在(5)或(6),但正如网络上很多人的尝试,修改modprobe.conf都没有成功(例如在modprobe.conf中增加install ip_vs...).于是我修改了/etc/rc.d/rc.sysinit就成功加载了.

  初步尝试在rc.sysinit增加 modprobe.conf ip_vs,重启后lsmod | grep ip_vs,发现成功自动加载了.

  于是仿效rc.sysinit中其他模块的加载方法,扩展改脚本文件,在增加下来一段:

  # load LVS IPVS modules

  if [ -d /lib/modules/$unamer/kernel/net/ipv4/ipvs ]; then

  for module in /lib/modules/$unamer/kernel/net/ipv4/ipvs/* ; do

  module=${module##*/}

  module=${module%.ko}

  modprobe $module >/dev/null 2>&1

  done

  fi

  就把/lib/modules/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/下的所有模块都自动加载了.其中:

  if语句检查ipvs模块的目录是否存在

  for循环遍历该目录下面的所有文件

  module=${module##*/} :其中##表示从前面删除字符,*/表示删除到一个/,如果一个#就表示只删除到第一个/.如果变量后面接##,表示在##后面的字符串取最长的(一直到面),如果接#,表示取最小的一段.

  module=${module%.ko}:表示从后面删除.ko.如果变量后面接%%,表示在%%后面的字符串取最长的(一直到最前面),如果接%,表示取最小的一段.

  这样多module的两次修改就得到了模块名,就是文件名不带路径和.ko后缀.

  modprobe $module >/dev/null 2>&1:加载模块,输出都指向空设备

  这样重启后lsmod | grep ip_vs就会得到:

  ip_vs_wrr 6977 0

  ip_vs_wlc 6081 0

  ip_vs_sh 6593 0

  ip_vs_sed 6081 0

  ip_vs_rr 6081 0

  ip_vs_nq 5953 0

  ip_vs_lc 5953 0

  ip_vs_lblcr 10565 0

  ip_vs_lblc 9797 0

  ip_vs_ftp 10053 0

  ip_vs_dh 6593 0

  ip_vs 79425 22 ip_vs_wrr,ip_vs_wlc,ip_vs_sh,ip_vs_sed,ip_vs_rr,ip_vs_nq,ip_vs_lc,ip_vs_lblcr,ip_vs_lblc,ip_vs_ftp,ip_vs

  转载自:http://blog.csdn.net/hansel/archive/2008/09/09/2903709.aspx

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号