Модулі ядра що це таке і як з ними працювати, виконую установку, настройку, супровід

Коли користувач стає більш, менш просунутим, він доходить до такої стадії, коли хоче знати: що в його системі є, і найголовніше навіщо він треба і чи можна без нього обійтися?

FreeBSD. як і майже будь-яка * nix-подібних ОС, є модульно-ядерної. Тобто, ядро, і є модулі, які в залежності від потреби завантажують або вивантажують. Розберемося докладніше в цьому.

1) Інтеграція в ядро ​​або довантажувати?

Модулі можна компілліровать в ядро. Це збільшує швидкість їх роботи. Але це краще робити тільки тоді, коли извесно, що він буде використовуватися завжди. А якщо відомо, що через деякий час потрібно буде позбутися від цього модуля - то краще його довантажувати як модуль.

Модулі діляться на системні і призначені для користувача.

Системні - це ті, які йдуть в базовій комплектації до вашого дистрибутива. Вони по дефолту розташовуються в / boot / kernel.

Призначеним для користувача - це ті, які додаються в ОС в процесі використання, Нпрімер, при установці нових драйверів. Їх зазвичай складають в / boot / modules. Звичайно, їх можна складати і в / boot / kernel. але при перезібравши ядра, вони не будуть по дефолту враховані в новому, і перенесуться в / boot / kernel.old. в результаті, ваша ОС після цього не знайде їх (бо вона шукає в / boot / kernel, / boot / modules).

3) Управління модулями.

Для управління модулями при завантаженні ОС використовують файли /boot/default/loader.conf (для системних) і /boot/loader.conf (для призначених для користувача)

Якщо ОС вже завантажена, то довантажити модуль можна командної

соотвественно вивантажити модуль

і подивитися список завантажених модулів

4) Файли для завантаження модулів.

Конфігураційний файл (loader.conf) складається з безлічі секцій, в тому числі опції завантаження ОС, розділ з модулями, і багато іншого.

Опис модуля в цьому файлі складається з імені модуля, далі йде слово load і в кінці параметр «YES» або «NO» - соотвественно завантажувати даний модуль при завантаженні чи ні.

5) Перекомпіляція окремого модуля (окремої бібліотеки).

Іноді буває потреба пересобрать окремий модуль (вийшов патч, який усуває баг). Можна звичайно пересобрать ядро ​​(пересоберётся ядро, і всі модулі). А можна пересобрать тільки окремий модуль. Робиться це так:

#cd / usr / src / sys / modules /<имя_модуля>
#patch.
#make obj make depend make make install

Після цього можна продовжувати працювати з модулем, наприклад довантажити. Природно, перед складанням, найкраще вивантажити модуль, пересобрать, потім заново завантажити, що б уникнути конфліктів.

Навігація по публікаціям

Схожі статті