Модули загружаются вручную при помощи команды insmod. Команда очень простая - достаточно указать имя модуля. Например, чтобы загрузить драйвер устройства Зс509, наберите команду insmod Зс509. В этом случае модуль загружается без параметра autoclean. Чтобы драйвер удалялся из памяти автоматически, добавьте ключ-к в команду insmod: insmod -k Зс509.
Серьезное ограничение команды insmod связано с тем, что она ничего не смыслит в зависимостях модулей. Если загрузить при помощи этой команды модуль smc-ultra, это не приведет к автоматической загрузке необходимого модуля 8390. По этой причине для ручной загрузки модулей лучше использовать команду modprobe. Синтаксис этой команды также очень прост. Чтобы загрузить модуль smc-ultra, наберите просто modprobe smc-ultra.
modprobe в работе использует файл зависимостей, созданный командой depmod. После обновления ядра или библиотеки модулей выполните команду depmod, чтобы создать новый файл зависимостей модулей. Команда depmod -а выполняет поиск всех стандартных библиотек модулей и создает соответствующий файл. По завершении этой операции воспользуйтесь modprobe для загрузки модулей с автоматическим отслеживанием зависимостей.
Для удаления ненужных модулей применяется команда гmmod. Опять же, ее синтаксис прост: rmmod appletalk удаляет из системы драйвер appletalk. Необходимость в ручном удалении модулей возникает редко, поскольку, как говорилось при обсуждении autoclean, неиспользуемые модули удаляются системой автоматически.
Модуль smc-ultra реализует драйвер устройства Ethernet . Именно этот драйвер устройства используется в работе сетевого интерфейса системы Linux из нашего примера. Драйверы устройств могут встраиваться в ядро - такой вариант мы рассмотрим позже, либо динамически загружаться из модулей. Большинство драйверов устройств Ethernet используются в качестве загружаемых модулей. Модули драйверов Ethernet расположены в каталоге /lib/ modules. В случае системы Red Hat 7.1 драйверы устройств Ethernet находятся в каталоге /lib/modules/2.4.7-10/kernel/drivers/net, как можно видеть из следующего фрагмента:
|
3c501.o atp.o eexpress.o ni50l0.o smc-ultra.o 3c503.o bcm epiclOO.o ni52.o starfire.o 3c505.o bonding.o eql.o ni65.o strip.o 3c507.o bsd_comp.o es3210.o pcmcia Sundance.o 3c509.o cipe ethl6i.o pcnet32.o sunhme.o 3c515.o cs89x0.o ethertap.o plip.o tlan.o 3c59x.o de4x5.o ewrk3.o ppp_async.o tokenring 8139too.o de600.o fc ppp_deflate.o tulip 82596.0 de62O.o hamachi.o ppp_generic.o tun.o 8390.o defxx.o hpl00.o ppp_synctty.o via-rhine.o ac3200.o depca.o hp.o rcpci.o wan acenic.o dgrs.o hp-plus.o sbl000.o wavelan.o aironet4500_card.o dmfe.o irda shaper.o wd. o aironet4500_core.o dummy.o lance.o sis900.o winbond-840.o aironet4500_proc.o e1000.o lne390.o sk981in yellowfin.o appletalk elOO.o natsemi.o skfp arlan.o e2100.o ne2k-pci.o sk_g16.o arlan-proc.o eeprolOO.o ne3210.o slip.o at1700.o eepro.o ne.o smc-ultra32.o