Наткнулся на блог с красивым и правильным методом добавления модулей в автозагрузку centos 5.x.
Все уже есть в самой системе и, как всегда, не нужно изобретать велосипед =) В файле /etc/rc.sysinit есть вот такая конструкция:
# Load other user-defined modules for file in /etc/sysconfig/modules/*.modules ; do [ -x $file ] && $file done
Т.е. для добавления модуля достаточно создать файл some_name.modules в каталоге /etc/sysconfig/modules/, внутри которого будет команда на его загрузку. Что-то такое:
# cat /etc/sysconfig/modules/some_name.modules modprobe some_module
Попробуем автоматизировать процесс добавления/удаление/просмотра модулей, для этого пишем скрипт:
#!/bin/sh
check_action ()
{
if [ $ACTION != "list" ] && [ $ACTION != "add" ] && [ $ACTION != "del" ]; then
show_help
exit 1
fi
}
show_help ()
{
echo Usage: `basename $0` ACTION [ MODULE_NAME ]
echo ACTION - list\|add\|del
echo MODULE_NAME - module name for add\|del ACTION
}
make_action ()
{
case $ACTION in
"list")
for i in `find $WORKDIR -type f -name "*.modules"`; do
module=`echo $i|sed 's/\.modules//'`
echo `basename $module`
done
;;
"add")
echo "modprobe $MODULE_NAME" > $WORKDIR/$MODULE_NAME.modules
chmod 750 $WORKDIR/$MODULE_NAME.modules
;;
"del")
rm -f $WORKDIR/$MODULE_NAME.modules
;;
esac
}
ACTION="$1"
MODULE_NAME="$2"
WORKDIR="/etc/sysconfig/modules/"
: ${ACTION:="list"}
check_action
make_action