|
发表于 2011-6-8 01:04:24
|
显示全部楼层
你提到只有第一次运行才会提示没有加载模块,那么说明这个USB设备的模块在加载后到生成node之间有比较大的延时.
在第一次net.nas0 start失败后,虽然进程没有起来,但模块已经加载并生成node了,所以之后在net.nas0 start就都可以成功.
所以解决的关键是,在执行net.nas0 start之前要确保模块已经加载并有一段时间了,所以这里有两个解决办法.
第一种:在net配置里可以写preup的函数,内容是
preup()
{
if echo ${IFACE} | grep -w 'nas0'
then
modprobe 你的模块名
while true
do
if grep -w ${IFACE} /proc/net/dev
then
break
fi
done
fi
}
把这段直接加到net的最后就可以生效了,其实preup里就是一般的shell,你可以根据需要再做进一步调整.
第二种是操作起来比较简单,在/etc/conf.d/modules里改这句话modules="你的模块名",让模块在启动初期就加载,应该就可以了.当然,也可以在initramfs里让模块更早加载.
至于模块名,lsmod就可以了 |
|