Перед построением специализированного ядра, обдумайте причины, побудившие вас к этому. Если требуется поддержка специального оборудования, то она наверняка уже реализована в виде модуля.
Модули ядра находятся в каталоге
/boot/kernel
, и они могут
быть динамически включены в работающее ядро при помощи kldload(8).
Если не все, то большинство драйверов существуют в виде модулей,
и у них есть соответствующая страница справочника. К примеру,
в предыдущем разделе упоминался драйвер ath
беспроводного Ethernet устройства. Соответствующая ему страница
справочника гласит:
Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5): if_ath_load="YES"
Как уже выше сказано, добавление строки
if_ath_load="YES"
в файл
/boot/loader.conf
позволит динамически
загружать этот модуль во время загрузки системы.
В некоторых случаях, однако, интересующего вас модуля не существует. Чаще всего это справедливо для определенных подсистем и очень важных драйверов. Например, поддержка файловой системы FreeBSD (FFS) является обязательной опцией в ядре. Как и поддержка сети (INET). К сожалению, единственный способ определить является ли драйвер обязательным - это проверить наличие соответствующего модуля.
Довольно легко удалить поддержку устройства или
опцию, получив тем самым неработоспособное ядро. Например, если
драйвер ata(4) изъят из конфигурации ядра, то система,
использующая диски ATA, может не загрузиться
без записи о модуле, добавленной в loader.conf
.
Если есть сомнения, проверьте наличие модуля, и только потом исключайте
поддержку в ядре.
Этот, и другие документы, могут быть скачаны с https://download.freebsd.org/ftp/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.