Em Sat, Sep 22, 2001 at 02:27:03PM -0300, Dorian Bolivar escreveu:
> - Como funciona a carga dinamica de modulos pelo klogd? Ele requisita
> modulos por "palavras-chave", sendo nossa responsabilidade colocar linhas
> "alias" apontando para o modulo efetivo, no modules.conf?

procure por chamadas � fun��o request_module nos fontes do kernel,
geralmente precedidas por um sprintf (ou melhor ainda, snprintf) montando a
palavra chave.

exemplo:

[acme@brinquedo linux]$ grep request_module drivers/sound/*.c
drivers/sound/sequencer.c:              request_module("synth0");
drivers/sound/soundcard.c:                      request_module(modname);
drivers/sound/soundcard.c:              request_module(modname);
drivers/sound/sound_core.c:             request_module(mod);
drivers/sound/sound_core.c:             request_module(mod);
[acme@brinquedo linux]$

o primeiro vai fazer com que o kmod execute em userlevel o comando
especificado em /proc/sys/kernel/modprobe (normalmente /sbin/modprobe) e
requisite a carga do m�dulo synth0 (ou o que estiver associado a ele no
/etc/modules.conf), enquanto os 4 �ltimos requisitar�o o que estiver nas
v�riaveis indicadas, vamos ver o sound_core, por exemplo:

                 */
                sprintf(mod, "sound-slot-%i", unit>>4);
                request_module(mod);
                sprintf(mod, "sound-service-%i-%i", unit>>4, chain);
                request_module(mod);

viu? 8)
 
> - Sendo assim (ou nao sendo 8) ), onde obtenho a lista de todas essas
> palavras-chaves? Exemplo, da onde se sabe que "sound-slot-0" refere-se ao
> modulo da placa de som?

grep � seu amigo, os fontes do kernel est�o dispon�veis 8)
 
> - Essa lista e' variavel de acordo com o kernel?

yup, � medida que v�o sendo adicionados novos drivers, funcionalidades, etc

> - Existem modulos que nao podem ser carregados dinamicamente, como modulos
> compilados separadamente? (talvez pelo klogd nao saber como chama-lo?)

nope, um m�dulo pode chamar outro ou mesmo uma "meta-palavra-chave" que
voc� pode associar no /etc/modules.conf, algo como

alias super-sucky-n-bloated-module nvidia

modprobe super-sucky-n-bloated-module

carregar� o m�dulo nvidia

> - A limpeza de modulos nao usados por um tempo determinado e' feita
> automaticamente pelo klogd ou deve ser pelo cron, por exemplo, chamando
> algo como rmmod -a?

nope, e klogd n�o est� relacionado a m�dulos (pense "syslog, syslog..."), o
kmod sim (antigamente era o kerneld). hoje voc� precisa de um cronjob para
chamar o rmmod -a de tempos em tempos, vide man rmmod 

> PS: Ja li documentacoes do /usr/src/linux/Documentation (modules.txt,
> especificamente), man pages diversas, "cat" em arquivos suspeitos, e acabo
> de sair do Google. :-)

8)

- Arnaldo

Assinantes em 22/09/2001: 2381
Mensagens recebidas desde 07/01/1999: 133494
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista: 
            mailto:[EMAIL PROTECTED]

Responder a