问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-22 11:56

我来回答

2个回答

热心网友 时间:2023-09-24 12:21

为搞清楚如何在系统启动时自动加载模块,搜索了好久,网上有很多人提出这个问题,但都没有正确的答案。大家的回答都没有讲到点子上,无非是围绕modprobe.conf、modprobe讲来讲去的,要不就是针对特定问题尝试不同的方法。有的还建议把modprobe molename写入rc.local,却不曾想rc.local的执行被放在整个启动顺序的很后面,而启动init.d下面定义的服务却在rc.local前面,那么如果某个服务要用这个模块,就不行了。 在测试LVS时,因为我的Fedora7的Kernel(2.6.21-1)缺省没有加载ip_vs模块,而内核中已经包含编译好的IPVS相关的模块了,放在:/lib/moles/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/下面,有: /lib/moles/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs.ko /lib/moles/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_dh.ko /lib/moles/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_ftp.ko /lib/moles/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_lblc.ko /lib/moles/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_lblcr.ko /lib/moles/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_lc.ko /lib/moles/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_nq.ko /lib/moles/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_rr.ko /lib/moles/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_sed.ko /lib/moles/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_sh.ko /lib/moles/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_wlc.ko /lib/moles/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_wrr.ko 其中ip_vs.ko是IPVS的基本模块,不加载IPVS就不能工作(运行ipvsadm会报错的),而其他的都是IPVS的调度算法或特定协议的辅助模块,需要时则须加载。 要了解如何在系统启动时自动加载模块(Automatically load kernel moles),就得先了解系统是如何启动的,启动的过程中按什么顺序做了什么,怎么做的,这些启动操作都有那些文件和脚本控制。整个开机流程是: (1) 载入BIOS的硬件信息,并取得第一个开机装置的代号 (2)读取第一个开机装置的MBR的boot Loader (grub)的开机信息 (3)载入OS Kernel信息,解压Kernel,尝试驱动硬件 (4) 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),我修改了/etc/rc.d/rc.sysinit就成功加载了。初步尝试在rc.sysinit最后增加 modprobe.conf ip_vs,重启后lsmod | grep ip_vs,发现成功自动加载了。于是仿效rc.sysinit中其他模块的加载方法,扩展改脚本文件,在最后增加下来一段: # load LVS IPVS moles if [ -d /lib/moles/$unamer/kernel/net/ipv4/ipvs ]; then for mole in /lib/moles/$unamer/kernel/net/ipv4/ipvs/* ; do mole=${mole##*/} mole=${mole%.ko} modprobe $mole >/dev/null 2>&1 done fi就把/lib/moles/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/下的所有模块都自动加载。

热心网友 时间:2023-09-24 12:22

rc.sysinit中有这样的一段代码:
# Load other user-defined moles
for file in /etc/sysconfig/moles/*.moles ; do
[ -x $file ] && $file
done
# Load moles (for backward compatibility with VARs)
if [ -f /etc/rc.moles ]; then
/etc/rc.moles
fi
可见只需要配置两个地方的任何一个就可以了(以加载fuse内核模块为例)
(1) 在/etc/sysconfig/moles/下面创建*.moles文件,参考已经有的*.moles文件,例如我写创建文件my.moles,内容为modprobe fuse
记得最后chmod 755 my.moles
(2) 或者在/etc/rc.moles里面加上modprobe fuse,没有的话创建该文件。
然后reboot,lsmod | grep fuse验证一下就OK了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...时间会发作,很痛的,请问是这样吗?会痛多久? ...已经坏了,如今全身浮肿,尿排不出,医生说就这 我爷爷得了肝癌晚期,腹水,不能手术.听说氩氦超冷刀技术能治.哪里有... 父亲59岁得了肝癌晚期,医生说最多半年时间了,上面还有80多岁的爷爷... 长春跑大连的列车员,怎么区分正式分和临时工呢? 员工刚怀孕就被开除,开除负责人拒不认错,你如何看待该公司的态度?_百 ... 员工在职期间怀孕,老板可以无故迟退吗? 老板开除怀孕女员工违法吗 如何选购蚊帐 什么样的蚊帐最好 找永久免费的门诊管理系统 建立套账时忘记启用“总账”模块,以后如何启用呢? 健康体检管理系统有什么优势? 用友财务软件,系统启用问题! 如何在健康信息系统取消记住的密码 用友T6软件报表操作流程 远程健康管理系统报价 报警系统网络通讯模块怎么使用 用友软件反启用了模块在怎么启用 那里有免费的居民健康档案管理系统软件? ERP,系统管理员如何启用新模块 启用总账系统的方法有哪两种 怎么鉴别psp是否被更改系统版本 用友软件如何启用CRM模块 健康档案管理系统哪个好用? 用友财务系统 启用总账模块有几种方法 健康顾问作文不少于八十字 健康管理系统包括哪些子系统 什么叫健康管理? 健康管理的内容是什么? 健康档案管理系统ORA-604: 递归 SQL 级别 %s 出现错误 用友T3建立好帐套怎么启用? 职业健康管理系统一年多少钱 用友U8如何启动系统管理模块 会计软件中功能模块的启用有先后顺序吗 进入T6系统管理,为什么没有启用模块项? 用友t3启用各个子系统的顺序是什么? 重装系统的启动模块是什么意思 固定资产模块启用前应做哪些准备工作? 如何使用ERP中的生产模块 用友U8财务软件的存货系统模块怎么停用? 刚买的小米电视怎么开机? 脸部抽脂的危害有哪些呢? 面部吸脂有什么危害吗? 面部针管抽脂有什么危害 做脸部吸脂手术有危险吗? 面部抽脂危害有哪些 抽脂对于脸部有什么危害?整容会影响健康吗? 脸部抽脂危害大吗? 小切口 面部吸脂有没有危险