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

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
xDi
мл. сержант
Сообщения: 118
Зарегистрирован: 2009-01-01 20:27:26

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

Непрочитанное сообщение xDi » 2009-04-23 14:37:24

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

Вопрос 1: Как можно запретить сборку подгружаемых модулей ядра, которые точно не потребуются? К примеру, около 70-80 сетевых интерфейсов, хотя реально используется один, максимум два.

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

Вопрос 2: Как/где узнать эти зависимости?

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

[15:30]~> uname -a
FreeBSD eeepc.my 7.2-PRERELEASE FreeBSD 7.2-PRERELEASE #7: Wed Apr 15 11:40:56 MSD 2009     root@eeepc.my:/usr/obj/usr/src/sys/EEEPC  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/

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Сокращение времени сборки ядра запретом отдельных модулей

Непрочитанное сообщение paradox » 2009-04-23 14:40:19

в опции ядра nodevice fxp например

Аватара пользователя
xDi
мл. сержант
Сообщения: 118
Зарегистрирован: 2009-01-01 20:27:26

Re: Сокращение времени сборки ядра запретом отдельных модулей

Непрочитанное сообщение xDi » 2009-04-23 14:44:15

paradox писал(а):в опции ядра nodevice fxp например
А где посмотреть все возможные имена модулей? NOTES?

Вопрос про зависимости остается открытым.

Аватара пользователя
chd
мл. сержант
Сообщения: 79
Зарегистрирован: 2009-01-06 21:09:50
Откуда: msk

Re: Сокращение времени сборки ядра запретом отдельных модулей

Непрочитанное сообщение chd » 2009-04-23 15:35:48

ls /sys/modules :)
смотришь свои kldstat, прописываешь их в конфиг ядра:

makeoptions MODULES_OVERRIDE="linux linprocfs linsysfs tmpfs aio rc4 nfsserver nfssvc procfs pseudofs krpc zfs opensolaris dtrace cyclic"
makeoptions MODULES_OVERRIDE+="usb/usb usb/uhci usb/ohci usb/ehci usb/uhid usb/ukbd usb/ulpt usb/umass usb/ucom usb/quirk cam malo"

девайсы лишние просто убрать?
chd,
Have fun!

Аватара пользователя
xDi
мл. сержант
Сообщения: 118
Зарегистрирован: 2009-01-01 20:27:26

Re: Сокращение времени сборки ядра запретом отдельных модулей

Непрочитанное сообщение xDi » 2009-04-23 16:33:19

chd писал(а):ls /sys/modules :)
смотришь свои kldstat, прописываешь их в конфиг ядра:

makeoptions MODULES_OVERRIDE="linux linprocfs linsysfs tmpfs aio rc4 nfsserver nfssvc procfs pseudofs krpc zfs opensolaris dtrace cyclic"
makeoptions MODULES_OVERRIDE+="usb/usb usb/uhci usb/ohci usb/ehci usb/uhid usb/ukbd usb/ulpt usb/umass usb/ucom usb/quirk cam malo"

девайсы лишние просто убрать?
Ну можно и так сказать. Чтобы они не собирасись и не отнимали время при компиляции ядра.

Аватара пользователя
Dorlas
сержант
Сообщения: 257
Зарегистрирован: 2008-07-18 22:17:49

Re: Сокращение времени сборки ядра запретом отдельных модулей

Непрочитанное сообщение Dorlas » 2009-04-24 1:25:25

Если просто собираешь новое ядро на конкретном релизе (без обновления мира), то можно сделать так:

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

echo 'NO_MODULES="YES"' >> /etc/make.conf
После пересборки ядра и установки скопируй все модули из каталога /boot/kernel.old/ в каталог /boot/kernel/ (ядро не перетри) и выполни kldxref /boot/kernel/

Данный метод экономит время в 5 раз примерно (10 минут против 2 по моим замерам).

Другие методы ускорения -jX - если у Вас многопроцессорный камень.

Еще можно и нужно использовать Memory Disk (man mdconfig) - уменьшает время сборки ядра на 5-7%.

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Сокращение времени сборки ядра запретом отдельных модулей

Непрочитанное сообщение zingel » 2009-04-24 12:11:13

ещё вариант

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

echo "MAKE_JOBS_NUMBER=X" >> /etc/make.conf
попробовал процентов на 15-20 быстрее
Z301171463546 - можно пожертвовать мне денег