diff --git a/ru_RU.KOI8-R/books/handbook/boot/chapter.sgml b/ru_RU.KOI8-R/books/handbook/boot/chapter.sgml
index 332019aa0e..1ae52ea2d5 100644
--- a/ru_RU.KOI8-R/books/handbook/boot/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/boot/chapter.sgml
@@ -1,843 +1,843 @@
АндрейЗахватовПеревод на русский язык: Процесс загрузки FreeBSDОписаниезагрузканачальная загрузкаПроцесс включения компьютера и загрузки операционной системы
называется процессом первоначальной загрузки, или просто
загрузкой. Процесс загрузки FreeBSD предоставляет большие
возможности по гибкой настройке того, что происходит при запуске системы,
позволяя вам выбирать из различных операционных систем, установленных на
одном и том же компьютере, или даже из различных версий той же самой
операционной системы или установленного ядра.Эта глава подробно описывает параметры, которые вы можете изменить
для настройки процесса загрузки FreeBSD. Под этим подразумевается все,
что происходит до начала работы ядра FreeBSD, обнаружения устройств и
запуска &man.init.8;. Если вы не совсем уверены, то это происходит,
когда выводимый текст меняет цвет с ярко-белого на серый.После чтения этой главы вы будете знать:Из каких частей состоит система начальной загрузки FreeBSD, и
как эти части взаимодействуют.Параметры, которые вы можете передать компонентам начальной
загрузки FreeBSD для управления этим процессом.Основы работы &man.device.hints.5;Только для x86Эта глава описывает процесс загрузки FreeBSD только для систем
на основе архитектуры Intel x86.Проблема загрузкиВключение компьютера и запуск операционной системы приводят к
интересной дилемме. По определению до запуска операционной системы
компьютер не умеет ничего. В том числе и не знает, как запускать программы
с диска. Так что компьютер не может запустить программу с диска без
операционной системы, но программы операционной системы находятся на
диске, но как запустить операционную систему?Эта проблема имеет параллели с одной проблемой из книги
Приключения барона Мюнхаузена. Герой провалился в
болото, и вытащил сам себя, ухватив за волосы и потянув. В эпоху начала
компьютеризации термин начальная загрузка
применялся к механизму, используемому для загрузки операционной системы,
и затем был сокращен до просто загрузки.На оборудовании архитектуры x86 за загрузку операционной системы
отвечает BIOS (Basic Input/Output System). Для этого BIOS ищет на
жестком диске MBR (Master Boot Record), которая должна располагаться в
определенном месте на диске. BIOS может загрузить и запустить MBR, и
предполагается, что MBR может взять на себя остальную работу, связанную с
загрузкой операционной системой.BIOSBasic Input/Output SystemBIOSЕсли на вашем диске установлена только одна операционная система, то
стандартной MBR будет достаточно. Такая MBR выполняет поиск на диске
первого загрузочного слайса, после чего запускает с этого слайса код
загрузки оставшейся части операционной системы.Если на ваших дисках установлено несколько операционных систем, то
вы можете установить другую MBR, ту, что может выдать список различных
операционных систем и позволит вам выбрать одну из них для загрузки.
FreeBSD поставляется с одной из такой MBR, которую можно установить;
другие производители операционных систем также предоставляют свои
MBR.Оставшаяся часть системы начальной загрузки FreeBSD разделяется на
три этапа. Первый этап запускается из MBR, и он знает достаточно для
перевода компьютера в особое состояние и загрузки второго этапа. Второй
этап может делать несколько больше до запуска третьего этапа. Третий
этап заканчивает работу по загрузке операционной системы. Работа
разделена на эти три этапа, потому что стандарты ПК ограничивают размеры
программ, которые могут быть запущены на первом и втором этапах.
Последовательное выполнение работ позволяет FreeBSD получить более гибкий
загрузчик.ядроinitЗатем стартует ядро, которое начинает опознавать устройства и
выполняет их инициализацию. После завершения процесса своей загрузки,
ядро передает управление пользовательскому процессу с именем
&man.init.8;, который выполняет проверку дисков на возможность
использования. Затем &man.init.8; запускает пользовательский процесс
настройки ресурсов, который монтирует файловые системы, выполняет
настройку сетевых адаптеров для работы в сети и вообще осуществляет
запуск всех процессов, обычно выполняемых в системе FreeBSD при
загрузке.MBR и первый, второй и третий этапы загрузкиMBR, /boot/boot0Master Boot Record (MBR)MBR для FreeBSD находится в /boot/boot0. Это
копия MBR, так как настоящая MBR должна
располагаться в специальном месте диска, вне области FreeBSD.boot0 очень прост, так как программа
в MBR может иметь размер, не превышающий 512
байт. Если вы установили MBR FreeBSD и несколько операционных
систем на ваш жесткий диск, то во время загрузки вы увидите нечто
похожее на следующее:Образец экрана boot0F1 DOS
F2 FreeBSD
F3 Linux
F4 ??
F5 Drive 1
Default: F2Известно, что другие операционные системы, в частности,
&windows; 95, записывают поверх существующей MBR свою собственную.
Если так случилось в вашем случае, или же вы хотите заменить
существующую MBR на MBR от FreeBSD, то воспользуйтесь следующей
командой:&prompt.root; fdisk -B -b /boot/boot0 deviceЗдесь device является устройством, с
которого вы загружаетесь, таким, как ad0 в
случае первого диска IDE, ad2 в случае первого
диска IDE на втором контроллере IDE, da0 для
первого диска SCSI и так далее.Однако если вы используете Linux и предпочитаете, чтобы процесс
загрузки управлялся через LILO, вы можете
отредактировать файл /etc/lilo.conf для FreeBSD
или выбрать
в процессе установки FreeBSD. Если вы установили менеджер загрузки
FreeBSD, то вы можете снова загрузить Linux и изменить конфигурационный
файл /etc/lilo.conf для
LILO, добавив следующий параметр:other=/dev/hdXY
table=/dev/hdb
loader=/boot/chain.b
label=FreeBSDкоторый позволит загружать FreeBSD и Linux посредством
LILO. В нашем примере мы используем
XY для обозначения номера диска и раздела.
Если вы используете диск SCSI, то вам может
потребоваться заменить /dev/hdXY на что-то
типа /dev/sdXY, где снова используется
обозначение XY. Строка
может быть опущена, если обе
операционные системы располагаются на одном и том же диске. Вы можете
теперь запустить /sbin/lilo -v для того, чтобы ваши
изменения были восприняты системой, что должно быть подтверждено
сообщениями на экране.Этап первый, /boot/boot1, и этап второй,
/boot/boot2Концептуально первый и второй этапы загрузки являются частями одной
и той же программы, в той же самой области диска. Из-за ограничений на
объем дискового пространства они были разделены на две, но вы всегда
должны устанавливать их вместе.Они располагаются в загрузочном секторе загрузочного слайса,
то есть там, где boot0 или
любая другая программа из MBR ожидает найти
программу, которую следует запустить для продолжение процесса загрузки.
Файлы в каталоге /boot являются копиями реальных
файлов, которые хранятся вне файловой системы FreeBSD.boot1 очень прост, так как он тоже может иметь
размер, не превышающий 512 байт, и знает достаточно о метке
диска FreeBSD, хранящей информацию о слайсе, для того,
чтобы найти и запустить boot2.boot2 устроен несколько более сложно, и умеет
работать с файловой системой FreeBSD в объёме, достаточном для
нахождения в ней файлов, и может предоставлять простой интерфейс для
выбора и передачи управления ядру или загрузчику.Так как загрузчик устроен
гораздо более сложно, и дает удобный и простой способ настройки
процесса загрузки, boot2 обычно запускает его,
однако раньше его задачей был запуск непосредственно самого
ядра.Образец экрана boot2
>> FreeBSD/i386 BOOT
Default: 0:ad(0,a)/kernel
boot:
Если вам когда-либо понадобится заменить установленные
boot1 и boot2, то используйте
утилиту &man.disklabel.8;:&prompt.root; disklabel -B disksliceЗдесь diskslice являются диском и
слайсом, с которых вы загружаетесь, такие, как
ad0s1 в случае первого слайса на первом диске
IDE.Режим Dangerously DedicatedЕсли вы используете только имя диска, к примеру,
ad0, в команде &man.disklabel.8; вы
создадите диск в режиме эксклюзивного использования, без слайсов.
Это, скорее всего, вовсе не то, что вы хотите сделать, так что дважды
проверьте параметры команды &man.disklabel.8;, прежде, чем нажать
Return.Третий этап, /boot/loaderзагрузчикПередача управления загрузчику является последним, третьим этапом в
процессе начальной загрузки, а сам загрузчик находится в файловой
системе, обычно как /boot/loader.Загрузчик являет собой удобный в использовании инструмент для
настройки при помощи простого набора команд, управляемого более мощным
интерпретатором с более сложным набором команд.Процесс работы загрузчикаВо время инициализации загрузчик пытается произвести поиск
консоли, дисков и определить, с какого диска он был запущен.
Соответствующим образом он задаёт значения переменных и запускает
интерпретатор, которому могут передаваться пользовательские команды
как из скрипта, так и в интерактивном режиме.загрузчикконфигурация загрузчикаЗатем загрузчик читает файл
/boot/loader.rc, который по умолчанию использует
файл /boot/defaults/loader.conf, устанавливающий
подходящие значения по умолчанию для переменных и читает файл
/boot/loader.conf для изменения в этих
переменных. Затем с этими переменными работает
loader.rc, загружающий выбранные модули и
ядро.И наконец, по умолчанию загрузчик выдерживает 10-секундную паузу,
ожидая нажатия клавиши, и загружает ядро, если этого не произошло.
Если ожидание было прервано, пользователю выдается
приглашение, которое воспринимает простой набор команд, с помощью
которых пользователь может изменить значения переменных, выгрузить
все модули, загрузить модули и окончательно продолжить процесс
загрузки или перезагрузить машину.Встроенные команды загрузчикаДалее следуют наиболее часто используемые команды загрузчика.
Полное описание всех имеющихся команд можно найти на странице
справки о команде &man.loader.8;.autoboot секундыПродолжает загрузку ядра, если не будет прерван в течение
указанного в секундах промежутка времени. Он выводит счетчик,
и по умолчанию выдерживается интервал в 10 секунд.boot
-параметрыимя ядраПродолжить процесс загрузки указанного ядра, если оно было
указано, и с указанными параметрами, если они были
указаны.boot-confПовторно провести тот же самый процесс автоматической
настройки модулей на основе переменных, что был произведен при
загрузке. Это имеет смысл, если до этого вы выполнили команду
unload, изменили некоторые переменные,
например, наиболее часто меняемую kernel.help
темаВывод сообщений подсказки из файла
/boot/loader.help. Если в качестве темы
указано слово index, то выводится список
имеющихся тем.include имя файла
…Выполнить файл с указанным именем. Файл считывается и
его содержимое интерпретируется строчка за строчкой. Ошибка
приводит к немедленному прекращению выполнения команды
include.load типимя файлаЗагружает ядро, модуль ядра или файл указанного типа с
указанным именем. Все аргументы после имени файла передаются в
файл.ls маршрутВыводит список файлов по указанному маршруту или в корневом
каталоге, если маршрут не был указан. Если указан параметр
, будут выводиться и размеры файлов.lsdev Выводится список всех устройств, с которых могут быть
загружены модули. Если указан параметр ,
выводится дополнительная информация.lsmod Выводит список загруженных модулей. Если указан параметр
, то выводится дополнительная
информация.more имя файлаВывод указанного файла с паузой при выводе каждой строки
LINES.rebootВыполнить немедленную перезагрузку машины.set переменнаяset
переменная=значениеЗадает значения переменных окружения загрузчика.unloadУдаление из памяти всех загруженных модулей.Примеры использования загрузчикаВот несколько примеров практического использования
загрузчика:однопользовательский режимЧтобы просто загрузить ваше ядро обычным образом, но в
однопользовательском режиме:boot -sДля выгрузки обычных ядра и модулей, а потом просто загрузить
ваше старое (или другое) ядро:kernel.oldunloadload kernel.oldВы можете использовать kernel.GENERIC
для обозначения стандартного ядра, поставляемого на установочном
диске, или kernel.old для обращения к ранее
установленному ядру (после того, как, например, вы обновили или
отконфигурировали новое ядро).Для загрузки ваших обычных модулей с другим ядром
используйте такие команды:unloadset kernel="kernel.old"boot-confДля загрузки скрипта конфигурации ядра (автоматизированный
скрипт, который выполняет то, что вы обычно делаете в
конфигураторе ядра во время загрузки):load -t userconfig_script /boot/kernel.confВзаимодействие с ядром во время загрузкиядровзаимодействия во время загрузкиКак только ядро окажется загруженным при помощи загрузчика (обычный способ) или boot2 (минуя загрузчик), оно проверяет
флаги загрузки, если они есть, и действует соответствующим
образом.ядрофлаги загрузкиФлаги загрузки ядраВот наиболее часто используемые флаги загрузки:во время инициализации ядра запрашивать устройство для
его монтирования в качестве корневой файловой системы.загрузка с компакт-диска.запустить UserConfig для конфигурации ядра во время
загрузкипосле загрузки перейти в однопользовательский режимво время запуска ядра выводить более подробную
информациюЕсть и другие флаги загрузки, обратитесь к странице
справочника по &man.boot.8; для выяснения подробной информации по
ним.TomRhodesТекст предоставил device.hintsХинты устройствЭта функция присутствует только во FreeBSD 5.0 и последующих
версиях, но не в более ранних.Во время начального запуска системы загрузчик &man.loader.8;
производит чтение файла &man.device.hints.5;. В этом файле
хранится необходимая для загрузки ядра информация, задаваемая в виде
переменных, которую иногда называют хинтами для устройств (device
hints). Эти хинты устройств используются
драйверами устройств для их конфигурации.Хинты для устройств могут быть также заданы в приглашении начального загрузчика Стадии 3. Переменные
могут быть добавлены при помощи команды set, удалены
посредством unset и просмотрены командой
show. В этот момент могут быть также переопределены
переменные, заданные в файле /boot/device.hints.
Хинты для устройств, введённые в начальном загрузчике, не сохраняются, и
при следующей перезагрузке будут утеряны.После загрузки системы для выдачи значений всех переменных можно
воспользоваться командой &man.kenv.1;.Синтаксически в файле /boot/device.hints в
каждой строке определяется по
одной переменной, в качестве метки начала комментария используется
стандартный символ #. Строки строятся следующим
образом:hint.driver.unit.keyword="value"Синтаксис для начального загрузчика Стадии 3 таков:set hint.driver.unit.keyword=valuedriver определяет имя драйвера устройства,
unit соответствует порядковому номеру модуля
устройства, а keyword является ключевым словом хинта.
В качестве ключевых слов могут применяться следующие опции:at: задаёт шину, к которой подключено
устройство.port: задаёт начальный адрес используемого
диапазона ввода/вывода (I/O).irq: задаёт используемый номер запроса на
прерывание.drq: задаёт номер канала DMA.maddr: задаёт физический адрес памяти,
занимаемый устройством.flags: устанавливает различные битовые флаги
для устройства.disabled: если установлено в значение
1, то устройство не используется.Драйверы устройств могут поддерживать (и даже требовать) другие
хинты, здесь не перечисленные, поэтому рекомендуется просматривать
справочные страницы по этим драйверам. Для получения дополнительной
информации обратитесь к страницам справки по
&man.device.hints.5;, &man.kenv.1;, &man.loader.conf.5; и
&man.loader.8;.initInit: инициализация управления процессамиПосле того, как ядро завершит загрузку, оно передает управление
пользовательскому процессу &man.init.8;, который расположен
в файле /sbin/init или в файле, маршрут к которому
указан в переменной init_pathзагрузчика.Процесс автоматической перезагрузкиПроцесс автоматической перезагрузки проверяет целостность
имеющихся файловых систем. Если это не так, и утилита
&man.fsck.8; не может исправить положение, то
&man.init.8; переводит систему в однопользовательский режим для того,
чтобы системный администратор сам разобрался с возникающими
проблемами.Однопользовательский режимоднопользовательский режимконсольВ этот режим можно перейти во время процесса автоматической перезагрузки,
при ручной загрузке с параметром
или заданием переменной boot_single для программы
loader.Этот режим может быть также вызван запуском программы
&man.shutdown.8; без параметров перезагрузки
() или останова () из
многопользовательского
режима.Если режим доступа к системной консоли console
установлен в файле /etc/ttys в
insecure, то система выведет запрос на ввод пароля
пользователя root перед переходом в
однопользовательский режим.Незащищённая консоль в /etc/ttys# name getty type status comments
#
# Если консоль помечена как "insecure", то init будет запрашивать пароль
# пользователя root при переходе в однопользовательский режим.
console none unknown off insecureОбозначение консоли как insecure означает,
что вы считаете физический доступ к консоли незащищённым, и хотите,
чтобы только тот, кто знает пароль пользователя
root, мог воспользоваться однопользовательским
режимом, но это не значит, что вы хотите работать с консолью
небезопасным способом. Таким образом, если вы хотите добиться
защищённости, указывайте insecure, а
не secure.Многопользовательский режиммногопользовательский режимЕсли &man.init.8; определит, что ваши файловые системы
находятся в полном порядке, или после того, как пользователь выйдет
из однопользовательского
режима, система перейдет в многопользовательский режим, работа
в котором начинается с настройки ресурсов системы.файлы rcНастройка ресурсов (rc)Система настройки ресурсов считывает настройки, применяемые по
умолчанию, из файла /etc/defaults/rc.conf, а
настройки, специфичные для конкретной системы, из
/etc/rc.conf, после чего осуществляется
монтирование файловых систем, перечисленных в файле
/etc/fstab, запуск сетевых служб, различных
системных даемонов и, наконец, выполнение скриптов запуска
дополнительно установленных пакетов.Страница справочника по &man.rc.8; является хорошим источником
информации о системе настройки ресурсов, так же, как и
самостоятельное изучение скриптов.Процесс остановки системыshutdownВо время контролируемого процесса остановки системы через утилиту
&man.shutdown.8; программа &man.init.8; будет
пытаться запустить скрипт /etc/rc.shutdown, после
чего будет посылать всем процессам сигнал TERM, а
затем и KILL тем процессам, которые ещё не завершили
свою работу.Для выключения машины с FreeBSD на аппаратных платформах и системах,
которые поддерживают управление электропитанием, просто воспользуйтесь
командой shutdown -p now для немедленного отключения
электропитания. Чтобы просто перезагрузить систему FreeBSD,
воспользуйтесь командой shutdown -r now. Для запуска
команды &man.shutdown.8; вам необходимо быть пользователем
root или членом группы
operator. Кроме того, можно также
воспользоваться командами &man.halt.8; и &man.reboot.8;, пожалуйста,
обратитесь к соответствующим страницам справки и справочной странице по
команде &man.shutdown.8; для получения дополнительной информации.Для управления электропитанием требуется наличие поддержки
&man.acpi.4; в ядре или в виде загруженного модуля при использовании
FreeBSD 5.X, а для FreeBSD 4.X необходима поддержка
&man.apm.4;.
diff --git a/ru_RU.KOI8-R/books/handbook/kernelconfig/chapter.sgml b/ru_RU.KOI8-R/books/handbook/kernelconfig/chapter.sgml
index b46e8322d2..7a0403bc7f 100644
--- a/ru_RU.KOI8-R/books/handbook/kernelconfig/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/kernelconfig/chapter.sgml
@@ -1,1768 +1,1775 @@
JimMockОбновил и реструктурировал JakeHambyПредоставил АлександромКоваленкоПереведено Настройка ядра FreeBSDКраткий обзорkernelсборка собственного ядраЯдро — это основная часть операционной системы &os;. Оно
ответственно за управление памятью, параметры безопасности, работу с
сетью, доступ к дискам и многое другое. Несмотря на то, что &os;
становится всё более динамически конфигурируемой, иногда приходится
собирать собственное ядро.После прочтения этой главы вы узнаете:Почему вам может понадобиться сборка собственного ядра.Как написать файл конфигурации ядра или изменить
существующий.Как использовать файл конфигурации ядра для того, чтобы создать и
собрать новое ядро.Как установить новое ядро.Как создать записи в /dev, которые могут
оказаться необходимы.Что делать, если что-то не работает или работает не так, как
должно.Все команды, приводимые в этой главе в качестве примера,
должны выполняться от пользователя root.Зачем собирать собственное ядро?Традиционно в &os; использовалось так называемое
монолитное ядро. Это означает, что ядро — это одна
большая программа, которая поддерживает фиксированный набор устройств и в
случае, если необходимо изменить его поведение, требуется сборка нового
ядра и перезагрузка компьютера уже с новым ядром.На сегодняшний день &os; быстро продвигается к модели, в которой
большая часть функциональности содержится в модулях, которые могут быть
при необходимости динамически загружены и выгружены из ядра. Это
позволяет ядру использовать устройства, которые внезапно
появились в системе (например, устройства PCMCIA в лэптопе) или добавлять
новую функциональность в ядро, которая не была необходима в момент
первоначальной сборки ядра. Такой подход известен как модульность
ядра.Несмотря на это, всё ещё иногда бывает необходимо, чтобы некоторая
функциональность была вкомпилирована в ядро статически. В некоторых
случаях это продиктовано тем, что эта функциональность настолько сильно
привязана к ядру, что не может быть динамически загружаемой. В других
случаях это может быть просто потому, что никто не уделил время
написанию динамически загружаемого модуля для этой
функциональности.Сборка собственного ядра — один из наиболее важных ритуалов, через который
должен пройти практически любой пользователь BSD. Несмотря на
длительность этого процесса, ваша &os; останется только в выигрыше. В
отличие от ядра GENERIC, которое должно поддерживать
широкий спектр аппаратного обеспечения, собственное ядро содержит поддержку
аппаратного обеспечения только вашего компьютера.
Это может давать следующие преимущества:Меньшее время загрузки. Поскольку ядро будет пытаться определить
только то аппаратное обеспечение, которое установлено в вашем
компьютере, время, которое потребуется системе для загрузки,
может значительно уменьшиться.Уменьшение использования памяти. Собственное ядро часто использует меньше
памяти, чем ядро GENERIC, что очень важно,
поскольку ядро всегда находится в физической памяти. Именно по этой
причине собственное ядро особенно полезно при использовании систем с малым
объемом оперативной памяти.Поддержка дополнительного аппаратного обеспечения. Собственное ядро
позволяет вам добавить поддержку устройств,
отсутствующих в ядре GENERIC.Сборка и установка собственного ядраkernelсборка / установкаВо-первых, давайте сделаем краткий обзор каталога, в котором будет
происходить сборка ядра. Все каталоги, которые будут упоминаться, будут
относительными по отношению к основному каталогу
/usr/src/sys, который также доступен как каталог
/sys. Этот каталог содержит множество подкаталогов,
представляющих собой различные части ядра, но наиболее важным для нас
будет каталог arch/conf,
в котором вы будете редактировать конфигурационный файл ядра и в котором
находится каталог compile, где будет
собираться ваше ядро. arch может быть
i386, alpha,
amd64, ia64,
powerpc, sparc64 или
pc98 (альтернативная ветвь аппаратного обеспечения,
популярная в Японии). Все, что находится внутри каталога определенной
архитектуры, относится только к этой архитектуре; остальной код является
машинно независимым и общим для всех платформ, на которые &os; может
быть потенциально
портирована. Обратите внимание на логическую структуру каталогов, в
которой каждое поддерживаемое устройство, каждая файловая система и
каждая опция размещается в своём собственном каталоге. Версии &os; до
5.X поддерживали только архитектуры i386,
alpha и pc98.В примерах этой главы подразумевается, что вы используете
архитектуру i386. Если это не так, измените каталоги, указанные
в примерах, в соответствии с архитектурой вашей системы.Если в вашей системе отсутствует каталог
/usr/src/sys, это означает, что исходные тексты
ядра не были установлены. Наиболее простой способ установить их -
запустить sysinstall
(/stand/sysinstall в &os; версий старше,
чем 5.2) как root, выбрать
Configure, потом
Distributions, потом
src, потом sys.
Если вы испытываете отвращение к sysinstall и
у вас есть доступ к официальному &os; CDROM, вы также
можете установить исходные тексты при помощи командной строки:&prompt.root; mount /cdrom
&prompt.root; mkdir -p /usr/src/sys
&prompt.root; ln -s /usr/src/sys /sys
&prompt.root; cat /cdrom/src/ssys.[a-d]* | tar -xzvf -Затем, перейдите в каталог
arch/conf
и скопируйте файл конфигурации GENERIC
в файл с выбранным вами именем. Например:&prompt.root; cd /usr/src/sys/i386/conf
&prompt.root; cp GENERIC MYKERNELПо традиции имя состоит из букв в верхнем регистре, и если
вы поддерживаете несколько компьютеров &os; на различном оборудовании,
хорошая идея добавлять это имя к имени хоста. Мы назвали ядро
MYKERNEL в этом примере.Помещение файла конфигурации ядра в /usr/src
может быть плохой идеей. Если вы испытываете проблемы,
их можно решить удалив /usr/src и начав
все с начала. После этого обычно требуется несколько секунд, чтобы
понять, что вы удалили собственный файл настройки ядра. Не
редактируйте непосредственно GENERIC, он может
быть также перезаписан и при следующем обновлении дерева исходных текстов,
и изменения ядра будут потеряны.Вы можете сохранить файл конфигурации ядра в другом месте,
а затем создать символическую ссылку на этот файл в каталоге
i386.Например:&prompt.root; cd /usr/src/sys/i386/conf
&prompt.root; mkdir /root/kernels
&prompt.root; cp GENERIC /root/kernels/MYKERNEL
&prompt.root; ln -s /root/kernels/MYKERNELТеперь отредактируйте файл MYKERNEL в своём
любимом текстовом редакторе. Если вы только начинаете, единственным
доступным редактором скорее всего будет vi,
который слишком сложен для того, чтобы описать его здесь,
но в библиографии перечислено
множество книг, в которых его использование хорошо освещено. Однако &os;
предоставляет более простой редактор ee,
который, если вы — новичок, подойдёт вам больше всего. Не стесняйтесь
изменять строки комментариев в начале файла, с тем, чтобы отобразить вашу
конфигурацию или изменения, которые вы сделали по сравнению с
GENERIC.SunOSЕсли вам приходилось собирать ядро для &sunos; или какой-либо другой
операционной системы типа BSD, многое из того, что содержится в этом
файле будет очень знакомо вам. Если же вы, напротив, использовали другую
операционную систему, такую как DOS, файл конфигурации
GENERIC может показаться вам крайне сложным, поэтому
следуйте инструкциям в разделе Конфигурационный файл медленно и
внимательно.Если вы синхронизируете дерево исходных текстов
с деревом проекта &os;, не забудьте свериться с файлом
/usr/src/UPDATING перед обновлением. В этом
файле описаны все важные вопросы и области исходного кода, требующие
особого внимания.
/usr/src/UPDATING всегда соответствует версии
ваших исходных текстов &os;, поэтому является более актуальным
источником информации, чем это руководство.Теперь вы должны скомпилировать ядро. Существует два способа, которые
позволяют это сделать. Какой из них выбрать, зависит от того, почему вам
понадобилось пересобирать ядро и версии &os;, которую вы
используете.Если вы установили только исходные тексты
ядра, используйте способ 1.Если вы используете &os; версии более ранней, чем 4.0 и вы
не обновляете систему до &os; 4.0 или выше,
используя make buildworld, используйте способ
1.Если вы собираете новое ядро, не обновляя исходные тексты
(возможно, для того, чтобы добавить новую опцию, например
IPFIREWALL), вы можете использовать любой
способ.Если вы пересобираете ядро как часть процесса
make buildworld, используйте способ 2.cvsupCTMCVSанонимныйЕсли вы не обновляли дерево исходных текстов
с момента последнего успешного завершения цикла
buildworld-installworld,
(то есть не запускали CVSup,
CTM, или не использовали
anoncvs), возможно использование
последовательности
config, make depend,
make, make install.
Способ 1. Сборка ядра традиционным способомЗапустите &man.config.8; для того, чтобы сгенерировать исходные
тексты ядра.&prompt.root; /usr/sbin/config MYKERNELПерейдите в каталог, в котором будет собираться ядро.
Запущенный как показано выше &man.config.8; выведет имя этого
каталога.&prompt.root; cd ../compile/MYKERNELДля &os; версий более ранних, чем 5.0, вместо этого
используйте:&prompt.root; cd ../../compile/MYKERNELСоберите ядро.&prompt.root; make depend
&prompt.root; makeУстановите новое ядро.&prompt.root; make installСпособ 2. Сборка ядра новым способом.Перейдите в каталог /usr/src.&prompt.root; cd /usr/srcСоберите ядро.&prompt.root; make buildkernel KERNCONF=MYKERNELУстановите новое ядро.&prompt.root; make installkernel KERNCONF=MYKERNELВ &os; 4.2 и в более ранних, вам будет необходимо заменить
KERNCONF= на KERNEL=. 4.2-STABLE,
исходные тексты которой были обновлены до 2 февраля 2001 года, не
понимает параметра KERNCONF=./boot/kernel.oldНовое ядро будет скопировано в каталог /boot/kernel как
/boot/kernel/kernel, а старое ядро будет перемещено в
/boot/kernel.old/kernel.
Теперь перезагрузите систему для того,
чтобы использовать новое ядро. Если что-то пойдёт не так, вы
можете обратиться к разделу Решение проблем в конце
этой главы, который может оказаться
полезен. Не забудьте прочитать
раздел, который объясняет как исправить ситуацию, когда ядро не загружается.В &os; 4.X и более ранних, ядро устанавливается в
/kernel, модули в /modules, а старое ядро сохраняется в
/kernel.old. Другие файлы, относящиеся к
процессу загрузки, такие как загрузчик (&man.loader.8;) и его
конфигурационные файлы, размещаются в /boot.
Модули сторонних производителей могут быть помещены в
/modules, хотя пользователи
должны знать, что
очень важно, чтобы модули были синхронизированы с собранным ядром.
Модули, не рассчитанные на работу с собранным ядром, могут вызвать
нестабильность и некорректность работы.Если вы добавили новые устройства (такие, как звуковая карта) и
используете &os; 4.X или более ранние версии, то, возможно, вам
понадобится создать некоторые файлы устройств в каталоге
/dev перед тем, как вы
сможете их использовать.
За дополнительной информацией вы можете обратиться к разделу Создание файлов устройств далее в
этой главе.JoelDahlОбновил для &os; 5.X Конфигурационный файлядроNOTESядроLINTNOTESLINTядроконфигурационный файлФормат конфигурационного файла достаточно прост. Каждая строка
представляет собой ключевое слово и один или более аргументов. Для
простоты большинство строк содержат только один аргумент. Всё, что
следует за символом # является комментарием и
игнорируется. Следующие разделы описывают каждый параметр, в основном в
порядке, в котором они появляются в GENERIC, хотя
некоторые родственные параметры сгруппированы вместе в одном разделе
(например Работа с сетью), даже если на самом деле они разбросаны по
всему файлу GENERIC. За полным списком архитектурно-зависимых
параметров и устройств обратитесь к файлу NOTES
в том же каталоге, что и GENERIC. Архитектурно
независимые параметры находятся в
/usr/src/sys/conf/NOTES.NOTES не существует в &os; 4.X.
Детальное описание параметров и устройств из
GENERIC находится в файле
LINT. В 4.X LINT
служит двум целям: предоставить справочное руководство для
выбора параметров ядра при сборке ядра по умолчанию и
предоставить конфигурацию ядра с параметрами, установленными
в значения, отличные от значений по умолчанию (настолько
много параметров, насколько это возможно). Это было сделано
по той причине, что такая конфигурация хорошо помогала
(и все еще помогает) при тестировании нового кода и изменений
в существующем коде, поскольку этот код и изменения могут
конфликтовать с другими частями ядра. Однако, инфраструктура
конфигурации ядра в 5.X прошла через множество серьезных изменений;
Одно из таких изменений – перемещение параметров конфигурации
драйверов в hints, и теперь они могут быть
изменены и загружены динамически во время загрузки системы,
а в LINT их больше нет. По этой и другим
причинам LINT был переименован в
NOTES и в основном по-прежнему соответствует
своему назначению: информирование пользователей о доступных
параметрах.В &os; 5.X и более поздних версиях вы все еще можете создать
собираемый LINT, выполнив:&prompt.root; cd /usr/src/sys/i386/conf && make LINTkernelконфигурационный файлЭто пример конфигурационного файла ядра
GENERIC с различными дополнительными комментариями,
которые могут понадобиться для ясности. Этот пример должен совпадать с вашей
копией в
/usr/src/sys/i386/conf/GENERIC
практически полностью.#
# GENERIC -- Generic kernel configuration file for &os;/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
# http://www.&os;.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# &os; World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ../../conf/NOTES and NOTES files.
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
# $FreeBSD: /repoman/r/ncvs/src/sys/i386/conf/GENERIC,v 1.413 2004/08/11 01:34:18 rwatson Exp $Следующие параметры обязательны для любого ядра,
которое вы будете собирать:параметры ядраmachinemachine i386Это архитектура машины. Она должна быть одной из
следующих:
alpha, amd64,
i386, ia64,
pc98, powerpc, или
sparc64.параметры ядраcpucpu I486_CPU
cpu I586_CPU
cpu I686_CPUЭта опция указывает тип процессора, который используется в вашей
системе. В конфигурационном файле может быть несколько вхождений этой
опции (например, если вы не уверены, какой из типов процессора необходимо
использовать — I586_CPU или
I686_CPU), но для собственного ядра лучше указывать
только тот тип процессора, который установлен в вашей системе. Если вы
не уверены, какой тип необходимо использовать вам, вы можете
воспользоваться файлом /var/run/dmesg.boot, чтобы
увидеть протокол загрузки системы.параметры ядраcpu typeПоддержка типа I386_CPU все ещё существует в
исходных текстах &os;, но по умолчанию отключена в ветках -STABLE и
-CURRENT. Это означает, что для того, чтобы установить &os; на систему с
процессором i386, вы можете использовать следующие способы:Установить более раннюю версию &os; и пересобрать систему из
исходных текстов в соответствии с
.Собрать систему и ядро на более новой машине и установить на
386 используя уже собранные файлы в /usr/obj
(за дополнительной информацией можете обратиться к ).Сделать собственный релиз &os;, который включает поддержку
I386_CPU в ядре установочного CD-ROM.Первый из этих способов, возможно, наиболее простой из всех
предложенных, но вам понадобится много дискового пространства, что может
быть затруднительно для систем класса 386.параметры ядраidentident GENERICЭтот параметр определяет метку ядра. Необходимо,
чтобы она соответствовала названию файла конфигурации ядра, например
MYKERNEL, если вы следовали инструкциям в предыдущих
примерах. Значение, которое вы присвоите параметру
ident будет выводиться в процессе загрузки, поэтому
полезно давать новым ядрам другие имена для того, чтобы отличать их от
обычного ядра (например, если вы хотите собрать экспериментальное
ядро).параметры ядраmaxusersmaxusers nПараметр maxusers определяет размеры многих важных
системных таблиц. Это число должно быть приблизительно равно количеству
пользователей, одновременно использующих вашу систему.Начиная с &os; 4.5, система автоматически настроит этот параметр
если в конфигурационном файле вы установили его в значение
0Алгоритм автоматической настройки
устанавливает maxusers равным количеству памяти в
системе, минимум 32 и максимум 384..
В &os; 5.X и выше, maxusers по умолчанию равен
0, если не установлено другое значение. Если вы
используете &os; версии более ранней, чем 4.5, или хотите самостоятельно
управлять этим значением, рекомендуется устанавливать значение
maxusers равным минимум 4, особенно если вы
используете X Window System или компиляторы. Причина этого кроется в
том, что одной из основных таблиц, размер которой определяет
maxusers, является максимальное количество процессов,
которое устанавливается равным 20 + 16 * maxusers,
таким образом, если вы установите maxusers равным 1,
то получите возможность выполнять максимум 36 одновременных процессов,
включая 18 или около того процессов, которые система запускает при
загрузке, и 15 или около того вы создадите, когда запустите X Window
System. Даже такая простая задача, как чтение страницы справочной
системы (&man.man.1;), потребует запуска девяти процессов, для того,
чтобы использовать фильтры, распаковать и просмотреть её. Установка
maxusers в значение 64 позволит запускать до 1044
одновременных процессов, что должно быть достаточно для большинства
применений. Однако, если вы видите ошибку proc table
full, когда пытаетесь запустить программу или поддерживаете
сервер с большим количеством пользователей (такой, как ftp.FreeBSD.org), вы всегда можете увеличить это
число и пересобрать ядро.maxusersне ограничивает
количество пользователей, которые могут зайти на вашу машину. Он
просто устанавливает размеры различных таблиц в разумные значения,
учитывая максимальное количество пользователей, которое будет у вас в
системе и как много процессов будет запускать каждый из них. Параметр
ядра, который действительно ограничивает количество
одновременных удалённых сессий и окон X терминала,
это pseudo-device pty
16. С &os; 5.X, вам не нужно беспокоиться об
этом номере, поскольку драйвер &man.pty.4;
автоклонируемый; используйте в файле конфигурации
строку device pty.# Floating point support - do not disable.
device npxnpx — это интерфейс к модулю операций с плавающей
точкой в &os;, который может использовать как аппаратный сопроцессор, так
и программную эмуляцию. Этот параметр является
обязательным.# Pseudo devices
device loop # Network loopbackСтандартное устройство обратной связи для TCP/IP. Если вы запускаете
telnet или FTP на localhost (он же 127.0.0.1), то соединение пройдёт через это
устройство. Этот параметр обязателен. В
&os; 4.X вам потребуется использовать pseudo-device
loop.Все остальные параметры более или менее опциональны. Обращайте
внимание на информацию о каждой опции, которая размещается рядом с
ней.#To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.В &os; 5.X и более поздних &man.device.hints.5; используются для
настройки параметров драйверов устройств. Путь по умолчанию, который
&man.loader.8; будет проверять при загрузке -
/boot/device.hints. Используя опцию
hints вы можете вкомпилировать эти параметры
статически в ваше ядро. В этом случае не требуется создавать файл
device.hints в каталоге
/boot.#makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbolsОбычный процесс сборки &os; не включает генерацию отладочной
информации при сборке ядра и удаляет большую часть вспомогательной
информации (symbols) после того как ядро слинковано для того, чтобы
сэкономить немного места. Если вы собираетесь проводить тестирование
ядер в ветви -CURRENT или разрабатывать собственные правки для ядра &os;,
возможно вам потребуется раскомментировать эту строку. Тем самым вы
включите использования опции , которая включает
генерацию отладочной информации &man.gcc.1;. Того же самого эффекта
можно добиться используя опцию &man.config.8; , в
случае, если вы используете традиционный способ сборки
ядра (обратитесь к за
дополнительной информацией).options SCHED_4BSD # 4BSD schedulerТрадиционный планировщик &os;. В зависимости от загруженности
системы, вы можете повысить производительность, используя
новый планировщик &os; ULE, который был специально разработан для
SMP, но отлично работает также и на однопроцессорных системах.
Если вы хотите попробовать этот планировщик, замените
SCHED_4BSD на SCHED_ULE в
файле конфигурации ядра.options INET # InterNETworkingПоддержка сетевых возможностей. Оставьте эту опцию включенной, даже
если вы не планируете подключаться к сети. Большинство программ требуют,
чтобы работал хотя бы интерфейс обратной связи (loopback) (т.е.
создание сетевых соединений внутри вашего ПК), так что эта опция в
принципе является обязательной.options INET6 # IPv6 communications protocolsВключает поддержку коммуникационных протоколов IPv6.options FFS # Berkeley Fast FilesystemВключает поддержку основной файловой системы. Не удаляйте эту опцию,
если вы планируете загружаться с жесткого диска.
+ options SOFTUPDATES # Enable FFS Soft Updates support
+
+ Этот параметр включает в ядре технологию Soft Updates, которая
+ повышает скорость записи на диски. Несмотря на то, что эта технология
+ включена в ядре, она должна быть включена для отдельных дисков.
+ Просмотрите вывод команды &man.mount.8; чтобы определить, включены ли
+ Soft Updates для дисков вашей системы. Если вы не увидите параметр
+ soft-updates, вам будет необходимо активировать его
+ при помощи команды &man.tunefs.8; (для существующих файловых систем) или
+ команды &man.newfs.8; (для новых файловых систем).
+
options UFS_ACL # Support for access control listsЭтот параметр, присутствующий только в &os; 5.X, включает в ядре
поддержку списков управления доступом (ACL). Основывается на
использовании расширенных атрибутов и UFS2, детальное
описание вы сможете найти в .
ACL включены по умолчанию и не должны выключаться в
случае, если они ранее использовались на файловой системе, так как это
удалит списки управления доступом и изменит то, как защищены файлы,
непредсказуемым образом.options UFS_DIRHASH # Improve performance on big directoriesЭта опция включает функциональность, которая повышает скорость
дисковых операций на больших каталогах в обмен на использование
дополнительной памяти. Для большого сервера или рабочей станции
рекомендуется оставить ее включенной, и выключить для системы, для
которой более приоритетна память, чем скорость доступа к дискам,
например для брандмауэра.
- options SOFTUPDATES # Enable FFS Soft Updates support
-
- Этот параметр включает в ядре технологию Soft Updates, которая
- повышает скорость записи на диски. Несмотря на то, что эта технология
- включена в ядре, она должна быть включена для отдельных дисков.
- Просмотрите вывод команды &man.mount.8; чтобы определить, включены ли
- Soft Updates для дисков вашей системы. Если вы не увидите параметр
- soft-updates, вам будет необходимо активировать его
- при помощи команды &man.tunefs.8; (для существующих файловых систем) или
- команды &man.newfs.8; (для новых файловых систем).
-
options MD_ROOT # MD is a potential root deviceЭтот параметр включает поддержку использования дисков
в памяти для корневой файловой системы.параметры ядраNFSпараметры ядраNFS_ROOToptions NFSCLIENT # Network Filesystem Client
options NFSSERVER # Network Filesystem Server
options NFS_ROOT # NFS usable as /, requires NFSCLIENTСетевая файловая система. Если вы не планируете монтировать разделы
с файлового сервера &unix; через TCP/IP, вы можете исключить этот
параметр из конфигурационного файла ядра.параметры ядраMSDOSFSoptions MSDOSFS # MSDOS FilesystemФайловая система &ms-dos;. Если вы не собираетесь монтировать
форматированный в DOS раздел жесткого диска в момент загрузки, вы можете
безопасно закомментировать этот параметр. Необходимый модуль будет
автоматически загружен, когда вы в первый раз смонтируете раздел DOS, так,
как это описано ниже. Кроме того, замечательный пакет
emulators/mtools позволяет получить
доступ к DOS дискетам без необходимости монтировать и размонтировать их
(и не требует наличия MSDOSFS).options CD9660 # ISO 9660 FilesystemФайловая система ISO 9660 для компакт-дисков. Если у вас нет привода
CDROM или вы будете лишь изредка монтировать компакт-диски с данными,
закомментируйте эту строку, так как необходимый модуль будет загружен
автоматически при первом монтировании компакт-диска с данными. Для
использования звуковых компакт-дисков эта файловая система не
потребуется.options PROCFS # Process filesystemФайловая система процессов. Это виртуальная файловая
система монтируемая в /proc, которая позволяет таким
приложениям, как &man.ps.1; выдавать вам больше информации о запущенных
процессах. В &os; 5.X и выше, использование PROCFS не
требуется, так как большинство мониторинговых и отладочных инструментов
было адаптировано для работы без PROCFS: в отличие
от &os; 4.X, новые системы &os; 5.X по умолчанию не монтируют файловую
систему процессов. Более того,
ядра 6.X-CURRENT, которые используют PROCFS, должны
также включать поддержку PSEUDOFS:options PSEUDOFS # Pseudo-filesystem frameworkPSEUDOFS недоступна в &os; 4.X.options GEOM_GPT # GUID Partition Tables.Этот параметр делает возможным наличие большого количества
разделов на одном диске.options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]Совместимость с 4.3BSD. Не выключайте эту опцию; некоторые
приложения будут вести себя странно, если этой опции не будет в
ядре.options COMPAT_FREEBSD4 # Compatible with &os;4Эта опция требуется в &os; 5.X для платформ &i386; и Alpha для
поддержки приложений, собранных на более старых версиях &os;, которые
используют старые интерфейсы вызовов. Рекомендуется использовать данную
опцию на всех системах на платформах &i386; и Alpha, на которых могут
запускаться старые приложения; платформы, поддержка которых появилась
только в &os; 5.X, например ia64 и &sparc64;, не требуют этой
опции.options SCSI_DELAY=15000 # Delay (in ms) before probing SCSIЭтот параметр заставляет ядро приостановиться на 15 секунд перед тем,
как идентифицировать каждое устройство SCSI в вашей системе. Если у вас
установлены только жесткие диски IDE, вы можете игнорировать эту опцию, в
противном случае, возможно, вы захотите уменьшить это число, например до
5 секунд, для того, чтобы ускорить загрузку. Естественно, что если вы
сделаете это, а у &os; появятся проблемы с распознанием ваших устройств
SCSI, необходимо будет увеличить этот параметр.options KTRACE # ktrace(1) supportВключает поддержку трассировки процессов, что удобно при
отладке.options SYSVSHM # SYSV-style shared memoryЭтот параметр предоставляет поддержку разделяемой памяти System V.
Наиболее распространенное применение этого — расширение XSHM в X, которое
многие приложения, интенсивно работающие с графикой, будут автоматически
использовать для повышения скорости работы. Если вы используете X,
эта опция будет необходима.options SYSVMSG # SYSV-style message queuesПоддержка сообщений System V. Этот параметр
добавляет в ядро всего лишь несколько сотен байт.options SYSVSEM # SYSV-style semaphoresПоддержка семафоров System V. Не настолько часто используемая
возможность, но в ядро добавляет всего несколько сотен байт.Команда &man.ipcs.1; с параметром покажет
все процессы, которые используют любую из этих возможностей
System V.options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensionsРасширения реального времени, добавленные 1993 &posix;. Определенные
приложения из коллекции используют их, например
&staroffice;.options KBD_INSTALL_CDEV # install a CDEV entry in /devЭтот параметр относится к клавиатуре. Он добавляет CDEV
в /dev.options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~128k to driver.
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~215k to driver.Распечатка регистров для облегчения отладки.options ADAPTIVE_GIANT # Giant mutex is adaptive.Giant — имя механизма защиты (спящего
мьютекса) для крупных наборов ресурсов ядра. На нынешний момент
Giant представляется фактически непригодным для использования в связи
с серьезными потерями в производительности, и активно заменяется
на механизмы, защищающие отдельные ресурсы ядра. Параметр
ADAPTIVE_GIANT включает Giant в число адаптивных
мьютексов: в случае, когда нить ядра нуждается в Giant, а он уже
захвачен нитью, выполняющейся на другом процессоре, первая нить
будет продолжать выполнение и ждать освобождения Giant. В норме
нить должна была бы уснуть, пока не настанет очередной момент ее
выполнения. Если вы не уверены, оставьте этот параметр в покое.kernel optionsSMPdevice apic # I/O APICУстройство apic разрешает использование набора I/O APIC для
распределения прерываний. Оно может быть использовано как с
однопроцессорными, так и с многопроцессорными ядрами (для последних
наличие apic является обязательным). Для поддержки многопроцессорности
добавьте строку options SMP.device isaВсе компьютеры, поддерживаемые &os;, имеют хотя бы одно устройство ISA.
Не удаляйте эту строку, даже если в вашем компьютере нет слотов ISA.
Для архитектуры IBM PS/2 (Микроканальная Архитектура (MCA)), &os;
предоставляет ограниченную поддержку данной шины. За дальнейшей
информацией о поддержке MCA обратитесь к файлу
/usr/src/sys/i386/conf/NOTES.device eisaВключите эту опцию если у вас материнская плата EISA. Это включает
автоопределение и конфигурирование поддержки всех устройств на шине
EISA.device pciВключите этот параметр, если у вас материнская плата с поддержкой
PCI. Это включит автоопределение карт PCI и проксирование из шины PCI в
шину ISA.
- device agp
- Включите эту опцию, если у вас есть AGP карта в системе. Это включит
- поддержку AGP и AGP GART для тех карт, которые поддерживают эту
- возможность.# Floppy drives
device fdcКонтроллер флоппи-диска.# ATA and ATAPI devices
device ataЭтот драйвер поддерживает все устройства ATA и ATAPI. Вам необходима
только одна строка device ata в ядре для того, чтобы
обнаружить все PCI устройства ATA/ATAPI в современных машинах.device atadisk # ATA disk drivesЭта строка необходима вместе с device ata для
поддержки дисков ATA.device ataraid # ATA RAID drivesЭта строка необходима вместе с device ata
для поддержки дисков ATA RAID.
device atapicd # ATAPI CDROM drivesПоддержка приводов ATAPI CDROM. Используется вместе с
device ata.device atapifd # ATAPI floppy drivesПоддержка флоппи-приводов ATAPI. Используется вместе с
device ata.device atapist # ATAPI tape drivesПоддержка ленточных приводов ATAPI (стримеров). Используется вместе с
device ata.options ATA_STATIC_ID # Static device numberingЗаставляет драйвер нумеровать устройства статически;
в противном случае происходит динамическая нумерация.# SCSI Controllers
device ahb # EISA AHA1742 family
device ahc # AHA2940 and onboard AIC7xxx devices
device ahd # AHA39320/29320 and onboard AIC79xx devices
device amd # AMD 53C974 (Teckram DC-390(T))
device isp # Qlogic family
device mpt # LSI-Logic MPT-Fusion
#device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (newer chipsets)
device trm # Tekram DC395U/UW/F DC315U adapters
device adv # Advansys SCSI adapters
device adw # Advansys wide SCSI adapters
device aha # Adaptec 154x SCSI adapters
device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
device bt # Buslogic/Mylex MultiMaster SCSI adapters
device ncv # NCR 53C500
device nsp # Workbit Ninja SCSI-3
device stg # TMC 18C30/18C50Контроллеры SCSI. Закомментируйте те, которых у вас в системе нет.
Если у вас в системе исключительно IDE устройства, вы можете удалить все
эти строки.# SCSI peripherals
device scbus # SCSI bus (required for SCSI)
device ch # SCSI media changers
device da # Direct Access (disks)
device sa # Sequential Access (tape etc)
device cd # CD
device pass # Passthrough device (direct SCSI access)
device ses # SCSI Environmental Services (and SAF-TE)Периферийные устройства SCSI. Опять-таки, закомментируйте те,
которых у вас в системе нет, или, если у вас в наличии исключительно IDE,
можете удалить все.USB &man.umass.4; драйвер (и некоторые другие драйверы) используют
подсистему SCSI, хотя и не являются настоящими SCSI устройствами.
Следовательно, вам необходимо сохранить поддержку SCSI, если
какой-либо из этих драйверов включен в конфигурацию ядра.# RAID controllers interfaced to the SCSI subsystem
device amr # AMI MegaRAID
+device arcmsr # Areca SATA II RAID
device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
device ciss # Compaq Smart RAID 5*
device dpt # DPT Smartcache III, IV - See NOTES for options
device hptmv # Highpoint RocketRAID 182x
device iir # Intel Integrated RAID
device ips # IBM (Adaptec) ServeRAID
device mly # Mylex AcceleRAID/eXtremeRAID
device twa # 3ware 9000 series PATA/SATA RAID
# RAID controllers
device aac # Adaptec FSA RAID
device aacp # SCSI passthrough for aac (requires CAM)
device ida # Compaq Smart RAID
device mlx # Mylex DAC960 family
device pst # Promise Supertrak SX6000
device twe # 3ware ATA RAIDПоддерживаемые RAID-контроллеры. Если у вас нет таковых, можете их
закомментировать или удалить эти строки.# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controllerКонтроллер клавиатуры (atkbdc) предоставляет
средства ввода/вывода для клавиатуры AT и PS/2 устройств. Этот
контроллер необходим драйверу клавиатуры (atkbd) и
PS/2 устройств (psm).device atkbd # AT keyboardДрайвер atkbd вместе с контроллером
atkbdc предоставляет доступ к клавиатуре AT 84 или
улучшенной клавиатуре AT, которая подключена к контроллеру AT
клавиатуры.device psm # PS/2 mouseИспользуйте это устройство, если ваша мышь включается в порт
PS/2.device vga # VGA video card driverДрайвер видеокарты.# splash screen/screen saver
device splash # Splash screen and screen saver supportЗаставка при загрузке. Хранители экрана также требуют этого
устройства. В &os; 4.X используйте строку
pseudo-device splash.# syscons is the default console driver, resembling an SCO console
device scsc — это драйвер консоли по умолчанию, который
имитирует консоль SCO. Так как большая часть консольных полноэкранных
приложений обращаются к консоли через терминальную библиотеку
termcap, вас не должно волновать, будете ли вы
использовать этот драйвер, либо драйвер vt, который
является VT220-совместимым драйвером консоли. Если у
вас возникнут какие-либо проблемы с приложениями, работающими с этим
драйвером консоли, установите переменную окружения TERM в
значение scoansi.# Enable this for the pcvt (VT220 compatible) console driver
#device vt
#options XSERVER # support for X server on a vt console
#options FAT_CURSOR # start with block cursorVT220-совместимый драйвер консоли, обратно совместимый с VT100/102.
Он работает лучше на некоторых лэптопах, у которых возникают проблемы
несовместимости с sc. Также, установите переменную
окружения TERM в значение vt100 или
vt220. Этот драйвер также может быть полезен в
случаях подключения к большому количеству различных машин через сеть, на
которых параметры для устройства sc для
termcap или terminfo могут
отсутствовать — vt100 присутствует практически
на любой платформе.
+ device agp
+
+ Включите эту опцию, если у вас есть AGP карта в системе. Это включит
+ поддержку AGP и AGP GART для тех карт, которые поддерживают эту
+ возможность.
+
APM# Power management support (see NOTES for more options)
#device apmПоддержка Advanced Power Management. Чаще всего используется в
лэптопах, хотя в ядре GENERIC &os; 5.X
и выше отключена по умолчанию.# Add suspend/resume support for the i8254.
device pmtimerУстройство таймера для управления энергопотреблением, APM и
ACPI.# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device cbb # cardbus (yenta) bridge
device pccard # PC Card (16-bit) bus
device cardbus # CardBus (32-bit) busПоддержка PCMCIA. Включите ее, если вы используете лэптоп.# Serial (COM) ports
device sio # 8250, 16[45]50 based serial portsЧетыре последовательных порта, которые известны как
COM порты
в мире &ms-dos;/&windows;Если у вас есть внутренний модем на COM4 и последовательный порт
COM2, вам понадобится поменять IRQ модема на 2 (по непонятным
техническим причинам IRQ2 = IRQ9) для того, чтобы получить к нему
доступ из &os;. Если у вас есть многопортовая карта с
последовательными портами, ознакомьтесь с &man.sio.4; чтобы узнать
корректные значения для добавления в
/boot/device.hints. Некоторые видеокарты (в частности
те, что используют чипы S3) используют адреса ввода/вывода в форме
0x*2e8 и, так как многие дешевые последовательные
карты не полностью раскодируют шестнадцатибитное пространство адресов
ввода/вывода, они конфликтуют с этими картами, в итоге COM4 оказывается
практически недоступным.Каждый последовательный порт требует уникального IRQ (кроме тех
случаев, когда вы используете мультипортовую карту, которая
поддерживает совместное использование прерываний), поэтому значения
IRQ по умолчанию для COM3 и
COM4 не могут быть использованы.# Parallel port
device ppcИнтерфейс параллельного порта на шине ISA.device ppbus # Parallel port bus (required)Поддержка шины параллельного порта.device lpt # PrinterПоддержка принтеров на параллельном порту.Все три последних устройства необходимы для поддержка принтеров на
параллельном порту.device plip # TCP/IP over parallelДрайвер TCP/IP через параллельный порт.device ppi # Parallel port interface deviceПоддержка ввода/вывода общего назначения (geek port) +
IEEE1284 ввода/вывода.#device vpo # Requires scbus and dazip driveДрайвер привода Iomega Zip. Требует наличия scbus
и da. Наилучшая производительность достигается с
портами в режиме EPP 1.9.#device pucРаскомментируйте это устройство, если у вас есть
простая последовательная или параллельная
PCI карта, поддерживаемая драйвером &man.puc.4;.# PCI Ethernet NICs.
device de # DEC/Intel DC21x4x (Tulip)
device em # Intel PRO/1000 adapter Gigabit Ethernet Card
device ixgb # Intel PRO/10GbE Ethernet Card
device txp # 3Com 3cR990 (Typhoon)
device vx # 3Com 3c590, 3c595 (Vortex)Драйвера сетевых карт PCI. Закомментируйте или удалите драйвера тех
карт, которые отсутствуют в вашей системе.# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device miibus # MII bus supportПоддержка шины MII требуется для некоторых PCI 10/100 Ethernet карт,
которые используют MII-совместимые передатчики или реализуют
интерфейс управления передатчиком, который имитирует MII. Добавление
device miibus в конфигурационный файл ядра включает
поддержку стандартного API miibus и всех драйверов PHY, включая стандартный
для тех PHY, которые не обрабатываются специфическим образом конкретным
драйвером.
- device dc # DEC/Intel 21143 and various workalikes
-device miibus # MII bus support
-device bfe # Broadcom BCM440x 10/100 Ethernet
+ device bfe # Broadcom BCM440x 10/100 Ethernet
device bge # Broadcom BCM570xx Gigabit Ethernet
device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
+device lge # Level 1 LXT1001 gigabit ethernet
+device nge # NatSemi DP83820 gigabit ethernet
device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
device re # RealTek 8139C+/8169/8169S/8110S
device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (Starfire)
device sis # Silicon Integrated Systems SiS 900/SiS 7016
device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet
device ste # Sundance ST201 (D-Link DFE-550TX)
device ti # Alteon Networks Tigon I/II gigabit Ethernet
device tl # Texas Instruments ThunderLAN
device tx # SMC EtherPower II (83c170 EPIC)
+device vge # VIA VT612x gigabit ethernet
device vr # VIA Rhine, Rhine II
device wb # Winbond W89C840F
device xl # 3Com 3c90x (Boomerang, Cyclone)Драйвера, которые используют контроллер шины MII.# ISA Ethernet NICs. pccard NICs included.
device cs # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device ex # Intel EtherExpress Pro/10 and Pro/10+
device ep # Etherlink III based cards
device fe # Fujitsu MB8696x based cards
device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc.
device lnc # NE2100, NE32-VL Lance Ethernet cards
device sn # SMC's 9000 series of Ethernet chips
device xe # Xircom pccard Ethernet
# ISA devices that use the old ISA shims
#device leДрайвера сетевых карт ISA. Ознакомьтесь с файлом
/usr/src/sys/i386/conf/NOTES,
чтобы узнать, какие
сетевые карты каким драйвером поддерживаются.# Wireless NIC cards
device wlan # 802.11 support
device an # Aironet 4500/4800 802.11 wireless NICs.
device awi # BayStack 660 and others
device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device wl # Older non 802.11 Wavelan wireless NIC.Поддержка различных беспроводных карт.device mem # Memory and kernel memory devicesУстройства системной памяти.device io # I/O deviceЭтот параметр позволяет процессу получение привилегий
ввода/вывода. Он полезен для написания пользовательских
программ, работающих с оборудованием непосредственно. Необходим
для работы X Window system.device random # Entropy deviceГенератор случайных чисел для криптографической защиты.device ether # Ethernet supportether необходим лишь в случае, если у вас есть
сетевая карта. Он включает поддержку стандартного кода протокола
Ethernet. В &os; 4.X используйте строку pseudo-device
ether.device sl # Kernel SLIPsl — это поддержка SLIP. SLIP был практически
вытеснен PPP, который легче настраивается, лучше подходит для соединений
модем-модем и имеет больше возможностей.
В &os; 4.X используйте строку
pseudo-device sl.device ppp # Kernel PPPПоддержка PPP в ядре для соединений dial-up. Также существует версия
PPP, реализованного как приложение, использующее tun, и
предлагающее большую гибкость и большее количество возможностей, как,
например, соединение при необходимости (наличии обращения к сети).
В &os; 4.X используйте строку pseudo-device
ppp.device tun # Packet tunnel.Используется пользовательским программным обеспечением PPP.
Обратитесь к
разделу PPP этой книги за дальнейшей
информацией. В &os; 4.X используйте строку pseudo-device
tun.
device pty # Pseudo-ttys (telnet etc)псевдо-терминал или имитированный порт для входа.
Используется входящими telnet и
rlogin-сессиями, приложением
xterm и некоторыми другими приложениями,
такими как Emacs.В &os; 4.X
используйте строку pseudo-device pty
number.
Число после pty определяет
количество pty, которое необходимо создать. Если вам
необходимо более, чем стандартное (16) количество окон
xterm и/или удаленных входов, увеличьте это
число в соответствии с вашими потребностями, но не более чем до
256.device md # Memory disksПсевдоустройства дисков в памяти. В &os; 4.X используйте
строку pseudo-device mddevice gif # IPv6 and IPv4 tunnelingПоддержка туннелирования IPv6 через IPv4, IPv4 через IPv6, IPv4 через
IPv4 и IPv6 через IPv6. Начиная с &os; 4.4 устройство
gif является автоклонируемым и вы
должны использовать строку pseudo-device gif.
Более ранним версиям &os; 4.X требуется номер, например
pseudo-device gif 4.device faith # IPv6-to-IPv4 relaying (translation)Это псевдоустройство захватывает пакеты, которые были посланы ему и
перенаправляет их даемону трансляции IPv4/IPv6. В &os; 4.X
используйте строку pseudo-device faith 1# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
+# Note that 'bpf' is required for DHCP.
device bpf # Berkeley packet filterФильтр пакетов Berkeley. Это псевдоустройство позволяет переводить
сетевые интерфейсы в неразборчивый (promiscuous) режим, в
котором перехватывается любой пакет в широковещательной сети (например
ethernet). Эти пакеты могут быть сохранены на диск и/или исследованы при
помощи &man.tcpdump.1;. В &os; 4.X используйте строку
pseudo-device bpf.Устройство &man.bpf.4; также используется программой
&man.dhclient.8; для того, чтобы получить адрес шлюза по умолчанию и
т.п. Если вы используете DCHP, не удаляйте эту опцию.# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
+#device ehci # EHCI PCI->USB interface (USB 2.0)
device usb # USB Bus (required)
#device udbp # USB Double Bulk Pipe devices
device ugen # Generic
device uhid # Human Interface Devices
device ukbd # Keyboard
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
device urio # Diamond Rio 500 MP3 player
device uscanner # Scanners
# USB Ethernet, requires mii
device aue # ADMtek USB Ethernet
device axe # ASIX Electronics USB Ethernet
+device cdce # Generic USB over Ethernet
device cue # CATC USB Ethernet
device kue # Kawasaki LSI USB Ethernet
device rue # RealTek RTL8150 USB EthernetПоддержка различных USB устройств.# FireWire support
device firewire # FireWire bus code
device sbp # SCSI over FireWire (Requires scbus and da)
device fwe # Ethernet over FireWire (non-standard!)Поддержка различных устройств Firewire.За дальнейшей информацией о дополнительных устройствах,
поддерживаемых &os;, обратитесь к файлу
/usr/src/sys/i386/conf/NOTES.Конфигурации с большим количеством оперативной памяти
(PAE)
Расширения физического адресного пространства (Physical Address
Extensions (PAE))
Конфигурации с большим количеством оперативной памяти
Машины с большим количеством оперативной памяти, в которых требуется
более 4 гигабайт в пользовательском адресном пространстве и адресном
пространстве ядра (User+Kernel Virtual Address, KVA)
в обычном случае не смогут использовать более 4
гигабайт. Для решения этой проблемы Intel добавили поддержку 36-битной
адресации в &pentium; Pro и более поздних моделях процессоров.Расширение физического адресного пространства
(PAE) в процессорах &intel; &pentium; Pro и более
поздних позволяет использовать до 64 гигабайт оперативной памяти. &os;
имеет поддержку этой возможности посредством опции ядра
, доступной в &os; 4.9-RELEASE, &os; 5.1-RELEASE и
более поздних. В связи с ограничениями архитектуры Intel, не делается
никакого различия между памятью ниже или выше 4 гигабайт. Память,
размещенная выше 4 гигабайт, просто добавляется к доступной памяти.Для того, чтобы включить PAE в ядре, просто
добавьте приведенную строку в конфигурационный файл ядра:options PAEПоддержка PAE в &os; существует только для
процессоров &intel; IA-32. Также следует заметить, что
PAE в &os; не было полностью протестировано и должно
считаться находящимся в состоянии бета-тестирования по сравнению с
другими, стабильными возможностями &os;.Поддержка PAE в &os; имеет следующие
ограничения:Процесс не может получить доступ к более, чем 4 гигабайтам
пространства VM.KLD модули не могут быть загружены в ядро с
включенной поддержкой PAE из-за разницы в
окружении для сборки модулей и самого ядра.Драйверы устройств, которые не используют интерфейс
&man.bus.dma.9;, приведут к повреждению информации в ядре с включенным
PAE. Не рекомендуется использовать такие драйверы.
По этой причине в &os; 5.X включен конфигурационный файл ядра
PAE, из которого удалены все драйверы, о которых
известно, что они не работают при включенной поддержке
PAE.Некоторые системные переменные определяют использование ресурсов
памяти по количеству доступной физической памяти. Такие переменные
могут привести к ненужному чрезмерному выделению памяти из-за
особенностей работы системы PAE. Один из таких
примеров — переменная , которая
управляет максимальным количеством vnode, разрешенных в ядре.
Рекомендуется установить эту и подобные ей переменные вручную в
адекватные значения.Возможно, понадобится увеличить пространство виртуальных адресов
ядра (KVA) или уменьшить какую-либо переменную (см.
выше), значение которой было неоправданно велико и могло привести к
исчерпанию KVA. Для этого может быть использована
опция ядра .В случае сомнений относительно производительности и стабильности
рекомендуется обратиться к странице руководства &man.tuning.7;. Страница
руководства &man.pae.4; содержит свежую информацию о поддержке
PAE в &os;.Создание файлов устройствфайлы устройствMAKEDEVЕсли вы работаете с &os; 5.0 или старше, вы можете
пропустить этот раздел. Эти версии используют &man.devfs.5; для выделения
файлов устройств прозрачно для пользователя.Практически все устройства в ядре имеют соответствующий файл,
называемый node, в каталоге /dev. Они
выглядят как обычные файлы, но на самом деле это специальные
точки входа в ядро, которые необходимы приложениям для
доступа к устройствам. Скрипт
/dev/MAKEDEV, который выполняется при первой
установке операционной системы, создает практически все поддерживаемые
файлы устройств. Однако он не создаёт их все, таким
образом, когда вы добавляете поддержку нового устройства, следует
убедиться, что соответствующие файлы есть в /dev, и
если их там нет, создать их. Вот простой пример:Предположим, вы добавили поддержку привода IDE CD-ROM в ядро.
Строка, которую вы добавили:device acd0Это означает, что вам необходимо проверить наличие файлов, название
которых начинаются строкой acd0 в каталоге
/dev, за которой, возможно, следует буква, например
c, или предшествует r, что
означает, что это сырое (raw) устройство, которое
используется для прямого доступа к аппаратному устройству. Если
оказывается, что таких файлов в каталоге нет, вы должны перейти в
каталог /dev и набрать:MAKEDEV&prompt.root; sh MAKEDEV acd0Когда скрипт завершит работу, вы увидите, что файлы
acd0c и racd0c созданы,
соответственно скрипт отработал корректно.Для звуковых карт нижеследующая команда создает необходимые
файлы:&prompt.root; sh MAKEDEV snd0Если вы создаете файлы устройств для таких устройств, как звуковые
карты и если другие люди имеют доступ к вашей машине, было бы не лишним
защитить их от использования извне при помощи добавления их в файл
/etc/fbtab. За дальнейшей информацией обратитесь
к странице руководства &man.fbtab.5;.Следуйте этой простой процедуре для любых других устройств, которые
отсутствуют в ядре GENERIC и которые не имеют
соответствующих файлов в /dev.Все контроллеры SCSI используют одинаковый набор файлов в
/dev, поэтому вам не нужно создавать их. Кроме того,
сетевые карты и псевдоустройства SLIP и PPP не имеют вхождений в
/dev, поэтому и о них вы не должны
беспокоиться.Решение проблемСуществует пять категорий проблем, которые могут возникнуть при
сборке собственного ядра. Вот они:Не удаётся отработать команде config:Если команда &man.config.8; не может отработать, то, скорее всего,
вы допустили где-нибудь маленькую ошибку. К счастью, &man.config.8;
выведет номер проблемной строки, поэтому вы можете быстро найти
строку, содержащую ошибку. Например, если вы видите:config: line 17: syntax errorУбедитесь, что опция введена верно путём сравнения с файлом
GENERIC или другим источником.Не удаётся отработать команде make:Если не удаётся отработать команде make, обычно
это означает ошибку в описании конфигурации ядра, которая не достаточно
тривиальна для того, чтобы &man.config.8; мог обнаружить её.
Опять-таки, просмотрите файл конфигурации, и, если вы все еще не можете
решить проблему, напишите письмо в &a.questions;, включив в письмо файл
конфигурации ядра. Скорее всего проблема будет решена быстро.Не удаётся установить новое ядро:Если ядро собралось без проблем, но не удалось его установить
(команда make install или make
installkernel сообщила об ошибке), первое, что необходимо
проверить, не запущена ли ваша система с уровнем безопасности 1 или
выше (обратитесь к &man.init.8;). Процедура установки пробует снять
флаг неизменяемости с текущего ядра и установить этот флаг для нового
ядра. Так как на уровне безопасности 1 и выше запрещено снятие флага
неизменяемости для всех файлов в системе, установка должна
производиться на уровне безопасности 0 и ниже.Информация выше применима только к &os; 4.X и более ранним версиям.
&os; 5.X, как и более поздние версии, не устанавливает этот флаг
на ядро и ошибка при установке ядра возможно указывает на более
фундаментальную проблему.Ядро не загружается:Если ваше новое ядро не загружается или ему не удаётся обнаружить
ваши устройства — не паникуйте! К счастью, в &os; существует отличный
механизм для восстановления после установки несовместимого ядра.
Просто выберите ядро, которое хотите загрузить, в загрузчике &os;.
Доступ к нему вы можете получить, когда система делает обратный
отсчёт от
10 в меню загрузки. Нажмите любую клавишу, кроме Enter,
введите unload и наберите
boot /boot/kernel.old/kernel,
или используйте любое
другое ядро, которое загрузится без проблем. Во время
переконфигурирования ядра всегда полезно оставлять копию ядра, о
котором известно, что оно рабочее.После загрузки с рабочим ядром вы можете проверить ваш файл
конфигурации и попробовать собрать ядро опять. Очень полезным в данном
случае окажется файл /var/log/messages, в котором,
среди других записей, имеются сообщения ядра от каждой успешной загрузки.
Также, команда &man.dmesg.8; выведет сообщения ядра от текущей
загрузки.Если у вас возникли проблемы со сборкой ядра, убедитесь, что вы
сохранили ядро GENERIC или другое рабочее ядро
под другим именем, чтобы оно не было удалено при следующей сборке. Вы
не можете использовать kernel.old, потому что
при установке нового ядра kernel.old
перезаписывается последним установленным ядром, которое может
оказаться нерабочим. Также, как можно скорее переместите рабочее
ядро в /boot/kernel,
так как некоторые команды, такие как &man.ps.1; будут работать
некорректно. Для этого просто переместите каталог, содержащий
работоспособное ядро:&prompt.root; mv /boot/kernel /boot/kernel.bad
&prompt.root; mv /boot/kernel.good /boot/kernelВ версиях &os; до 5.X, для восстановления работоспособного
ядра используйте команду:&prompt.root; chflags noschg /kernelЕсли вы обнаружите, что не можете этого сделать, скорее всего вы
работаете на уровне безопасности (&man.securelevel.8;) большем нуля.
Отредактируйте переменную kern_securelevel в файле
/etc/rc.conf, установите её в
-1 и перезагрузитесь. Вы можете установить её в
предыдущее состояние, когда будете довольны своим новым
ядром.И, если вы захотите закрыть ваше новое ядро или
любой другой файл, таким образом, что он не сможет быть перемещен или
изменен, используйте следующую команду:&prompt.root; chflags schg /kernelЯдро работает, но &man.ps.1; больше не работает:Если вы установили версию ядра отличную от той, с которой были
собраны ваши системные утилиты, например, ядро от 5.X на системе 4.X,
большая часть системных команд, таких как &man.ps.1; и &man.vmstat.8;
не будут больше работать. Вам потребуется перекомпилировать и установить систему
той же версии исходных текстов, что и ядро. Это одна из причин,
по которой не следует использовать версию ядра, отличную от версии всей
остальной системы.
diff --git a/ru_RU.KOI8-R/books/handbook/preface/preface.sgml b/ru_RU.KOI8-R/books/handbook/preface/preface.sgml
index d6ddaf64f5..e607d9986b 100644
--- a/ru_RU.KOI8-R/books/handbook/preface/preface.sgml
+++ b/ru_RU.KOI8-R/books/handbook/preface/preface.sgml
@@ -1,667 +1,676 @@
ПредисловиеЦелевая
аудиторияЛюди, которые используют FreeBSD с недавнего времени, найдут, что
первая часть этой книги проводит читателя через процесс установки FreeBSD и кратко
освещает идеи и традиции, на которых базируется &unix;. Работа с этой частью
требует несколько большего, чем просто желание исследовать –
необходима возможность принимать к сведению новые идеи.Вторая, много большая часть Руководства, является всеобъемлющим
справочником о всех темах, которые могут интересовать администраторов
FreeBSD. Некоторые из глав этой части могут рекомендовать вам
предварительное чтение других документов, о чём упоминается в
кратком обзоре в начале каждой главы.Список рекомендуемой дополнительной литературы вы можете найти в
.Изменения по
сравнению со второй редакциейТретья редакция является кульминацией более чем двух лет работы
отдельных членов проекта документации FreeBSD. Вот основные
изменения в новой редакции:, Настройка и оптимизация,
была расширена новой информацией о ACPI управлении питанием
и ресурсами, системной утилите cron и дополнительных
параметрах оптимизации ядра., Безопасность, была расширена
новой информацией о виртуальных частных сетях (VPN),
списках контроля доступа файловой системы (ACL), и сообщениях
безопасности., Принудительный контроль доступа (MAC),
новая глава этой редакции. Она описывает, что такое
MAC и как этот механизм может быть использован для защиты
системы FreeBSD., Устройства хранения, была расширена
новой информацией о устройствах хранения USB, образах файловой
системы, квотах файловой системы, файловых системах в файлах
и в сети, зашифрованных дисковых разделах., Менеджер дискового пространства
Vinum, новая глава этой редакции.
В ней описано как использовать Vinum, менеджер логических
томов, который предоставляет независимые от устройств логические
диски и программные уровни RAID-0, RAID-1 и RAID-5.К , PPP и SLIP, был добавлен
раздел о решении проблем., Электронная почта, была
расширена новой информацией об использовании альтернативных
транспортных агентов, SMTP аутентификации, UUCP, fetchmail,
procmail, и другими разделами повышенной сложности., Сетевые серверы,
появилась в этой редакции. Эта главы включает
информацию о установке Apache HTTP Server, FTPd,
и настройке Samba сервера для клиентов Microsoft Windows.
Некоторые разделы были перемещены сюда из , Сложные вопросы работы в
сети., Сложные вопросы
работы в сети, была расширена новой информацией об использовании
устройств Bluetooth в FreeBSD, настройке беспроводных сетей,
и сетях Asynchronous Transfer Mode (ATM).Был добавлен глоссарий, объединяющий информацию о
технических терминах, используемых в книге.Множество эстетических улучшений были внесены в
таблицы и иллюстрации этой книги.Изменения во второй
редакцииВторая редакция является кульминацией более чем двухлетней
работы членов Проекта документации FreeBSD. Нижеследующий список
перечисляет все значительные изменения, внесенные в эту
редакцию:Был добавлен полный указатель тем.Все ASCII-иллюстрации были заменены на графические.Был добавлен стандартный краткий обзор к каждому разделу для
того, чтобы читатель мог получить представление о содержании
раздела и о том, что необходимо знать для его изучения.Содержимое было логически реорганизовано на три части: В
Начале, Системное администрирование и
Приложения. (Установка
FreeBSD) была полностью переписана, добавлено большое
количество снимков экрана, чтобы облегчить понимание текста
для новых пользователей. (Основы &unix;) была
расширена и содержит дополнительную информацию о процессах, даемонах и
сигналах. (Установка
приложений: порты и пакеты) была расширена и содержит
дополнительную информации об управлении бинарными пакетами. (X Window System) была
полностью переписана и обращает больше внимания на современные
технологии для рабочего стола, такие, как
KDE и GNOME на
&xfree86; 4.X. (Процесс загрузки
FreeBSD) была расширена. (Устройства хранения)
была составлена из того, что раньше было двумя различными главами:
Диски и Резервное копирование. Мы
считаем, что данные темы будут проще и более полно описаны как одна
глава. Был добавлен раздел о программном и аппаратном RAID. (Последовательные
коммуникации) была полностью реорганизована и
обновлена для FreeBSD 4.X/5.X. (PPP и SLIP)
была существенно обновлена.Было добавлено множество новых разделов в (Сложные вопросы работы в
сети). (Электронная почта)
была расширена, теперь она включает больше информации о настройке
sendmail. (Работа с приложениями,
написанными для &linux;) была дополнена включением
информации об установке &oracle; и
&sap.r3;.Следующие новые темы были рассмотрены в этой, второй,
редакции:Настройка и оптимизация ().Мультимедиа ()Структура этой
книгиЭта книга разбита на пять частей. В первой части, В
начале, рассматривается установка и основные навыки
использования FreeBSD. Предполагается, что читатель освоит эти разделы
последовательно, возможно пропуская разделы, в которых обсуждаются уже
знакомые для него темы. Вторая часть, Общие
задачи, рассказывает о некоторых наиболее часто
используемых возможностях FreeBSD. Этот раздел и все последующие
могут быть прочитаны не по порядку. Каждая
глава начинается с краткого обзора, который описывает, о чём говорится в
ней и что читатель должен будет знать для прочтения этой главы. Это
сделано для того, чтобы случайно встретивший этот материал читатель мог найти разделы, которые
его интересуют. В третьей части, Системное
администрирование, рассмотрены вопросы администрирования.
В четвертой части, Сетевые коммуникации,
охвачены темы, связанные с серверами и сетью. Пятая часть содержит
приложения и справочную информацию., ВведениеЗнакомит пользователя с FreeBSD. Рассказывает об истории проекта
FreeBSD, его задачах и модели разработки., УстановкаПроводит пользователя через весь процесс установки.
Обсуждаются также некоторые
более сложные вопросы установки, такие как установка по
последовательной консоли., Основы &unix;Рассказывает об основных командах и функциональности операционной
системы FreeBSD. Если вы знакомы с &linux; или другой &unix;-подобной
операционной системой, возможно, вы пропустите эту
главу., Установка приложений: порты и пакетыРассказывает о процессе установки программного обеспечения
сторонних производителей с использованием Коллекции Портов
FreeBSD и стандартных бинарных пакетов., X Window SystemОписывает X Window System вообще и использование
- &xfree86; под управлением FreeBSD в
+ X11 под управлением FreeBSD в
частности. Также описывает популярные окружения рабочего стола,
такие как KDE и
GNOME., Приложения для настольного
компьютераПеречисляет некоторые популярные приложения для рабочей станции,
такие как веб-браузеры и офисные пакеты и описывает процесс их
установки на FreeBSD., МультимедиаПоказывает, как настроить поддержку воспроизведения звука и
видео на вашей системе. Также описывает некоторые примеры приложений
для воспроизведения звука и видео., Настройка ядра
FreeBSDОбъясняет, почему вам может понадобиться перенастроить ядро и
детально описывает процесс настройки, сборки и установки нового
ядра., ПечатьРассказывает об управлении принтерами в FreeBSD, включая
информацию об титульных страницах, учёте использования принтеров и
первоначальной настройке., Двоичная совместимость
с &linux;Описывает возможности &linux;-совместимости в FreeBSD. Также
предоставляет детальные инструкции по установке многих популярных
приложений для &linux;, таких как: &oracle;,
&sap.r3; и
&mathematica;., Настройка и оптимизацияОписывает всевозможные параметры настройки FreeBSD, которые может
использовать системный администратор для оптимальной настройки
системы. Также описывает различные конфигурационные файлы,
используемые в FreeBSD и расположение этих файлов на диске., Процесс загрузки &os;Рассказывает о процессе загрузки FreeBSD и объясняет, как
управлять этим процессом при помощи различных
настроек., Пользователи и основы управления
учётными записямиРассказывает о создании и управлении пользовательскими учётными
записями. Также обсуждает установку ограничений ресурсов для
пользователей и другие задачи управления пользователями., БезопасностьОписывает множество различных утилит, которые помогут вам
поддерживать FreeBSD в безопасном, надёжном состоянии, включая
- Kerberos, IPsec, OpenSSH и брандмауэры.
+ Kerberos, IPsec и OpenSSH.
, Принудительный контроль доступа (MAC)Описывает что такое принудительный контроль доступа
(Mandatory Access Control, MAC) и как этот механизм может
быть использован для защиты системы FreeBSD., Устройства храненияОписывает как управлять накопителями информации и файловыми
системами в FreeBSD, включая физические диски, массивы RAID,
оптические и ленточные носители, диски в оперативной памяти и сетевые
файловые системы., Менеджер дискового
пространства VinumРассказывает как использовать Vinum, менеджер логических
разделов, при помощи которого можно создавать и использовать
независимые от устройств хранения логические диски и программно
реализовывать RAID-0, RAID-1 и RAID-5., Локализация — I18N/L10N
использование и настройкаОписывает использование FreeBSD с языками, отличными от
английского. Рассказывает о локализации на уровне системы и
отдельных приложений., На переднем крае разработокОбъясняет различия между FreeBSD-STABLE, FreeBSD-CURRENT и
FreeBSD-RELEASE. Рассказывает, кому из пользователей будет полезно
отслеживать версию системы в разработке и вкратце описывает этот
процесс., Последовательные соединенияОбъясняет, как подключать терминалы и модемы к вашей
системе FreeBSD, как в
серверном, так и в клиентском режиме., PPP и SLIPОписывает использование PPP, SLIP или PPP через Ethernet для
соединения с удалёнными системами при помощи FreeBSD., Электронная почтаОписывает использование различных компонентов почтового сервера и
более углублённо рассматривает простые вопросы конфигурации для
наиболее популярного программного обеспечения почтовых
серверов: sendmail., Сетевые серверыПредоставляет детальные инструкции и примеры файлов настройки
для использования компьютера с FreeBSD в качестве файлового
сервера (NFS), сервера доменных имен (DNS), сервера сетевой
информационной системы (⋼), или сервера точного
времени (ntpd).
+
+ , Брандмауэры
+
+ Описывает принципы, на которых основаны программные
+ брандмауэры, и содержит детали конфигурирования различных
+ брандмауэров, доступных в FreeBSD.
+
+
+
, Сложные вопросы работы в сетиРассматривает множество вопросов работы с сетью, включая
совместный доступ компьютеров вашей локальной сети к интернет,
расширенные вопросы маршрутизации, беспроводные соединения,
bluetooth, ATM, IPv6 и многое другое., Получение FreeBSD Перечисляет различные источники, из которых можно получить
FreeBSD на CDROM или DVD, равно как и различные сайты в интернет, с
которых можно скачать и установить FreeBSD., Библиография Эта книга касается многих различных тем, которые могут
сподвигнуть вас на более детальное изучение. Библиография
перечисляет множество отличных книг, упоминаемых в
тексте., Ресурсы в интернетОписывает множество форумов, доступных для пользователей FreeBSD,
где можно задать вопросы и поучаствовать в технических
обсуждениях FreeBSD., Ключи PGPСодержит ключи PGP некоторых разработчиков FreeBSD.Договоренности, используемые в
этой книгеДля того чтобы обеспечить целостность и простоту чтения текста в
данной книге, мы применяем некоторые договорённости.Типографические
договорённостиНаклонный шрифтНаклонный шрифт используется для имен
файлов, адресов в интернет (URL), выделенного текста и первого
применения технических терминов.
- Моноширинный шрифт
+ Моноширинный шрифт
- Моноширинных шрифт используется для сообщений
+ Моноширинных шрифт используется для сообщений
об ошибках, команд, имен пользователей, названий групп, названий
устройств, переменных и фрагментов кода.Полужирный шрифтПолужирный шрифт используется для
обозначения приложений, команд и параметров.Пользовательский вводКлавиши представляются в виде полужирного текста для
того, чтобы выделяться среди остального текста. Комбинации клавиш, которые
должны вводиться одновременно, разделяются символом `+',
например:CtrlAltDelЭто будет означать, что пользователь должен нажать клавиши
Ctrl, Alt и Del
одновременно.Комбинации клавиш, которые должны вводиться последовательно,
разделяются запятыми, например:CtrlX,
CtrlSЭто будет означать, что пользователь должен нажать
Ctrl и X одновременно, после чего
одновременно нажать Ctrl и S.ПримерыПримеры, которые начинаются с E:\>
обозначают команды &ms-dos;. Если не указано обратного, эти команды могут
вводиться из окна Сеанс &ms-dos; в современных системах
µsoft.windows;.E:\>tools\fdimage floppies\kern.flp A:Примеры, которые начинаются с &prompt.root; обозначают команды, которые
должны быть запущены с правами суперпользователя в FreeBSD. Вы можете
войти в систему как пользователь root для того, чтобы
ввести эти команды или войти в систему обычным пользователем и использовать
&man.su.1; для того, чтобы получить привилегии суперпользователя.&prompt.root; dd if=kern.flp of=/dev/fd0Примеры, начинающиеся с &prompt.user;, указывают, что команда должна
быть исполнена с правами обычного пользователя. Если не указано
обратного, используется синтаксис C-shell для установки переменных
окружения и других команд.&prompt.user; topБлагодарностиКнига, которую вы держите в руках являет собой результат труда многих
сотен людей по всему миру. Не имеет значения, присылали ли они исправления
опечаток или предоставляли целые главы, их труд был полезен.Несколько компаний поддерживали разработку этого документа, оплачивая
авторам их труд, оплачивая публикацию и т.д. В частности, BSDi (в
последствии приобретённая компанией Wind River Systems) оплачивала труд
по улучшению этой книги участникам Проекта Документации FreeBSD, что в
итоге сделало возможным выпуск первой печатной версии в марте 2000 года
(ISBN 1-57176-241-8). Впоследствии компания Wind River Systems оплатила
работу нескольких авторов по улучшению генерации книги в удобном для печати
виде и добавлению нескольких глав. Кульминация этой работы являла собой
публикацию второй печатной версии в ноябре 2001 года (ISBN
1-57176-303-1). В 2003-2004 годах FreeBSD Mall, Inc заплатила
нескольким контрибьюторам за улучшение Handbook при подготовке к третьей
редакции.