|
Диалапные радости рыбаков - Рулим модемом в собственной операционке Andrushock Xakep, номер #050, стр. 050-072-2 /* поддержка сетевого протокола TCP/IP версии 6 */ option INET6 /* включение режима выборочных подтверждений получения пакетов */ option TCP_SACK /* возможность мониторинга пакетов, проходящих через PPP-интерфейс */ option PPP_FILTER /* включение программного сжатия для PPP-соединений */ option PPP_BSDCOMP option PPP_DEFLATE /* поддержка брандмауэра Packet Filter (pf) */ pseudo-device pf 1 /* псевдоустройство для журналирования работы pf */ pseudo-device pflog 1 /* фильтры пакетов Беркли, требуются для работы tcpdump, nmap и др. */ pseudo-device bpfilter 8 /* поддержка сетевого интерфейса обратной петли */ pseudo-device loop 2 /* поддержка модулятора-демодулятора */ pseudo-device tun 2 Я обычно директивы INET6 и PPP_FILTER не включаю в ядро и использую минимальное количество экземпляров псевдоустройств обратной петли и поддержки ppp-оборудования, необходимое для корректной работы: pseudo-device loop 1 pseudo-device tun 1 4) Теперь, чтобы произвести синтаксический анализ конфигурационного файла, а также выработать специальный каталог с файлом правила сборки ядра и заголовочными файлами, требуемыми для компиляции, необходимо программе config передать в качестве аргумента имя нашего будущего ядра: # config FISH 5) При отсутствии ошибок перейти в созданный каталог: # cd ../compile/FISH 6) Удалить временные файлы, выработать зависимости, скомпилировать ядро: # make clean && make depend && make 7) Сохранить копию старого ядра на случай аварии: # cp /bsd /bsd.generic 8) Заменить старое ядро новым: # cp bsd /bsd 9) Перезагрузиться: # reboot Для оптимизации кода можно перед четвертым пунктом в файле /usr/src/sys/arch/i386/conf/Makefile.i386 изменить тип аппаратных средств: CMACHFLAGS=-march=i486 на CMACHFLAGS=-mcpu=i686 -march=i686 Вот мы и добрались до пересборки всей операционной системы. Сначала необходимо создать файл с описанием пакетов и модулей, которые для нас не представляют никакого интереса (все возможные варианты настройки можно посмотреть в файле /usr/share/mk/bsd.own.mk): # vi /etc/mk.conf /* отключаем систему одноразовых паролей S/Key */ SKEY=no /* отключаем службу сетевой аутентификации Kerberos */ KERBEROS=no KERBEROS5=no /* отключаем поддержку сетевой файловой системы. Yellow Pages (YP) – это устаревшее название NFS */ YP=no /* отключаем механизм контроля доступом TCP-Wrappers */ TCP_WRAPPERS=no /* отключаем службу AFS */ AFS=no Сохраняем изменения и пересобираем систему: # cd /usr/src # rm -r /usr/obj/* # make obj # make build Этот процесс, правда, занимает довольно много времени, зато в итоге ты получишь _собственный_ BSD дистрибутив, заточенный под твои конкретные нужды. Разве не об этом ты мечтал? ;) Строго говоря, в OpenBSD нужно довольно осторожно подходить к перекомпиляции ядра без перекомпиляции всей системы или отдельных ее частей, например, только библиотек и некоторых программ, так как может произойти десинхронизация kernel'а и userland'а, вследствие чего такие утилиты как w, who, ps, top, pfctl и другие просто откажутся работать. |