Как я создаю iptables модуль ядра для загруженного ядра?

У Вас могло бы быть что-то работающее, который наблюдает за изменениями в том каталоге?

Если я ничем пробую это выполнение, но приглашение оболочки, Время доступа ff соответствует временам Изменения и Изменения. Но если я открываю Nautilus (файловый менеджер GNOME) окно на каталоге и пробую его, Время доступа почти точно секунду спустя.

То, что происходит в моем случае, - то, что Nautilus наблюдает за изменениями в том каталоге, потому что он имеет окно, открытое на нем. Это видит, что новый файл был создан и хочет знать, какой значок показать, таким образом, это посмотрело в файл для наблюдения, какой файл это - который обновляет Время доступа.

3
13.05.2012, 01:31
2 ответа

Просто перейдите к своему исходному каталогу ядра, внесите изменения, которые Вы хотите, и make, затем make modules_install.

Это - все, что требуется.

Если Вы хотите создать только один определенный модуль, используйте:

make M=path/to/module/directory

Например (из высокоуровневого каталога ядра):

make M=fs/ext4
make M=fs/ext4 modules_install

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

Обратите внимание, что Вы не можете изменить что-то от встроенного до модуля этот путь (который требует перезагрузки), и некоторые модули могут иметь зависимости, которые требуют изменений во встроенной конфигурации - необходимо будет перезагрузить для этого также.

6
27.01.2020, 21:14
  • 1
    я создаю свое ядро в tmpfs, так modules_install должен перекомпилировать все. Нет ли более умный путь, как покончили nouveau? –  Lekensteyn 13.05.2012, 11:09
  • 2
    Добавленный некоторая информация. Вам будет нужен Ваш файл конфигурации, хотя, я надеюсь, что Вы имели в наличии это или настроили/proc/config.gz. –  Mat 13.05.2012, 11:17
  • 3
    Да, все мои файлы конфигурации сохранены. Мне удалось создать iptables как это: 1. копия .config и Module.symvers 2. make prepare&&make tools 3. make M=net/ipv4/netfilter 4. make M=net/ipv4/netfilter modules_install. Теперь я должен узнать как к modprobe -r ip_tables таким образом, я могу использовать недавно созданные модули. –  Lekensteyn 13.05.2012, 11:59
  • 4
    О, я также имел к make M=net/netfilter для универсальных изменений. –  Lekensteyn 13.05.2012, 12:14

Ответ циновки подводит итог его, но я хотел бы добавить еще одну вещь.

Лучше удостоверяться, что Вы компилируете свои внешние модули с той же версией GCC, которая использовалась для создания изображения ядра. Можно определить это путем чтения '/proc/version' файл.

Много и собственных модулей драйвера из дерева откажутся создавать вообще с несогласованными версиями компилятора.

0
27.01.2020, 21:14
  • 1
    Спасибо за Ваш ответ, но я уже создаю с той же gcc версией. –  Lekensteyn 13.05.2012, 12:00

Теги

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