modinfo quando um módulo foi compilado no kernel estaticamente não funcionaria - soluções alternativas?

3

modinfo é uma ferramenta bastante útil quando se trata de ajustar os parâmetros do módulo (pelo menos, descobrir quais opções estão disponíveis), para e. g .:

$ modinfo dummy
filename:       /lib/modules/2.6.32-openvz-042stab102.9-amd64/kernel/drivers/net/dummy.ko
alias:          rtnl-link-dummy
license:        GPL
srcversion:     B2C3F349E2A5175104E1B3E
depends:
vermagic:       2.6.32-openvz-042stab102.9-amd64 SMP mod_unload modversions
parm:           numdummies:Number of dummy pseudo devices (int)

mas, não surpreendentemente, ele funciona somente quando o módulo não foi compilado no kernel estaticamente. Quaisquer soluções alternativas para obter isso ou informações semelhantes se, digamos, você tiver o módulo compilado e não tiver acesso à rede?

    
por poige 17.02.2015 / 09:24

1 resposta

2

A maioria ou todas as informações de modinfo são apenas curiosidades (autor, licença) ou não se aplicam a módulos embutidos (magia, depende, nome do arquivo, etc.).

O único que tem qualquer valor prático concebível é "parm", mas, novamente, ele não pode se aplicar da mesma maneira a um built-in porque você não os carrega. A grande maioria dos módulos não tem isso de qualquer maneira. As facilidades do kernel que podem ser diretamente ajustadas do userspace geralmente possuem uma interface em /sys .

O que você parece estar perguntando ("não tem acesso à rede", ou seja, você não pode pesquisar no Google) é sobre a documentação . A razão pela qual o kernel não regurgita isso "dinamicamente" é porque não é dinâmico, é estático e já existe. A árvore de origem vem com um diretório Documentation e, no que diz respeito a itens como licença específica, autor etc., essas informações estáticas também estão na árvore de origem. Que você pode baixar e armazenar uma cópia local e offline de.

Por exemplo, parâmetros para alguns módulos internos podem ser definidos na linha de comando do kernel no momento da inicialização. Estes estão listados em Documentation/kernel-parameters.txt (note que a árvore de documentação é reproduzida online, assim você pode ver que aqui ).

Eu percebo que isso não é exatamente o que você está esperando, mas exatamente o que você estava esperando não seria realmente muito útil. Mais uma vez, a maioria das informações é meta-trivial (não relevante para o uso do software); até mesmo o nome que um módulo seria dado se não fosse compilado é essencialmente irrelevante. Importa se os recursos que fornecem acesso aos sistemas de arquivos HFS, se compilados como um módulo carregável, forem chamados de hfs ? Não há de fato nenhuma informação sobre isso que seja relevante ou significativa. Por analogia, o que você está pedindo é como querer consultar um aplicativo em execução para descobrir os nomes e assinaturas de várias chamadas de função interna - na medida em que algo relacionado a isso pode ser relevante ou significativo, deve ser incluído organicamente na documentação.

    
por 17.02.2015 / 11:03