モジュールの読み込みは /etc/rc.d/rc.modules で行います。/etc/rc.d/rc.modules は Bourne シェルスクリプトです。
### Update module dependencies ### # If /usr is mounted and we have 'find', we can try to take a shortcut: RELEASE=`uname -r` if [ -e /lib/modules/$RELEASE/modules.dep -a /lib/modules/$RELEASE/modules.dep -nt /etc/modules.conf ]; then NEWMODS="`/usr/bin/find /lib/modules/$RELEASE -type f -newer /lib/modules/$RELEASE/modules.dep`" # Only rebuild dependencies if new module(s) are found: if [ ! "" = "$NEWMODS" ]; then echo "New kernel modules have been found in /lib/modules/$RELEASE/:" echo "$NEWMODS" echo "Updating module dependencies for Linux $RELEASE:" /sbin/depmod -a else echo "Module dependencies up to date (no new kernel modules found)." fi else # we don't have find, or there is no existing modules.dep, or it is out of date. echo "Updating module dependencies for Linux $RELEASE:" /sbin/depmod -A fi |
RELEASE に uname -r の出力結果を代入します。/lib/modules/$RELEASE/modules.dep が存在し、/lib/modules/$RELEASE/modules.dep が /etc/modules.conf よりも新しい場合、NEWMODS に /usr/bin/find /lib/modules/$RELEASE -type f -newer /lib/modules/$RELEASE/modules.dep の出力結果を代入します。これは、前回の depmod 実行以降に変更されたファイルを検出します。変更された、あるいは追加されたファイルを検出した場合 /sbin/depmod -a を実行し、新しい modules.dep を作成します。
/lib/modules/$RELEASE/modules.dep が存在しない場合は、/sbin/depmod -A を実行し modules.dep を作成します。また /etc/modules.conf が変更され、modules.dep が古い場合も /sbin/depmod -A を実行します。
コメント部分に find がない場合は /sbin/depmod -A を実行するとありますが、間違いです。find がない場合は正しく動作しません。find は大変便利なプログラムですので、インストールすることをお薦めします。find をインストールしない場合は、以下のように書き換える必要があります。
### Update module dependencies ### # If /usr is mounted and we have 'find', we can try to take a shortcut: RELEASE=`uname -r` if [ -e /lib/modules/$RELEASE/modules.dep -a /lib/modules/$RELEASE/modules.dep -nt /etc/modules.conf ]; then if [ -x /usr/bin/find ]; then NEWMODS="`/usr/bin/find /lib/modules/$RELEASE -type f -newer /lib/modules/$RELEASE/modules.dep`" # Only rebuild dependencies if new module(s) are found: if [ ! "" = "$NEWMODS" ]; then echo "New kernel modules have been found in /lib/modules/$RELEASE/:" echo "$NEWMODS" echo "Updating module dependencies for Linux $RELEASE:" /sbin/depmod -a else echo "Module dependencies up to date (no new kernel modules found)." fi else echo "Updating module dependencies for Linux $RELEASE:" /sbin/depmod -a fi else # we don't have find, or there is no existing modules.dep, or it is out of date. echo "Updating module dependencies for Linux $RELEASE:" /sbin/depmod -A fi |
find を利用すると、必要な時にのみ /sbin/depmod -a を実行します。find がない場合は、毎回 /sbin/depmod -a を実行することになります。すなわち、find は起動時間を短縮するために利用されています。
### Network device support ### # Most of these drivers will probe automatically for the card if you don't # specify an I/O address and IRQ. But, the NE2000 driver needs at least the # I/O. For complete information, see the net-modules.txt file that comes # with the Linux 2.2.x source code. This file can also be found on the # Slackware CD-ROM in the /docs/linux-2.2.x/ directory. # # First, if setup probing found a network card, there may be an 'rc.netdevice' # file that we should run to load the network module: if [ -x /etc/rc.d/rc.netdevice ]; then . /etc/rc.d/rc.netdevice fi |
/etc/rc.d/rc.netdevice が実行可能であれば、/etc/rc.d/rc.netdevice を実行します。これは、主にネットワークインタフェースカード用のモジュールを読み込みます。
# *** THIS IS STILL LOADED BY DEFAULT *** # SCSI emulation support. This will provide SCSI host adapter emulation # for IDE ATAPI devices, and will allow you to use a SCSI device driver # instead of a native ATAPI driver. This is useful if you have an ATAPI # device for which no native driver has been written (for example, an ATAPI # PD-CD or CD-RW drive); you can then use this emulation together with an # appropriate SCSI device driver. Note that this option does NOT allow you # to attach SCSI devices to a box that doesn't have a SCSI host adapter # installed. Also, you'll need to exclude your CD-RW from being grabbed by # the normal ATAPI driver by passing a flag to the kernel at boot time. # If you're using LILO, add this: append="hdc=ide-scsi" # Replace "hdc" with the appropriate device name. /sbin/modprobe ide-scsi |
/sbin/modprobe ide-scsi を実行し、モジュール ide-scsi を読み込みます。
参考文献
前へ | 起動プロセス入門 | 次へ |