Операционные системы - статьи

         

А почему она так долго загружается? Нельзя ли быстрее?


Основное время тратится на неудачные попытки лишних драйверов

найти несуществующие устройства. Все драйверы жестко вшиваются в ядро

(хотя есть loadable kernel modules, это мало меняет суть дела),

поэтому если хочется, чтобы машина работала более эффективно, придется

перекомпилировать ядро. Это не требует писать программы, надо только

указать компилятору, какие именно части надо включить в ядро.

Со страхом и трепетом я приступил в первый раз к перекомпиляции ядра.

На всякий случай позвал на помощь товарища. Тот, правда, видел Unix второй

раз в жизни, но "кто умеет - делает, а кто не умеет - советует". :-)

Еще говорят, что "кто совсем не умеет - учит", но я, как видите, делал,

а теперь учу. :-) Кстати, его советы оказались неплохими, по крайней мере

в части перевода с английского и в понимании логики конфигурирования.

Для начала надо получить



ftp://ftp.freebsd.org/pub/FreeBSD/версия-RELEASE/src/ssys.*, обычно

я кладу их рядом с bin. Теперь их надо извлечь. Маленькая тонкость -

по умолчанию /sys -> /usr/src/sys, а я не хочу кидать

исходники ядра в /usr. Поэтому

mkdir /usr/src

mkdir /var/src

mkdir /var/src/sys

ln -s /var/src/sys /usr/src/sys

cat .../src/ssys.?? | tar --unlink -xvpzf - -C /

Последнюю строчку я почти не раздумывая взял из .../bin/install.sh.

При этом извлекается исходник ядра с кучей драйверов, часть из которых

присутствует в GENERIC.

cd /sys/i386/conf

cp GENERIC MYCONF

редактировать файл MYCONF

config MYCONF

cd /sys/compile/MYCONF

make depend

make

make install

reboot

Если компиляция заткнется на каком-либо этапе, вам сообщат. Внимательно читайте диагностику и, чтобы не сбросить ее с экрана, производите правку с другой виртуальной консоли или из другой сесии telnet.



Содержание раздела