Страница 1 из 1
Сокращение времени сборки ядра запретом отдельных модулей
Добавлено: 2009-04-23 14:37:24
xDi
Очень напрягает, что ядро на слабой машинке собирается неприятно долго. При этом мир и ядро компилятся под конкретное железо (установкой архитектурозависимых опций компиляции, отключением некоторых частей мира и т.п.).
Вопрос 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
Re: Сокращение времени сборки ядра запретом отдельных модулей
Добавлено: 2009-04-23 14:40:19
paradox
в опции ядра nodevice fxp например
Re: Сокращение времени сборки ядра запретом отдельных модулей
Добавлено: 2009-04-23 14:44:15
xDi
paradox писал(а):в опции ядра nodevice fxp например
А где посмотреть все возможные имена модулей? NOTES?
Вопрос про зависимости остается открытым.
Re: Сокращение времени сборки ядра запретом отдельных модулей
Добавлено: 2009-04-23 15:35:48
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"
девайсы лишние просто убрать?
Re: Сокращение времени сборки ядра запретом отдельных модулей
Добавлено: 2009-04-23 16:33:19
xDi
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"
девайсы лишние просто убрать?
Ну можно и так сказать. Чтобы они не собирасись и не отнимали время при компиляции ядра.
Re: Сокращение времени сборки ядра запретом отдельных модулей
Добавлено: 2009-04-24 1:25:25
Dorlas
Если просто собираешь новое ядро на конкретном релизе (без обновления мира), то можно сделать так:
После пересборки ядра и установки скопируй все модули из каталога /boot/kernel.old/ в каталог /boot/kernel/ (ядро не перетри) и выполни kldxref /boot/kernel/
Данный метод экономит время в 5 раз примерно (10 минут против 2 по моим замерам).
Другие методы ускорения -jX - если у Вас многопроцессорный камень.
Еще можно и нужно использовать Memory Disk (man mdconfig) - уменьшает время сборки ядра на 5-7%.
Re: Сокращение времени сборки ядра запретом отдельных модулей
Добавлено: 2009-04-24 12:11:13
zingel
ещё вариант
Код: Выделить всё
echo "MAKE_JOBS_NUMBER=X" >> /etc/make.conf
попробовал процентов на 15-20 быстрее