Menu

#33 monolithic kernel

open
nobody
None
5
2013-02-08
2010-01-21
Kirill
No

не подскажите, есть ли возможность вкомпилировать в ядро , что бы оно вышло монолитным ? и что для этого надо ?

Discussion

  • ABC

    ABC - 2010-01-21

    К сожалению нет.

     
  •  Kirill

    Kirill - 2010-01-22

    Всё равно спасибо за ответ.

     
  • Nobody/Anonymous

    Вкомпилировать то в ядро мона...
    Точнее сказать, сделать патч для ядра, что бы модуль компилировался при сборки ядра.
    А в чем проблема сделать, что бы оно не подгружаемым модулем было, а монолитно? У меня в ядре все части iptables монолитом собираются...
    Проблема передачи параметров?
    Проблема активации интерфейса до активации модуля?

     
  • ABC

    ABC - 2010-02-25

    Присылайте патч.

     
  • Nobody/Anonymous

    чуть позже... работа придавила, но обязательно сделаю и для ядра и для iptables...
    ЗЫ
    Зарегистрироваться надо, а то как-то уже неудобно анонимом)))

     
  • Igor Gamov

    Igor Gamov - 2010-03-01

    Доброго здоровья!

    Собрал я Ваш модуль монолитом, есть некоторые соображения.

    В процессе загрузки машины с таким ядром видны ошибки. Из приложенной выдержки из /var/log/messages видно, что модулю не нравиться
    отсутствие сети (которая появиться сильно позже).
    Feb 28 00:49:29 localhost kernel: ipt_netflow version 1.6 (8192 buckets)
    Feb 28 00:49:29 localhost kernel: netflow: registered: /proc/net/stat/ipt_netflow
    Feb 28 00:49:29 localhost kernel: netflow: registered: sysctl net.netflow
    Feb 28 00:49:29 localhost kernel: netflow: error connecting UDP socket -101
    Feb 28 00:49:29 localhost kernel: netflow: remove destination 127.0.0.1:2055 ((null))
    Feb 28 00:49:29 localhost kernel: ipt_netflow loaded.

    Необходимо проверить, будет ли он корректно функционировать nосле ее подхвата.

    Так как при монолитной сборке параметры можно передать только через sysctl (/proc/sys....) есть предложение, не ставить там по умолчанию в destination
    127.0.0.1:2055, а оставлять это пустым. Соответственно, в модуле реализовать функционал, в котором при пустом destination он бы не проверял его доступность
    (и возможно приостанавливал бы свою работу - раз некуда слать результат, есть ли смысл считать).
    Таким образом, на мой взгляд, можно будет избежать соответсвующих ошибок.
    Позже, после поднятия сетевых адаптеров (локального коллектора), соответствующим скриптом можно было бы прописывать назначение в /proc/sys/net/netflow/destination,
    которое модуль подхватывая на лету фактически запускался.

    Надеюсь, Вас заинтересует мои предложения.

     
  • ABC

    ABC - 2010-03-01

    Ок подумаю над этим. Или сами шлите патч. :)

     
  • Igor Gamov

    Igor Gamov - 2010-03-02

    Ставлю static char destination_buf[DST_SIZE] = "";
    И оно практически так и работает, только все равно как-то криво с ним ядро грузиться....

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.