/ proc / net / netstat not found

Я пытаюсь скомпилировать свой собственный Linux для встраиваемых устройств, используя дистрибутив OpenWRT. Я пытаюсь получить некоторую многоадресную информацию с помощью интерфейса / proc / net / netstat , но он не найден (обычно он доступен на моем рабочем столе).

Если я прав, это должно быть включено в kernel_menuconfig , но я не могу найти ни одной опции, связанной с этим.

ОБНОВЛЕНИЕ : я пытался с ядром 3.10.49 и 4.4.14 . В обоих случаях proc.c скомпилирован ( proc.o доступен в моем build_dir , / proc смонтирован, но ] / proc / net / netstat не существует.

0
12.02.2017, 12:59
2 ответа

Через некоторое время я только что вернулся к этому вопросу и, наконец, решил его. Проблема в том, что OpenWRT использует путь к исходному коду ядра, и дополнительная опция должна быть отключена , а именно CONFIG_PROC_STRIPPED. Он находится в

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

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

1
28.01.2020, 02:46

/ proc / net / netstat создается net / ipv4 / proc.c.
net / ipv4 / proc.c в функции ip_proc_init_net (), он создается как proc_create (), как в следующем источнике.
enter image description here

Вы сказали, что net / ipv4 / proc.o был скомпилирован.
Как показано в исходном коде, net / ipv4 / proc.c создает / proc / net / sockstat, netstat и snmp.
Созданный / proc / net / udp создан с помощью net / ipv4 / udp.c.

Сначала найдите sockstat и snmp в / proc / net /.
Также убедитесь, что функция ip_proc_init_net () в net / ipv4 / proc.c вызвала ошибку с функцией proc_create ().
Если в этой части возникает ошибка, вы должны найти причину ошибки.

0
28.01.2020, 02:46

Теги

Похожие вопросы