Kiev1.org Карта сайта Файлы Фотографии Киева
  
Реклама:






Разделы
 
 Sysadmin
 Антиглобалисты
 Ереси и секты
 Катастрофы
 Компьютерные новости
 Непроверенное
 О проекте
 О фотогалерее
 Политика и власть
 Православие
 Предприятия Украины
 Протесты Людей против нового мирового концлагеря
 Разное
 Россия
 Старец Паисий 1924-1994
 Стояние за Истину
 Суды в Украине
 Тайна беззакония
 экуменизм


Внимание! Читая пророчества на этом сайте помните что достоверность трудно проверить и все может во времени изменяться - самое главное думать своей головой и не верить легкомысленно всему что говорят, особенно советское телевидение
"О дне же том, или часе, никто не знает, ни Ангелы небесные, ни Сын, но только Отец (Мк. 13, 32)"

Перекомпиляция ядра FreeBSD


Перекомпиляция ядра FreeBSD
Перекомпиляция ядра FreeBSD - это, пожалуй, самое приятное и впечатляющее из всего набора работ по приведению системы в человеческий вид. Во всяком случае, после многократных попыток проделать то же самое в Линуксе, заканчивавшихся, как правило, мучительной смертью пингвина, выполненная трясущимися от прежних неудачных попыток аналогичная операция над FreeBSD проходит вполне безболезненно.
Перекомпиляция ядра FreeBSD
Перекомпиляция совершенно необходима, в частности, для обеспечения поддержки оперативной памяти сверх 64Mb, работы звуковой карты и других совершенно бесполезных на сервере железок, а также действительно важного оборудования: например, многочисленных RAID и SCSI устройств.

Для распаковки исходных текстов и последующей их компиляции необходимо примерно 200 Mb на жестком диске (под точкой монтирования /usr), поэтому хорошо бы заранее проверить выполнение этого условия. Естественно, что сначала надо установить исходники ядра. В каталоге /src дистрибутива (например, на компакт-диске) запускаем:

./install.sh sys

Теперь можно составить новую конфигурацию ядра. В качестве шаблона берем текущую, заведомо работающую конфигурацию (из файла настройки для предыдущей перекомпиляции), или конфигурацию по умолчанию (если ядро перекомпилируется впервые, то она совпадает с предыдущей), которая описана в файле /usr/src/sys/i386/conf/GENERIC и полностью копируем его содержимое в другой файл (например, /usr/src/sys/i386/conf/B01 - название произвольное). После этого удаляем из полученного файла все ненужные строки, описывающие компоненты и параметры ядра, внимательно читая сопутствующие комментарии, чтобы не удалить что-нибудь жизненно важное. Теперь добавим новые опции, полный список которых приведен в конфигурационном файле /usr/src/sys/i386/conf/LINT

# Конфигурационный файл ядра FreeBSD 5.1.

# Тип платформы.
machine i386
# Тип процессора, с которыми будет работать ОС.
# Здесь можно указать несколько значений.
cpu I586_CPU
cpu I686_CPU
# Идентификатор нового ядра. У меня он совпадает с именем
# конфигурационного файла.
ident B01
# Максимальное число пользователей.
maxusers 32

...

# Максимальный объем RAM в килобайтах. Допускается
# указать значение в виде MAXMEM="(384*1024)"
options MAXMEM="393216"

...

# Включить поддержку файловой системы Ext2 (Linux).
# Рекомендуется монтировать разделы ext2 только на
# чтение в целях обеспечения стабильности работы системы.
options EXT2FS

...

# Устройство вывода звука. Хотя реально хватило только
# первой строчки (PCM - универсальный звуковой драйвер),
# я добавил и поддержку Sound Blaster, прописав прерывания.
# явным образом. Вариантов настройки для разных карт очень
# много - подробнее см. файл LINT.
device pcm
device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15

# Поддержка автоматического управления питанием (изменить)
# device apm0 at nexus? disable flags 0x20
device apm0

Отредактировав конфигурационный файл, последовательно выполняем следующие команды и внимательно следим за появлением возможных ошибок:

/usr/sbin/config B01
cd /usr/src/sys/compile/B01
make depend
make

Если все команды (например, лично я хронически забываю написать make depend) завершились успешно, выполняем инсталляцию ядра командой make install (так же, как и две предыдущие, она выполняется из каталога /usr/src/sys/compile/B01).

Перед выполнение инсталляции нового ядра необходимо убедиться, что ядро находится в режиме безопасности со значением (-1) или что он вообще отключен. Также может потребоваться снять флаги запрета модификации файла командой chflags noschg /kernel, иначе ядро будет невозможно обновить.

После перезагрузки смотрим на полученный результат, и, если новое ядро успешно загрузилось, удаляем временные файлы командой make clean, выполненной в каталоге компиляции (Также можно удалить старое ядро и его модули - файл /kernel.old и каталог /modules.old).

Если же загрузка нового ядра по каким-то причинам провалилась, в командной строке загрузчика пишем название образа старого ядра (то есть boot: /kernel.old) и загружаем его. Теперь для восстановления работоспособности системы обязательно следует заменить новое («неудачное») ядро старым. Для этой цели служит набор команд:

cd /
chflags noschg kernel
cp kernel kernel.bad
cp kernel.old kernel
chflags schg kernel
reboot

Если этого не делать и сразу пытаться перекомпилировать ядро, то в результате старое («хорошее») ядро будет перезаписано «неудачным» (которое в свою очередь станет «старым») и нет никакой гарантии того, что новый вариант окажется лучше.





Внимание! Читая пророчества на этом сайте помните что достоверность трудно проверить и все может во времени изменяться
"О дне же том, или часе, никто не знает, ни Ангелы небесные, ни Сын, но только Отец (Мк. 13, 32)"