FreeBSD 4.3 step by step

Xakep, номер #040, стр. 040-058-2


Итак, первое, что нужно сделать, - это скопировать GENERIC в ту же диру только под другим именем, назовем opimized ;). И правим наш конфигурационный файл optimized. Для чего мы его копировали? Все просто - это для экспериментов. Если ты что-то прибил, а ядро после этого не компилится, верни все в зад и пробуй заново, т.е. ищи баги.

Если у тебя первый пень и выше, то оставляем строчки

machine i386

cpu I686_CPU (у меня для целерона так)

(три строчки между ними комментируем)

ident optimized

Закомментируй в ядре все, что тебе не нужно, или то, чего у тебя нет, ну зачем тебе, например, MATH_EMULATE, INET6, NFS, SCSI и RAID контроллеры, поддержка PCMCIA, USB, SLIP. Теперь смотри файл LINT и выгребай оттуда параметры девайсов, которые тебе нужны.

Если у тебя есть линуховая файловая система и ты хочешь из FreeBSD получить к ней доступ, то тебе необходимо добавить в ядро:

options EXT2FS

Если хочешь поэкспериментировать с квотами, то:

options QUOTA

Для запрета перезагрузки посредством Ctrl+Alt+Del:

options SC_DISABLE_REBOOT

Для увеличения производительности системы и предотвращения возможных ошибок:

maxusers 32 (64, 96 или более, не уменьшай этот параметр, он задает параметры нескольких важных системных таблиц)

options MAXMEM="(128*1024)" (если у тебя 128мб ОЗУ)

options SOFTUPDATES

options NMBCLUSTERS=2048 (4096 или 32768 в зависимости от предполагаемой нагрузки в сети на твой комп. Вообще, рекомендуют использовать такую формулу для подсчета этого параметра:

NMBCLUSTERS=512 + maxusers * 16).

options NSFBUFS=32768

Для усиления секьюрности в сети:

options ICMP_BANDLIM

options TCP_DROP_SYNFIN

options TCP_RESTRICT_RST

Для построения брандмауэра (firewall):

options IPFIREWALL

options IPFIREWALL_FORWARD

options IPFIREWALL_VERBOSE

options IPFIREWALL_VERBOSE_LIMIT=10

options DUMMYNET

options IPDIVERT

И рекомендую не включать в ядро опцию:

options IPFIREWALL_DEFAULT_TO_ACCEPT

Этим ты включишь политику правил ipfw «все разрешено», что не есть гуд, но об этом попозже.

Про включение в ядро твоей звуковухи почитай handbook, раздел sound http://www.freebsd.org/doc/en_US.ISO88591/books/handbook/sound.html; я на работе для установки своего интегрированного саунда включил:

device pcm

А дома для раритета Edison Gold16 (ess688) ISA non-PnP у меня вышло немного сложнее:

device snd0

device sb0 at isa? port 0x220 irq 7 dqr 1

device opl0 at isa? port 0x388

Ну вот, конфиг готов, теперь набираем в консоли:

config optimized

Если возникли ошибки, лезем в конфиг и правим. Далее переходим в созданный каталог нашего нового ядра, вырабатываем зависимости, компилим и ставим:

cd ../../compile/optimized

make depend && make && make install

После make depend, в принципе, можно делать make clean для подчистки фекалек в виде объектных файлов. Все, курим. Если все прошло удачно, то прыгаем до потолка, если нет, то меняем параметры в optimized. Чтобы новое ядро вступило в силу:

reboot

Старое GENERIC ядро сохранится в корне как kernel.GENERIC, так что если твое свежеиспеченное ядрышко не грузится, то необходимо:

Назад на стр. 040-058-1  Содержание  Вперед на стр. 040-058-3