# О модулях ядра

## Sasha2

Уважаемые знатоки Gentoo

У меня возникли следующие вопросы:

Вот часть из моего перевода официального HandBoook 2005.1

----------------------------------------------------------------------------------------------------------------------

7.e. Конфигурирование модулей ядра

Конфигурирование модулей

В файле /etc/modules.autoload.d/kernel-2.6 (или kernel-2.4) Вы должны перечислить модули, которые Вы хотите, чтобы они загружались автоматически . Вместе с ними Вы можете по своему усмотрению добавить дополнительные опции, если Вам это нужно. 

Для просмотра модулей, имеющихся в Вашем распоряжении, выполните команду find так, как это указывается ниже. Не забывайте заменить "<версия ядра>" на ту версию ядра, которую Вы только что скомпилировали: 

Листинг кода 20: Просмотр всех имеющихся модулей

# find /lib/modules/<версия ядра>/ -type f -iname '*.o' -or -iname '*.ko'

Например, для того чтобы автоматически загружать модуль 3c59x.o, отредактируйте файл kernel-2.6 (или kernel-2.4) и укажите в этом файле имя этого модуля. 

Листинг кода 21: Редактирование фала /etc/modules.autoload.d/kernel-2.6

(Пример для ядер версии 2.6)

# nano -w /etc/modules.autoload.d/kernel-2.6

Листинг кода 22: Файл /etc/modules.autoload.d/kernel-2.6

3c59x

-----------------------------------------------------------------------------------------------------------------------------------------------------

Вопросы заключается в следующем:

1) Ну запустил я эту команду, она мне выдала список модулей и, что я должен делать с ними?

2) Означает ли это, что команда make modules_install уже не работает в Gentoo для установки модулей?

3) Если указывать эти модули в файле /etc/modules.autoload.d/kernel-2.6, то тогда возникает вопрос, важен ли порядок их следования?

4) А как быть с модулем fglrx,  после установки этого модуля вышеуказанная команда find не обнаруживает данного модуля? (Версия fglrx 8.12.10 диск  с 2005.1 от LinuxCenter).

5) Может быть есть где-нибудь более подробное руководство по конфигурированию модулей в Gentoo? Буду признателен за ссылку.

С уважением

Александр

----------

## ManJak

Что-то я вопрос не доконца понял?

1) Просьба пояснить:

Означает ли это, что команда make modules_install уже не работает в Gentoo для установки модулей? 

Ответы (как я понял):

1) Означает ли это, что команда make modules_install уже не работает в Gentoo для установки модулей? 

А: НЕТ

2) Если указывать эти модули в файле /etc/modules.autoload.d/kernel-2.6, то тогда возникает вопрос, важен ли порядок их следования? 

А: ИМХО нет

3) А как быть с модулем fglrx, после установки этого модуля вышеуказанная команда find не обнаруживает данного модуля? (Версия fglrx 8.12.10 диск с 2005.1 от LinuxCenter). 

А: как погиб ноут проверить не могу, но надо фтишные дрова ставит (вроде).

4)Может быть есть где-нибудь более подробное руководство по конфигурированию модулей в Gentoo? Буду признателен за ссылку. 

Указания те-же, что и везде! Ядро одно.

----------

## Sasha2

Поясняю, что в других Linux для установки модулей достаточно команд

make clean

make all

make modules_install install

И больше никакие модули никуда прописывать не надо (имеется в виду файл /etc/modules.autoload.d/kernel-2.6).

Кстатти в других Linux вывод команды lsmod несколько иной. В Gentoo, как я понимаю, она просто выводит содержимое файла /etc/modules.autoload.d/kernel-2.6.

----------

## ManJak

 *Quote:*   

> Кстатти в других Linux вывод команды lsmod несколько иной. В Gentoo, как я понимаю, она просто выводит содержимое файла /etc/modules.autoload.d/kernel-2.6.

 

Откуда такая информация?

lsmod

```
Module                  Size  Used by

iptable_mangle          3072  0

ipt_MASQUERADE          3584  1

iptable_nat            23892  2 ipt_MASQUERADE

ip_conntrack           44952  2 ipt_MASQUERADE,iptable_nat

ipt_REJECT              5632  13

ipt_LOG                 7296  14

iptable_filter          3200  1

ip_tables              20736  6 iptable_mangle,ipt_MASQUERADE,iptable_nat,ipt_REJECT,ipt_LOG,iptable_filter

snd_seq_midi            9376  0

snd_emu10k1_synth       7808  0

snd_emux_synth         38016  1 snd_emu10k1_synth

snd_seq_virmidi         7552  1 snd_emux_synth

snd_seq_midi_emul       7680  1 snd_emux_synth

snd_pcm_oss            52896  0

snd_mixer_oss          19712  1 snd_pcm_oss

snd_seq_oss            37120  0

snd_seq_midi_event      7040  3 snd_seq_midi,snd_seq_virmidi,snd_seq_oss

snd_seq                53136  8 snd_seq_midi,snd_emux_synth,snd_seq_virmidi,snd_seq_midi_emul,snd_seq_oss,snd_seq_midi_event

ohci_hcd               21252  0

eth1394                20360  0

parport_pc             41156  0

parport                37192  1 parport_pc

8250_pnp                8704  0

8250                   25028  1 8250_pnp

serial_core            22272  1 8250

ohci1394               35636  0

ieee1394              314936  2 eth1394,ohci1394

snd_emu10k1           120964  2 snd_emu10k1_synth

snd_rawmidi            25248  3 snd_seq_midi,snd_seq_virmidi,snd_emu10k1

snd_seq_device          9228  7 snd_seq_midi,snd_emu10k1_synth,snd_emux_synth,snd_seq_oss,snd_seq,snd_emu10k1,snd_rawmidi

snd_ac97_codec         86268  1 snd_emu10k1

snd_pcm                91784  3 snd_pcm_oss,snd_emu10k1,snd_ac97_codec

snd_timer              24964  3 snd_seq,snd_emu10k1,snd_pcm

snd_page_alloc         10244  2 snd_emu10k1,snd_pcm

snd_util_mem            4736  2 snd_emux_synth,snd_emu10k1

snd_hwdep               9504  2 snd_emux_synth,snd_emu10k1

snd                    55012  15 snd_emux_synth,snd_seq_virmidi,snd_pcm_oss,snd_mixer_oss,snd_seq_oss,snd_seq,snd_emu10k1,snd_rawmidi,snd_seq_device,snd_ac97_codec,snd_pcm,snd_timer,snd_hwdep

soundcore               9568  1 snd

nvidia               3469948  12

i2c_i801                8972  0

i2c_core               21904  1 i2c_i801

ehci_hcd               32776  0

usbmouse                5888  0

usbhid                 46240  0

uhci_hcd               32784  0

intel_agp              23580  1

agpgart                36168  2 nvidia,intel_agp

sg                     38688  0

scsi_mod              143432  1 sg

button                  6800  0

processor              22708  0

usbcore               121724  6 ohci_hcd,ehci_hcd,usbmouse,usbhid,uhci_hcd

ide_cd                 43524  0

cdrom                  41248  1 ide_cd

ppp_async              11264  0

ppp_generic            28692  1 ppp_async

slhc                    7168  1 ppp_generic

evdev                   9600  0

```

cat /etc/modules.autoload.d/kernel-2.4

```
# /etc/modules.autoload.d/kernel-2.4:  kernel modules to load when system boots.

################ Ethernet

eepro100

################ USB

usbcore

uhci

ehci-hcd

################ IEEE-1394

ohci1394

ieee1394

################ I2C

i2c-core

i2c-dev

i2c-isa

i2c-proc

# ACPI

processor

button

################ LPT

#lp

#parport

################ HID devices

input

hid

usbmouse

mousedev

usbkbd

################ SCSI

sg

```

Тут не все верно, но все руки до модулей нее дойдут =)

А так, - ВЫЗЫВАЮЩЕ неверная информация!

У меня, тогда, ничего не работает.   :Wink: 

Просто, сейчас непомню, а под рукой шапки нет, где, модули тоже надо было грузить (под рукой нет, потму не вспомню, как  :Embarassed:  , будет - вспомню).

----------

## cha-chaynik

 *ManJak wrote:*   

> 
> 
> Просто, сейчас непомню, а под рукой шапки нет, где, модули тоже надо было грузить (под рукой нет, потму не вспомню, как  , будет - вспомню).

 

В шапкообразных системах при загрузке запускается "kudzu", которой ощупывает установленное в системе железо. Если обнаруживает что-то новое, то подбирает под "это" нужный модуль и грузит его.

 *Sasha2 wrote:*   

> 5) Может быть есть где-нибудь более подробное руководство по конфигурированию модулей в Gentoo? Буду признателен за ссылку.

 

В Gentoo нет специфичных модулей. Почитайте про настройку ядра, поиграйтесь с ядром, тогда все само собой разложится по полочкам.

----------

## Sasha2

Ну я конечно имею в виду о конфигурировании модулей с учетом специфики Gentoo.

Даже, наверно более правильно говорить не о конфигурировании модулей, а о конфигуриовании Gentoo в связи с этим процессом.

----------

## cha-chaynik

 *Sasha2 wrote:*   

> Ну я конечно имею в виду о конфигурировании модулей с учетом специфики Gentoo.
> 
> Даже, наверно более правильно говорить не о конфигурировании модулей, а о конфигуриовании Gentoo в связи с этим процессом.

 

Я, чтобы не морочиться все компилирую в ядро, за исключением звука и софт-модема.

Что, конкретно, Вам нужно подгрузить как модуль?

----------

## Jekpol

Как в шапке kudzu,так в gentoo есть hotplug. /etc/modules.autoload.d/kernel-2.6 нужен, если модуль не может автоматом подгрузиться (например случай с fgrlx). Вкомпилировать все в ядро считаю излишней роскошью, ядро становится большое (но это кому как).

----------

## Sasha2

Но дело в том, что команда

find /lib/modules/<версия ядра>/ -type f -iname '*.o' -or -iname '*.ko' 

вообще не показывает модуль fglrx. (Он просто находится в отдельном каталоге)

Значит ли это, что я могу указывать этот модуль в файле /etc/modules.autoload.d/kernel-2.6?

И еще не очень уверен про порядок следования модулей.

Например, где-то на Интернете я читал, что порядок загрузки модулей agpgart и intel-agp должен быть опеределенным, а не каким угодно.

----------

## Jekpol

Забей ты на эту команду find. fgrlx будет и так грузиться. Насчет порядка, не было ситуации, когда он был важен. Можно например указать загрузку модуля intel-agp, а agpgart автоматом подгрузится, т.е. ядро само определяет их порядок и зависимости друг от друга, главное, чтобы модули нужные были скомпилированы.

----------

