А почему она так долго загружается? Нельзя ли быстрее?
Основное время тратится на неудачные попытки лишних драйверов
найти несуществующие устройства. Все драйверы жестко вшиваются в ядро
(хотя есть 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.