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]