Требуется подгрузка модуля ядра под именем sg. Естественно, я его подгрузил командой
[console]modprobe sg[/console]
А куда прописать в Slackware, чтобы он подгружался автоматом при запуске системы? Потому как после выключения или перезагрузки системы, нужно опять вбивать команду.
Интересует, именно как это правильно делается в Slackware. Понятно, что можно и в /etc/rc.d/rc.local записать, но есть же наверное для этого какой то классический способ для этого случая...
Всё, вопрос снимается. Пропажа нашлась методом "научного тыка". Вызов нужных модулей перечислен в файле /etc/rc.d/rc.modules-3.10.17-smp (в моём случае).
Мне всего лишь понадобилось раскомментировать нужную строку:
Для подгрузки модулей традиционно используется /etc/rc.d/rc.modules* (в части динамической -- зависящей от наличия/отсутствия устройств -- ныне его заменяет udev).
Какой именно из /etc/rc.d/rc.modules* используется (да, их может быть несколько), определяется следующей логикой в /etc/rc.d/rc.S:
text
# This loads any kernel modules that are needed. These might be required to
# use your ethernet card, sound card, or other optional hardware.
# Priority is given first to a script named "rc.modules.local", then
# to "rc.modules-$FULL_KERNEL_VERSION", and finally to the plain "rc.modules".
# Note that if /etc/rc.d/rc.modules.local is found, then that will be the ONLY
# rc.modules script the machine will run, so make sure it has everything in
# it that you need.
if [ -x /etc/rc.d/rc.modules.local -a -r /proc/modules ]; then
echo "Running /etc/rc.d/rc.modules.local:"
/bin/sh /etc/rc.d/rc.modules.local
elif [ -x /etc/rc.d/rc.modules-$(uname -r) -a -r /proc/modules ]; then
echo "Running /etc/rc.d/rc.modules-$(uname -r):"
. /etc/rc.d/rc.modules-$(uname -r)
elif [ -x /etc/rc.d/rc.modules -a -r /proc/modules -a -L /etc/rc.d/rc.modules ]; then
echo "Running /etc/rc.d/rc.modules -> $(readlink /etc/rc.d/rc.modules):"
. /etc/rc.d/rc.modules
elif [ -x /etc/rc.d/rc.modules -a -r /proc/modules ]; then
echo "Running /etc/rc.d/rc.modules:"
. /etc/rc.d/rc.modules
fi
То есть, первый из имеющихся исполняемых из:
/etc/rc.d/rc.modules.local
/etc/rc.d/rc.modules-$(uname -r)
/etc/rc.d/rc.modules
Для помещения "modprobe модуль" есть одно препятствие -- если загруженный модуль требуется на более ранних стадиях загрузки, например, инициализация устройств хранения данных или сетевых устройств (для них в Slackware предназначен отдельный файл -- /etc/rc.d/rc.netdev, вызов которого присутствует в rc.modules*).
По поводу /etc/modprobe.d есть смысл предварительно прочесть man modprobe.d.
Если правильно путаю, предназначение рецепта install/remove несколько иное, при выполнении modprobe module / modprobe -r module на самом деле выполнять что-то иное.
Наличие такого файла само по себе загрузку/удаление модуля не вызовет, только задаёт, что делать при загрузке/удалении.
По поводу /etc/modprobe.d есть смысл предварительно прочесть man modprobe.d.
Ой, пробовал... Нифига не понял... Возможно маны и полезная штука, но только в контексте тотального изучения, как шпаргалки...
Изучать по манам, врагу такого не пожелаю.
Еще раз: опции install/remove в modprpbe.d не загрузят/выгрузят модуль. Загрузка/выгрузка делается вызовом modprobe. Упомянутые опции задают, что будет делать modprobe для помянутого там модуля.
Упомянутые опции задают, что будет делать modprobe для помянутого там модуля.
А, дошло. То есть, когда модуль загружается (через rc.modules, или при подключении устройства, связанного с этим модулем), modprobe смотрит на запись в /{etc,lib}/modprobe.d/*.conf и, если находит там строку install module, то выполняет команду, указанную в этой строке. Я был неправ, неправильно man modprobe.d прочитал :)