Сборка кастомного ядра в 10.2 (AMD64)

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
johny87
ефрейтор
Сообщения: 65
Зарегистрирован: 2010-01-21 11:56:12

Сборка кастомного ядра в 10.2 (AMD64)

Непрочитанное сообщение johny87 » 2016-03-27 13:10:58

Всем привет!
Почему-то у меня кастомный конфиг ядра все равно компилирует и устанавливает GENERIC устройства и опции.
Например я убираю VirtIO и HyperV, все лишние сетевухи, а при инсталляции все равно они устанавливаются.
cat /usr/src/sys/amd64/conf/GENERIC | grep virt

Код: Выделить всё

device		virtio			# Generic VirtIO bus (required)
device		virtio_pci		# VirtIO PCI device
device		virtio_blk		# VirtIO Block device
device		virtio_scsi		# VirtIO SCSI device
device		virtio_balloon		# VirtIO Memory Balloon device
cat /usr/src/sys/amd64/conf/MYKERNEL | grep virt
make installkernel KERNCONF=MYKERNEL > /root/install.log
cat install.log | grep virt

Код: Выделить всё

--- realinstall_subdir_virtio ---
===> virtio (install)
--- realinstall_subdir_virtio ---
===> virtio/virtio (install)
--- realinstall_subdir_virtio ---
--- realinstall_subdir_virtio ---
install -o root -g wheel -m 555   virtio.ko /boot/kernel
install -o root -g wheel -m 555   virtio.ko.symbols /boot/kernel
===> virtio/pci (install)
--- realinstall_subdir_virtio ---
install -o root -g wheel -m 555   virtio_pci.ko /boot/kernel
install -o root -g wheel -m 555   virtio_pci.ko.symbols /boot/kernel
===> virtio/network (install)
--- realinstall_subdir_virtio ---
--- realinstall_subdir_virtio ---
--- realinstall_subdir_virtio ---
===> virtio/block (install)
--- realinstall_subdir_virtio ---
install -o root -g wheel -m 555   virtio_blk.ko /boot/kernel
install -o root -g wheel -m 555   virtio_blk.ko.symbols /boot/kernel
===> virtio/balloon (install)
--- realinstall_subdir_virtio ---
install -o root -g wheel -m 555   virtio_balloon.ko /boot/kernel
install -o root -g wheel -m 555   virtio_balloon.ko.symbols /boot/kernel
===> virtio/scsi (install)
--- realinstall_subdir_virtio ---
install -o root -g wheel -m 555   virtio_scsi.ko /boot/kernel
--- realinstall_subdir_virtio ---
install -o root -g wheel -m 555   virtio_scsi.ko.symbols /boot/kernel
===> virtio/random (install)
--- realinstall_subdir_virtio ---
install -o root -g wheel -m 555   virtio_random.ko /boot/kernel
install -o root -g wheel -m 555   virtio_random.ko.symbols /boot/kernel
===> virtio/console (install)
--- realinstall_subdir_virtio ---
install -o root -g wheel -m 555   virtio_console.ko /boot/kernel
install -o root -g wheel -m 555   virtio_console.ko.symbols /boot/kernel

uname -mr

Код: Выделить всё

10.2-RELEASE amd64
Отправлено спустя 1 минуту 16 секунд:
В чем причина ? Правлю как в handbook в директории amd64, может надо еще в i386 править ?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Neus
капитан
Сообщения: 1830
Зарегистрирован: 2008-09-08 21:59:56

Сборка кастомного ядра в 10.2 (AMD64)

Непрочитанное сообщение Neus » 2016-03-27 15:49:42

Потому что это не Линукс :)

Код: Выделить всё

echo 'NO_MODULES=yes' >> /etc/make.conf
make KERNCONF=MYKERNEL buildkernel installkernel
Отправлено спустя 1 минуту 27 секунд:
http://man.freebsd.org/src.conf
http://man.freebsd.org/make.conf

johny87
ефрейтор
Сообщения: 65
Зарегистрирован: 2010-01-21 11:56:12

Сборка кастомного ядра в 10.2 (AMD64)

Непрочитанное сообщение johny87 » 2016-03-27 20:56:58

Спасибо за ответ.
Почему то раньше на FreeBSD 7 и 8 никакие модули не собирались автоматом.

guest
проходил мимо

Сборка кастомного ядра в 10.2 (AMD64)

Непрочитанное сообщение guest » 2016-03-27 22:42:20

johny87 писал(а):Спасибо за ответ.
Почему то раньше на FreeBSD 7 и 8 никакие модули не собирались автоматом.
бряхня... (с) Краморов

snorlov
подполковник
Сообщения: 3879
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Сборка кастомного ядра в 10.2 (AMD64)

Непрочитанное сообщение snorlov » 2016-03-27 23:03:23

johny87 писал(а):Спасибо за ответ.
Почему то раньше на FreeBSD 7 и 8 никакие модули не собирались автоматом.
А нафиг вам нужно кастомное ядро? Вы же в hyper-v фрю не запускаете, следовательно, хоть эти модули и есть в /boot/kernel, но они не грузятся...

Аватара пользователя
Neus
капитан
Сообщения: 1830
Зарегистрирован: 2008-09-08 21:59:56

Сборка кастомного ядра в 10.2 (AMD64)

Непрочитанное сообщение Neus » 2016-03-28 7:20:00

snorlov писал(а):
johny87 писал(а):Спасибо за ответ.
Почему то раньше на FreeBSD 7 и 8 никакие модули не собирались автоматом.
А нафиг вам нужно кастомное ядро? Вы же в hyper-v фрю не запускаете, следовательно, хоть эти модули и есть в /boot/kernel, но они не грузятся...
с чего это не грузятся?

Код: Выделить всё

[root@freenas] ~# kldstat -v
Id Refs Address            Size     Name
 1   77 0xffffffff80200000 1513000  kernel (/boot/kernel/kernel)
        Contains modules:
                Id Name
                ...
                427 virtio_pci/virtio_scsi
                426 virtio_pci/virtio_balloon
                425 virtio_pci/virtio_blk
                424 virtio_pci/vtnet
                423 pci/virtio_pci
                422 virtio
                ...               

johny87
ефрейтор
Сообщения: 65
Зарегистрирован: 2010-01-21 11:56:12

Сборка кастомного ядра в 10.2 (AMD64)

Непрочитанное сообщение johny87 » 2016-03-28 7:50:22

бряхня... (с) Краморов
Ок, может и собирались, но не грузились автоматом точно.

А собирать ядро нужно, например для таких опций :

Код: Выделить всё

options         ALTQ
options         ALTQ_CBQ
options         ALTQ_RED
options         ALTQ_RIO
options         ALTQ_HFSC
options         ALTQ_PRIQ
options         ALTQ_NOPCC

options         IPSEC
device          crypto

options         RADIX_MPATH
options         ROUTETABLES=9

guest
проходил мимо

Сборка кастомного ядра в 10.2 (AMD64)

Непрочитанное сообщение guest » 2016-03-28 10:14:42

johny87 писал(а):
бряхня... (с) Краморов
Ок, может и собирались, но не грузились автоматом точно.

А собирать ядро нужно, например для таких опций :

Код: Выделить всё

options         ALTQ
options         ALTQ_CBQ
options         ALTQ_RED
options         ALTQ_RIO
options         ALTQ_HFSC
options         ALTQ_PRIQ
options         ALTQ_NOPCC

options         IPSEC
device          crypto

options         RADIX_MPATH
options         ROUTETABLES=9
У Вас, непонимание...

Есть понятие монолитного ядра с включенными в него дополнительными опциями и драйверами.

GENERIC - монолитное ядро с большинством включенных опций и драйверов, необходимых
для процедуры Install, в том числе и virtio by default с 10.2.

Есть Custom ядро - оно тоже монолитное, но может быть расширенным или урезанным до
необходимого рабочего уровня.
В случае урезанного рабочего монолитного ядра, требуемые, динамические ядерные модули необходимо
подгружать самостоятельно или on-demand, ибо этот функционал будет недоступен.

Допустим у нас есть Custom с вырезанным из него всего что не нужно, в том числе:
virtio, usb, umass & etc...

В этом случае, virtio, usb, umass - не будет в ядре и подгружать их нужно будет принудительно:
через loader.conf или rc.conf: kldload.

Среди ядерных модулей, есть read-only - грузить только через loader.conf, есть on-demand - будут
грузиться по требованию, например, по мере запуска соответствующих утилит - и таких уже
много, это удобно: модули geom, модули netgraph и тд и тп.

johny87
ефрейтор
Сообщения: 65
Зарегистрирован: 2010-01-21 11:56:12

Сборка кастомного ядра в 10.2 (AMD64)

Непрочитанное сообщение johny87 » 2016-03-28 13:22:42

Спасибо за ответ.
Все вроде понятно, но почему раньше (где то на 7-8 фряхе) я убирал например realtek сетевые карты из конфига ядра - после загрузки они не определялись и никакие модули не грузились (автоматом).
Теперь (в 10.2) мне данная сетевуха все равно компилируется (в виде модуля) и загружается автоматом, но уже модулем.
Т.е. раньше то же компилировалось в виде модуля, но не грузилось автоматом ?

guest
проходил мимо

Сборка кастомного ядра в 10.2 (AMD64)

Непрочитанное сообщение guest » 2016-03-28 13:45:48

johny87 писал(а):Спасибо за ответ.
Все вроде понятно, но почему раньше (где то на 7-8 фряхе) я убирал например realtek сетевые карты из конфига ядра - после загрузки они не определялись и никакие модули не грузились (автоматом).
и сейчас аналогично, за исключением on-demand модулей.

Теперь (в 10.2) мне данная сетевуха все равно компилируется (в виде модуля) и загружается автоматом, но уже модулем.
Т.е. раньше то же компилировалось в виде модуля, но не грузилось автоматом ?
см выше, модули в 7/8/9 если их не задать в списке исключения:

# man make.conf
# man src.conf

by default будут собираться при сборке ядра.

Так что Вы сильно заблуждаетесь или были не внимательны -> VirtualBox и можете все перепроверить
с 7/8/9 RELEASE.