/ proc / net / netstat não encontrado

0

Estou tentando compilar meu próprio Linux para dispositivos incorporados, usando a distribuição OpenWRT. Eu estou tentando obter algumas informações de Multicast usando a interface /proc/net/netstat , mas ela não é encontrada (normalmente isso está disponível na minha área de trabalho).

Se eu estiver certo, isso deve estar ativado no kernel_menuconfig , mas não consigo encontrar nenhuma opção relacionada a isso.

UPDATE : eu estava tentando com o kernel 3.10.49 e 4.4.14 . Em ambos os casos proc.c é compilado ( proc.o está disponível no meu build_dir , /proc está montado, mas /proc/net/netstat não existe.

    
por GABIKA6 10.02.2017 / 17:24

2 respostas

1

Depois de um tempo acabei de voltar a este assunto e finalmente resolvi-o. O problema é que o OpenWRT está rastreando o código-fonte do kernel, e uma opção extra deve ser desativada , a saber, CONFIG_PROC_STRIPPED . Isto está localizado em

(make) kernel_menuconfig -> File systems -> Pseudo filesystems -> [ ] Strip non-essential /proc functionality to reduce code size

A maneira como foi descoberto é a versão corrigida da fonte do kernel, não a versão oficial. Obrigado por todo o esforço que você fez!

    
por 21.09.2017 / 08:18
0

/ proc / net / netstat é gerado por net / ipv4 / proc.c.
net / ipv4 / proc.c na função ip_proc_init_net (), ela é gerada como proc_create () como a seguinte fonte.

Você disse que net / ipv4 / proc.o foi compilado.
Como mostrado na fonte, net / ipv4 / proc.c cria / proc / net / sockstat, netstat e snmp.
O / proc / net / udp criado é gerado por net / ipv4 / udp.c.

Primeiro, procure por sockstat e snmp em / proc / net /.
Além disso, verifique se a função ip_proc_init_net () em net / ipv4 / proc.c gerou um erro com a função proc_create ().
Se ocorrer um erro nessa parte, você deve encontrar a causa do erro.

    
por 14.02.2017 / 10:28