aboutsummaryrefslogtreecommitdiff
path: root/ru_RU.KOI8-R/books/handbook/boot/chapter.xml
diff options
context:
space:
mode:
Diffstat (limited to 'ru_RU.KOI8-R/books/handbook/boot/chapter.xml')
-rw-r--r--ru_RU.KOI8-R/books/handbook/boot/chapter.xml1039
1 files changed, 1039 insertions, 0 deletions
diff --git a/ru_RU.KOI8-R/books/handbook/boot/chapter.xml b/ru_RU.KOI8-R/books/handbook/boot/chapter.xml
new file mode 100644
index 0000000000..2f0d46912b
--- /dev/null
+++ b/ru_RU.KOI8-R/books/handbook/boot/chapter.xml
@@ -0,0 +1,1039 @@
+<?xml version="1.0" encoding="koi8-r" standalone="no"?>
+<!--
+ The FreeBSD Russian Documentation Project
+
+ $FreeBSD$
+ $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/boot/chapter.xml,v 1.31 2006/12/28 11:40:46 marck Exp $
+
+ Original revision: r36653
+-->
+
+<chapter id="boot">
+ <chapterinfo>
+ <authorgroup>
+ <author>
+ <firstname>Андрей</firstname>
+ <surname>Захватов</surname>
+ <contrib>Перевод на русский язык: </contrib>
+ </author>
+ </authorgroup>
+ </chapterinfo>
+ <title>Процесс загрузки FreeBSD</title>
+
+ <sect1 id="boot-synopsis">
+ <title>Описание</title>
+
+ <indexterm><primary>загрузка</primary></indexterm>
+
+ <indexterm><primary>начальная загрузка</primary></indexterm>
+
+ <para>Процесс включения компьютера и загрузки операционной системы
+ называется <quote>процессом первоначальной загрузки</quote>, или просто
+ <quote>загрузкой</quote>. Процесс загрузки FreeBSD предоставляет большие
+ возможности по гибкой настройке того, что происходит при запуске системы,
+ позволяя вам выбирать из различных операционных систем, установленных на
+ одном и том же компьютере, или даже из различных версий той же самой
+ операционной системы или установленного ядра.</para>
+
+ <para>Эта глава подробно описывает параметры, которые вы можете изменить
+ для настройки процесса загрузки FreeBSD. Под этим подразумевается все,
+ что происходит до начала работы ядра FreeBSD, обнаружения устройств и
+ запуска &man.init.8;. Если вы не совсем уверены, то это происходит,
+ когда выводимый текст меняет цвет с ярко-белого на серый.</para>
+
+ <para>После чтения этой главы вы будете знать:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Из каких частей состоит система начальной загрузки FreeBSD, и
+ как эти части взаимодействуют.</para>
+ </listitem>
+
+ <listitem>
+ <para>Параметры, которые вы можете передать компонентам начальной
+ загрузки FreeBSD для управления этим процессом.</para>
+ </listitem>
+
+ <listitem>
+ <para>Основы работы &man.device.hints.5;</para>
+ </listitem>
+ </itemizedlist>
+
+ <note>
+ <title>Только для x86</title>
+
+ <para>Эта глава описывает процесс загрузки FreeBSD только для систем
+ на основе архитектуры Intel x86.</para>
+ </note>
+ </sect1>
+
+ <sect1 id="boot-introduction">
+ <title>Проблема загрузки</title>
+
+ <para>Включение компьютера и запуск операционной системы приводят к
+ интересной дилемме. По определению до запуска операционной системы
+ компьютер не умеет ничего. В том числе и не знает, как запускать программы
+ с диска. Так что компьютер не может запустить программу с диска без
+ операционной системы, но программы операционной системы находятся на
+ диске, но как запустить операционную систему?</para>
+
+ <para>Эта проблема имеет параллели с одной проблемой из книги
+ <citetitle>Приключения барона Мюнхгаузена</citetitle>. Герой провалился в
+ болото, и вытащил сам себя, ухватив за волосы и потянув. В эпоху начала
+ компьютеризации термин <firstterm>начальная загрузка</firstterm>
+ применялся к механизму, используемому для загрузки операционной системы,
+ и затем был сокращен до просто <quote>загрузки</quote>.</para>
+
+ <indexterm><primary>BIOS</primary></indexterm>
+
+ <indexterm><primary>Basic Input/Output System</primary><see>BIOS</see></indexterm>
+
+ <para>На оборудовании архитектуры x86 за загрузку операционной системы
+ отвечает BIOS (Basic Input/Output System). Для этого BIOS ищет на
+ жестком диске MBR (Master Boot Record), которая должна располагаться в
+ определенном месте на диске. BIOS может загрузить и запустить MBR, и
+ предполагается, что MBR может взять на себя остальную работу, связанную с
+ загрузкой операционной системы.</para>
+
+ <indexterm><primary>Master Boot Record (MBR)</primary></indexterm>
+
+ <indexterm><primary>Boot Loader</primary></indexterm>
+
+ <para>Выполняемую часть MBR обычно называют <emphasis>менеджером
+ загрузки (boot manager)</emphasis>, в особенности если она
+ взаимодействует с пользователем. В этом случае менеджер загрузки,
+ как правило, занимает большее пространство на первом
+ <emphasis>треке</emphasis> диска или внутри файловой системы ОС.
+ (Менеджер загрузки иногда называют <emphasis>загрузчиком (boot
+ loader)</emphasis>, но во &os; этот термин используется для
+ описания более поздней фазы загрузки). Среди популярных менеджеров
+ загрузки стоит отметить <application>boot0</application> (он же
+ <application>Boot Easy</application>, стандартный менеджер загрузки
+ &os;), <application>Grub</application>, <application>GAG</application>
+ и <application>LILO</application>. Из перечисленных менеджеров
+ загрузки в MBR помещается только
+ <application>boot0</application>.</para>
+
+ <para>Если на вашем диске установлена только одна операционная система, то
+ стандартной MBR будет достаточно. Такая MBR выполняет поиск на диске
+ первого загрузочного (активного) слайса, после чего запускает с этого слайса код
+ загрузки оставшейся части операционной системы. Утилита &man.fdisk.8;
+ по умолчанию устанавливает именно такую MBR, на основе файла
+ <filename>/boot/mbr</filename>.</para>
+
+ <para>Если на ваших дисках установлено несколько операционных систем, то
+ вы можете установить другой менеджер загрузки, который может выдать список различных
+ операционных систем и позволит вам выбрать одну из них для загрузки.
+ Два варианта менеджеров загрузки будут описаны чуть ниже.</para>
+
+ <para>Оставшаяся часть системы начальной загрузки FreeBSD разделяется на
+ три этапа. Первый этап запускается из MBR, и он знает достаточно для
+ перевода компьютера в особое состояние и загрузки второго этапа. Второй
+ этап может делать несколько больше до запуска третьего этапа. Третий
+ этап заканчивает работу по загрузке операционной системы. Работа
+ разделена на эти три этапа, потому что стандарты ПК ограничивают размеры
+ программ, которые могут быть запущены на первом и втором этапах.
+ Последовательное выполнение работ позволяет FreeBSD получить более гибкий
+ загрузчик.</para>
+
+ <indexterm><primary>ядро</primary></indexterm>
+ <indexterm><primary><command>init</command></primary></indexterm>
+
+ <para>Затем стартует ядро, которое начинает опознавать устройства и
+ выполняет их инициализацию. После завершения процесса своей загрузки,
+ ядро передает управление пользовательскому процессу с именем
+ &man.init.8;, который выполняет проверку дисков на возможность
+ использования. Затем &man.init.8; запускает пользовательский процесс
+ настройки ресурсов, который монтирует файловые системы, выполняет
+ настройку сетевых адаптеров для работы в сети и вообще осуществляет
+ запуск всех процессов, обычно выполняемых в системе FreeBSD при
+ загрузке.</para>
+ </sect1>
+
+ <sect1 id="boot-blocks">
+ <title>Менеджер загрузки и этапы загрузки</title>
+
+ <indexterm><primary>Boot Manager</primary></indexterm>
+
+ <sect2 id="boot-boot0">
+ <title>Менеджер загрузки</title>
+ <indexterm><primary>Master Boot Record (MBR)</primary></indexterm>
+
+ <para>Код MBR или менеджера загрузки время от времени называют
+ <emphasis>нулевой стадией</emphasis> процесса загрузки. В этом
+ разделе мы обсудим два из упомянутых ранее менеджеров загрузки:
+ <application>boot0</application> и
+ <application>LILO</application>.</para>
+
+ <para>MBR для FreeBSD находится в <filename>/boot/boot0</filename>. Это
+ <emphasis>копия</emphasis> MBR, так как настоящая MBR должна
+ располагаться в специальном месте диска, вне области FreeBSD.</para>
+
+ <para><filename>boot0</filename> очень прост, так как программа
+ в <abbrev>MBR</abbrev> может иметь размер, не превышающий 512
+ байт. Если вы установили MBR FreeBSD и несколько операционных
+ систем на ваш жесткий диск, то во время загрузки вы увидите нечто
+ похожее на следующее:</para>
+
+ <formalpara><title>Менеджер загрузки <application>boot0</application>:</title>
+ <para>MBR, устанавливаемый программой установки &os; или утилитой
+ &man.boot0cfg.8;, основан на <filename>/boot/boot0</filename>.
+ (<filename>boot0</filename> очень прост, так как программа
+ в <abbrev>MBR</abbrev> может иметь размер, не превышающий 446
+ байт, так как часть первого сектора диска занята таблицей слайсов
+ и сигнатурой <literal>0x55AA</literal>).
+ Если вы установили <application>boot0</application> и несколько операционных
+ систем на ваш жесткий диск, то во время загрузки вы увидите нечто
+ похожее на следующее:</para></formalpara>
+
+ <example id="boot-boot0-example">
+ <title>Образец экрана <filename>boot0</filename></title>
+
+ <screen>F1 DOS
+F2 FreeBSD
+F3 Linux
+F4 ??
+F5 Drive 1
+
+Default: F2</screen>
+ </example>
+
+ <para>Известно, что другие операционные системы, в частности,
+ &windows;&nbsp;95, записывают поверх существующей MBR свою собственную.
+ Если так случилось в вашем случае, или же вы хотите заменить
+ существующую MBR на MBR от FreeBSD, то воспользуйтесь следующей
+ командой:</para>
+
+ <screen>&prompt.root; <userinput>fdisk -B -b /boot/boot0 <replaceable>device</replaceable></userinput></screen>
+
+ <para>Здесь <replaceable>device</replaceable> является устройством, с
+ которого вы загружаетесь, таким, как <devicename>ad0</devicename> в
+ случае первого диска IDE, <devicename>ad2</devicename> в случае первого
+ диска IDE на втором контроллере IDE, <devicename>da0</devicename> для
+ первого диска SCSI и так далее. Если вы используете MBR
+ нестандартного вида, воспользуйтесь &man.boot0cfg.8;.</para>
+
+ <formalpara><title>Менеджер загрузки LILO:</title>
+
+ <para>Для того, чтобы этот менеджер загрузки мог загружать &os;,
+ загрузите Linux и добавьте к существующему файлу конфигурации
+ <filename>/etc/lilo.conf</filename> такие строки:</para></formalpara>
+
+ <programlisting>other=/dev/hdXY
+table=/dev/hdb
+loader=/boot/chain.b
+label=FreeBSD</programlisting>
+
+ <para>Укажите диск с основным разделом &os; в терминах Linux,
+ заменив <replaceable>X</replaceable> буквой диска, используемой в
+ Linux, а <replaceable>Y</replaceable> &mdash; номером основного
+ раздела. Если вы используете диски <acronym>SCSI</acronym>,
+ замените <replaceable>/dev/hd</replaceable> на
+ <replaceable>/dev/sd</replaceable>. Строка
+ <option>loader=/boot/chain.b</option> может быть опущена, если
+ обе операционные системы находятся на одном диске. Теперь
+ запустите <command>/sbin/lilo&nbsp;-v</command> для того, чтобы ваши
+ изменения были восприняты системой, что должно быть подтверждено
+ сообщениями на экране.</para>
+ </sect2>
+
+ <sect2 id="boot-boot1">
+ <title>Этап первый, <filename>/boot/boot1</filename>, и этап второй,
+ <filename>/boot/boot2</filename></title>
+
+ <para>Концептуально первый и второй этапы загрузки являются частями одной
+ и той же программы, в одной области диска. Из-за ограничений на
+ объем дискового пространства они были разделены на две, но вы всегда
+ должны устанавливать их вместе. Они копируются инсталлятором или
+ утилитой <application>bsdlabel</application> (см. ниже) из общего
+ файла <filename>/boot/boot</filename>.</para>
+
+ <para>Они располагаются вне файловых систем, на первом треке загрузочного слайса,
+ то есть там, где <link linkend="boot-boot0">boot0</link> или
+ любой другой менеджер загрузки ожидает найти
+ программу, которую следует запустить для продолжение процесса загрузки.
+ Количество используемых секторов легко может быть вычислено из
+ размера файла <filename>/boot/boot</filename>.</para>
+
+ <para><filename>boot1</filename> очень прост, так как он не может иметь
+ размер, превышающий 512 байт, и знает лишь о <firstterm>метке
+ диска</firstterm> FreeBSD, хранящей информацию о слайсе, для того,
+ чтобы найти и запустить <filename>boot2</filename>.</para>
+
+ <para><filename>boot2</filename> устроен несколько более сложно, и умеет
+ работать с файловой системой FreeBSD в объёме, достаточном для
+ нахождения в ней файлов, и может предоставлять простой интерфейс для
+ выбора и передачи управления ядру или загрузчику.</para>
+
+ <para>Так как <link linkend="boot-loader">загрузчик</link> устроен
+ гораздо более сложно, и дает удобный и простой способ настройки
+ процесса загрузки, <filename>boot2</filename> обычно запускает его,
+ однако раньше его задачей был запуск непосредственно самого
+ ядра.</para>
+
+ <example id="boot-boot2-example">
+ <title>Образец экрана <filename>boot2</filename></title>
+
+ <screen>
+&gt;&gt; FreeBSD/i386 BOOT
+Default: 0:ad(0,a)/boot/loader
+boot:
+ </screen>
+ </example>
+
+ <para>Если вам когда-либо понадобится заменить установленные
+ <filename>boot1</filename> и <filename>boot2</filename>, то используйте
+ утилиту &man.bsdlabel.8;:</para>
+
+ <screen>&prompt.root; <userinput>bsdlabel -B <replaceable>diskslice</replaceable></userinput></screen>
+
+ <para>Здесь <replaceable>diskslice</replaceable> являются диском и
+ слайсом, с которых вы загружаетесь, например,
+ <devicename>ad0s1</devicename> в случае первого слайса на первом диске
+ IDE.</para>
+
+ <warning>
+ <title>Режим Dangerously Dedicated</title>
+
+ <para>Если вы используете только имя диска, к примеру,
+ <devicename>ad0</devicename>, в команде &man.bsdlabel.8; вы
+ создадите диск в режиме эксклюзивного использования, без слайсов.
+ Это, скорее всего, вовсе не то, что вы хотите сделать, так что дважды
+ проверьте параметры команды &man.bsdlabel.8;, прежде, чем нажать
+ <keycap>Return</keycap>.</para>
+ </warning>
+ </sect2>
+
+ <sect2 id="boot-loader">
+ <title>Третий этап, <filename>/boot/loader</filename></title>
+
+ <indexterm><primary>загрузчик</primary></indexterm>
+ <para>Передача управления загрузчику является последним, третьим этапом в
+ процессе начальной загрузки, а сам загрузчик находится в файловой
+ системе, обычно как <filename>/boot/loader</filename>.</para>
+
+ <para>Загрузчик являет собой удобный в использовании инструмент для
+ настройки при помощи простого набора команд, управляемого более мощным
+ интерпретатором с более сложным набором команд.</para>
+
+ <sect3 id="boot-loader-flow">
+ <title>Процесс работы загрузчика</title>
+
+ <para>Во время инициализации загрузчик пытается произвести поиск
+ консоли, дисков и определить, с какого диска он был запущен.
+ Соответствующим образом он задаёт значения переменных и запускает
+ интерпретатор, которому могут передаваться пользовательские команды
+ как из скрипта, так и в интерактивном режиме.</para>
+
+ <indexterm><primary>загрузчик</primary></indexterm>
+ <indexterm><primary>конфигурация загрузчика</primary></indexterm>
+ <para>Затем загрузчик читает файл
+ <filename>/boot/loader.rc</filename>, который по умолчанию использует
+ файл <filename>/boot/defaults/loader.conf</filename>, устанавливающий
+ подходящие значения по умолчанию для переменных и читает файл
+ <filename>/boot/loader.conf</filename> для изменения в этих
+ переменных. Затем с этими переменными работает
+ <filename>loader.rc</filename>, загружающий выбранные модули и
+ ядро.</para>
+
+ <para>И наконец, по умолчанию загрузчик выдерживает 10-секундную паузу,
+ ожидая нажатия клавиши, и загружает ядро, если этого не произошло.
+ Если ожидание было прервано, пользователю выдается
+ приглашение, которое воспринимает простой набор команд, с помощью
+ которых пользователь может изменить значения переменных, выгрузить
+ все модули, загрузить модули и окончательно продолжить процесс
+ загрузки или перезагрузить машину.</para>
+ </sect3>
+
+ <sect3 id="boot-loader-commands">
+ <title>Встроенные команды загрузчика</title>
+
+ <para>Далее следуют наиболее часто используемые команды загрузчика.
+ Полное описание всех имеющихся команд можно найти на странице
+ справки о команде &man.loader.8;.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>autoboot <replaceable>секунды</replaceable></term>
+
+ <listitem>
+ <para>Продолжает загрузку ядра, если не будет прерван в течение
+ указанного в секундах промежутка времени. Он выводит счетчик,
+ и по умолчанию выдерживается интервал в 10 секунд.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>boot
+ <optional><replaceable>-параметры</replaceable></optional>
+ <optional><replaceable>имя ядра</replaceable></optional></term>
+
+ <listitem>
+ <para>Продолжить процесс загрузки указанного ядра, если оно было
+ указано, и с указанными параметрами, если они были
+ указаны. Загрузка и использование указанного ядра
+ возможны лишь после выгрузки текущего ядра, а выгрузка текущего
+ ядра производится командой <emphasis>unload</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>boot-conf</term>
+
+ <listitem>
+ <para>Повторно провести тот же самый процесс автоматической
+ настройки модулей на основе переменных, что был произведен при
+ загрузке. Это имеет смысл, если до этого вы выполнили команду
+ <command>unload</command>, изменили некоторые переменные,
+ например, наиболее часто меняемую <envar>kernel</envar>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>help
+ <optional><replaceable>тема</replaceable></optional></term>
+
+ <listitem>
+ <para>Вывод сообщений подсказки из файла
+ <filename>/boot/loader.help</filename>. Если в качестве темы
+ указано слово <literal>index</literal>, то выводится список
+ имеющихся тем.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>include <replaceable>имя файла</replaceable>
+ &hellip;</term>
+
+ <listitem>
+ <para>Выполнить файл с указанным именем. Файл считывается и
+ его содержимое интерпретируется строчка за строчкой. Ошибка
+ приводит к немедленному прекращению выполнения команды
+ include.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>load <optional><option>-t</option>
+ <replaceable>тип</replaceable></optional>
+ <replaceable>имя файла</replaceable></term>
+
+ <listitem>
+ <para>Загружает ядро, модуль ядра или файл указанного типа с
+ указанным именем. Все аргументы после имени файла передаются в
+ файл.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ls <optional><option>-l</option></optional>
+ <optional><replaceable>маршрут</replaceable></optional></term>
+
+ <listitem>
+ <para>Выводит список файлов по указанному маршруту или в корневом
+ каталоге, если маршрут не был указан. Если указан параметр
+ <option>-l</option>, будут выводиться и размеры файлов.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>lsdev <optional><option>-v</option></optional></term>
+
+ <listitem>
+ <para>Выводится список всех устройств, с которых могут быть
+ загружены модули. Если указан параметр <option>-v</option>,
+ выводится дополнительная информация.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>lsmod <optional><option>-v</option></optional></term>
+
+ <listitem>
+ <para>Выводит список загруженных модулей. Если указан параметр
+ <option>-v</option>, то выводится дополнительная
+ информация.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>more <replaceable>имя файла</replaceable></term>
+
+ <listitem>
+ <para>Вывод указанного файла с паузой при выводе каждой строки
+ <varname>LINES</varname>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>reboot</term>
+
+ <listitem>
+ <para>Выполнить немедленную перезагрузку машины.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>set <replaceable>переменная</replaceable></term>
+ <term>set
+ <replaceable>переменная</replaceable>=<replaceable>значение</replaceable></term>
+
+ <listitem>
+ <para>Задает значения переменных окружения загрузчика.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>unload</term>
+
+ <listitem>
+ <para>Удаление из памяти всех загруженных модулей.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect3>
+
+ <sect3 id="boot-loader-examples">
+ <title>Примеры использования загрузчика</title>
+
+ <para>Вот несколько примеров практического использования
+ загрузчика:</para>
+
+ <itemizedlist>
+ <indexterm><primary>однопользовательский режим</primary></indexterm>
+ <listitem>
+ <para>Чтобы просто загрузить ваше ядро обычным образом, но в
+ однопользовательском режиме:</para>
+
+ <screen><userinput>boot -s</userinput></screen>
+ </listitem>
+
+ <listitem>
+ <para>Для выгрузки обычных ядра и модулей, а потом просто загрузить
+ ваше старое (или другое) ядро:</para>
+ <indexterm>
+ <primary><filename>kernel.old</filename></primary>
+ </indexterm>
+
+ <screen><userinput>unload</userinput>
+<userinput>load <replaceable>kernel.old</replaceable></userinput></screen>
+
+ <para>Вы можете использовать <filename>kernel.GENERIC</filename>
+ для обозначения стандартного ядра, поставляемого на установочном
+ диске, или <filename>kernel.old</filename> для обращения к ранее
+ установленному ядру (после того, как, например, вы обновили или
+ отконфигурировали новое ядро).</para>
+
+ <note>
+ <para>Для загрузки ваших обычных модулей с другим ядром
+ используйте такие команды:</para>
+
+ <screen><userinput>unload</userinput>
+<userinput>set kernel="<replaceable>kernel.old</replaceable>"</userinput>
+<userinput>boot-conf</userinput></screen>
+ </note>
+ </listitem>
+
+ <listitem>
+ <para>Для загрузки скрипта конфигурации ядра (автоматизированный
+ скрипт, который выполняет то, что вы обычно делаете в
+ конфигураторе ядра во время загрузки):</para>
+
+ <screen><userinput>load -t userconfig_script <replaceable>/boot/kernel.conf</replaceable></userinput></screen>
+ </listitem>
+ </itemizedlist>
+ </sect3>
+
+ <sect3 id="boot-splash">
+ <sect3info>
+ <authorgroup>
+ <author>
+ <firstname>Joseph J.</firstname>
+ <surname>Barbish</surname>
+ <contrib>Предоставил </contrib>
+ </author>
+ </authorgroup>
+ </sect3info>
+
+ <title>Загрузочные экранные заставки</title>
+
+ <para>Заставка создает более привлекательный вид процесса
+ загрузки по сравнению с традиционными сообщениями загрузки.
+ Изображение заставки будет отображаться до тех пор, пока
+ не придет очередь приглашения ввода логина на консоли или в
+ менеджере дисплеев.</para>
+
+ <para>Есть два базовых окружения во &os;. Первое &mdash; это
+ окружение командной строки текстовой виртуальной консоли.
+ По завершении загрузки системы вам предоставляется консольное
+ приглашение ввода логина. Второе окружение &mdash; это
+ графическое окружение рабочего стола X11. После установки <link
+ linkend="x-install">X11</link> и одной из графических оболочек,
+ таких как <application>GNOME</application>,
+ <application>KDE</application> или <application>XFce</application>,
+ становится возможным запуск рабочего стола Х11 командой
+ <command>startx</command>.</para>
+
+ <para>Некоторые пользователи предпочитают графический интерфейс
+ входа традиционному текстовому приглашению ввода логина.
+ Менеджеры экранов, наподобие
+ <application>XDM</application> для &xorg;,
+ <application>gdm</application> для <application>GNOME</application>,
+ <application>kdm</application> для <application>KDE</application>
+ (а также другие, доступные из коллекции портов), изначально
+ предоставляют графический интерфейс входа. После успешного входа
+ в систему они запускают соответствующий оконный менеджер.</para>
+
+ <para>В текстовом окружении экранная заставка скрывает все подробности
+ процесса загрузки и сообщения стартовых скриптов до момента выдачи
+ приглашения ввода логина. Если используется экранная заставка
+ перед входом в графическое окружение, то пользователи получают
+ визуально более чистый старт системы, чем-то напоминающий опыт
+ работы с &microsoft; &windows; или с иной не unix-подобной
+ системой.</para>
+
+ <sect4 id="boot-splash-function">
+ <title>Экранная заставка в действии</title>
+
+ <para>В качестве заставки можно использовать лишь содержащие
+ 256 цветов изображения формата <acronym>BMP</acronym>
+ (<filename>.bmp</filename>) или изображения формата
+ <acronym>PCX</acronym> (<filename>.pcx</filename>) от ZSoft.
+ К тому же, для вывода на стандартный VGA адаптер, файл
+ изображения заставки должен иметь разрешение не более
+ 320 на 200 пикселей.</para>
+
+ <para>Чтобы можно было использовать изображения большего размера,
+ вплоть до максимального 1024 на 768, активируйте поддержку
+ <acronym>VESA</acronym>. Активация может быть осуществлена либо
+ подключением модуля <acronym>VESA</acronym> во время загрузки
+ системы, либо сборкой специализированного ядра с добавленной
+ опцией <literal>VESA</literal> (смотрите <xref
+ linkend="kernelconfig"/>). Поддержка режима <acronym>VESA</acronym>
+ дает пользователям возможность отображать заставку, перекрывающую
+ всю видимую область экрана.</para>
+
+ <para>Отображаемая во время загрузки заставка может
+ быть убрана нажатием любой клавиши на клавиатуре.</para>
+
+ <para>С настройками по умолчанию заставка также становится
+ хранителем экрана в консольном окружении. После некоторого
+ бездействия экран сменится заставкой, яркость которой
+ будет периодически изменяться от её максимального значения
+ к минимальному и обратно. Подобное поведение заставки может
+ быть переопределено добавлением строки <literal>saver=</literal>
+ в <filename>/etc/rc.conf</filename>. В качестве значения опции
+ <literal>saver=</literal> можно выбрать одно из встроенных
+ имен хранителей экранов, а с полным перечнем можно ознакомиться
+ на странице справочника &man.splash.4;. Хранитель экрана,
+ используемый по умолчанию, называется <quote>warp</quote>.
+ Заметьте, что установка опции <literal>saver=</literal> в
+ <filename>/etc/rc.conf</filename> воздействует исключительно
+ на текстовые виртуальные консоли. Она не влияет на менеджеры
+ экранов X11.</para>
+
+ <para>Несколько сообщений загрузчика, включая меню загрузки
+ и счетчик, отображаются во время загрузки, даже если экран-заставка
+ активирован.</para>
+
+ <para>Файлы-примеры с изображениями для заставок могут быть
+ скачаны из галереи по адресу <ulink url="http://artwork.freebsdgr.org/node/3/">http://artwork.freebsdgr.org</ulink>.
+ Установив порт <filename
+ role="package">sysutils/bsd-splash-changer</filename>, между
+ загрузками вы получите автоматическую смену случайно выбираемых
+ изображений заставок.</para>
+ </sect4>
+
+ <sect4 id="boot-splash-enable">
+ <title>Активация экранной заставки</title>
+
+ <para>Файл изображения для заставки (<filename>.bmp</filename>
+ или <filename>.pcx</filename>) следует разместить в корневой
+ файловой системе, например в каталоге <filename
+ class="directory">/boot</filename>.</para>
+
+ <para>Для работы заставки с разрешением, доступным при загрузке
+ (256 цветов и не более 320х200 точек), отредактируйте
+ <filename>/boot/loader.conf</filename>, добавив в него
+ следующие строки:</para>
+
+ <programlisting>splash_bmp_load="YES"
+bitmap_load="YES"
+bitmap_name="<replaceable>/boot/splash.bmp</replaceable>"</programlisting>
+
+ <para>Для получения больших разрешений видео режима (вплоть до
+ максимального 1024x768), внесите в
+ <filename>/boot/loader.conf</filename> следующие записи:</para>
+
+ <programlisting>vesa_load="YES"
+splash_bmp_load="YES"
+bitmap_load="YES"
+bitmap_name="<replaceable>/boot/splash.bmp</replaceable>"</programlisting>
+
+ <para>Вышеприведённый пример подразумевает, что файл
+ <filename><replaceable>/boot/splash.bmp</replaceable></filename>
+ содержит изображение заставки. Если же требуется выводить файл
+ формата <acronym>PCX</acronym>, то используйте следующие строки
+ (в зависимости от необходимого разрешения может также
+ потребоваться строка <literal>vesa_load="YES"</literal>):</para>
+
+ <programlisting>splash_pcx_load="YES"
+bitmap_load="YES"
+bitmap_name="<replaceable>/boot/splash.pcx</replaceable>"</programlisting>
+
+ <para>Возможное имя файла не ограничено одним лишь словом
+ <quote>splash</quote>. Оно может выбираться произвольно, например:
+ <filename><replaceable>splash_640x400</replaceable>.bmp</filename>
+ или <filename><replaceable>blue_wave</replaceable>.pcx</filename>.
+ Важен лишь тип файла: он должен быть либо <acronym>BMP</acronym>,
+ либо <acronym>PCX</acronym>.</para>
+
+ <para>Далее приведены еще две полезные опции
+ <filename>loader.conf</filename>:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><literal>beastie_disable="YES"</literal></term>
+
+ <listitem>
+ <para>Эта опция отключит меню загрузчика, но приглашение с
+ обратным отсчетом останется. Даже при не отображаемом меню
+ во время отсчета возможен выбор номера варианта
+ загрузки.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>loader_logo="beastie"</literal></term>
+
+ <listitem>
+ <para>Эта установка заменит слова <quote>&os;</quote>,
+ которые отображаются справа от меню загрузчика, цветным
+ логотипом демона, который занимал это место в предыдущих
+ релизах &os;.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>За более детальной информацией обратитесь к следующим
+ страницам справочника: &man.splash.4;, &man.loader.conf.5; и
+ &man.vga.4;.</para>
+ </sect4>
+ </sect3>
+ </sect2>
+ </sect1>
+
+ <sect1 id="boot-kernel">
+ <title>Взаимодействие с ядром во время загрузки</title>
+
+ <indexterm>
+ <primary>ядро</primary>
+ <secondary>взаимодействия во время загрузки</secondary>
+ </indexterm>
+ <para>Как только ядро окажется загруженным при помощи <link
+ linkend="boot-loader">загрузчика</link> (обычный способ) или <link
+ linkend="boot-boot1">boot2</link> (минуя загрузчик), оно проверяет
+ флаги загрузки, если они есть, и действует соответствующим
+ образом.</para>
+
+ <sect2 id="boot-kernel-bootflags">
+ <title>Флаги загрузки ядра</title>
+
+ <indexterm>
+ <primary>ядро</primary>
+ <secondary>флаги загрузки</secondary>
+ </indexterm>
+
+ <para>Вот наиболее часто используемые флаги загрузки:</para>
+
+ <variablelist id="boot-kernel-bootflags-list">
+ <varlistentry>
+ <term><option>-a</option></term>
+
+ <listitem>
+ <para>во время инициализации ядра запрашивать устройство для
+ его монтирования в качестве корневой файловой системы.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-C</option></term>
+
+ <listitem>
+ <para>загрузка с компакт-диска.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-c</option></term>
+
+ <listitem>
+ <para>запустить UserConfig для конфигурации ядра во время
+ загрузки</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-s</option></term>
+
+ <listitem>
+ <para>после загрузки перейти в однопользовательский режим</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-v</option></term>
+
+ <listitem>
+ <para>во время запуска ядра выводить более подробную
+ информацию</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <note>
+ <para>Есть и другие флаги загрузки, обратитесь к странице
+ справочника по &man.boot.8; для выяснения подробной информации по
+ ним.</para>
+ </note>
+ </sect2>
+
+<!-- <sect2 id="boot-kernel-userconfig">
+ <title>UserConfig: Конфигурация ядра во время загрузки</title>
+
+ <para> </para>
+ </sect2> -->
+ </sect1>
+
+ <sect1 id="device-hints">
+ <sect1info>
+ <authorgroup>
+ <author>
+ <firstname>Tom</firstname>
+
+ <surname>Rhodes</surname>
+
+ <contrib>Текст предоставил </contrib>
+ </author>
+ </authorgroup>
+ <!-- 18 октября 2002 -->
+ </sect1info>
+
+ <title>Хинты устройств</title>
+
+ <indexterm>
+ <primary>device.hints</primary>
+ </indexterm>
+
+ <para>Во время начального запуска системы загрузчик &man.loader.8;
+ производит чтение файла &man.device.hints.5;. В этом файле
+ хранится необходимая для загрузки ядра информация, задаваемая в виде
+ переменных, которую иногда называют хинтами для устройств (<quote>device
+ hints</quote>). Эти <quote>хинты устройств</quote> используются
+ драйверами устройств для их конфигурации.</para>
+
+ <para>Хинты для устройств могут быть также заданы в приглашении <link
+ linkend="boot-loader">начального загрузчика Стадии 3</link>. Переменные
+ могут быть добавлены при помощи команды <command>set</command>, удалены
+ посредством <command>unset</command> и просмотрены командой
+ <command>show</command>. В этот момент могут быть также переопределены
+ переменные, заданные в файле <filename>/boot/device.hints</filename>.
+ Хинты для устройств, введённые в начальном загрузчике, не сохраняются, и
+ при следующей перезагрузке будут утеряны.</para>
+
+ <para>После загрузки системы для выдачи значений всех переменных можно
+ воспользоваться командой &man.kenv.1;.</para>
+
+ <para>Синтаксически в файле <filename>/boot/device.hints</filename> в
+ каждой строке определяется по
+ одной переменной, в качестве метки начала комментария используется
+ стандартный символ <quote>#</quote>. Строки строятся следующим
+ образом:</para>
+
+ <screen><userinput>hint.driver.unit.keyword="<replaceable>value</replaceable>"</userinput></screen>
+
+ <para>Синтаксис для начального загрузчика Стадии 3 таков:</para>
+
+ <screen><userinput>set hint.driver.unit.keyword=<replaceable>value</replaceable></userinput></screen>
+
+ <para><literal>driver</literal> определяет имя драйвера устройства,
+ <literal>unit</literal> соответствует порядковому номеру модуля
+ устройства, а <literal>keyword</literal> является ключевым словом хинта.
+ В качестве ключевых слов могут применяться следующие опции:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><literal>at</literal>: задаёт шину, к которой подключено
+ устройство.</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>port</literal>: задаёт начальный адрес используемого
+ диапазона ввода/вывода (<acronym>I/O</acronym>).</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>irq</literal>: задаёт используемый номер запроса на
+ прерывание.</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>drq</literal>: задаёт номер канала DMA.</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>maddr</literal>: задаёт физический адрес памяти,
+ занимаемый устройством.</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>flags</literal>: устанавливает различные битовые флаги
+ для устройства.</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>disabled</literal>: если установлено в значение
+ <quote>1</quote>, то устройство не используется.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Драйверы устройств могут поддерживать (и даже требовать) другие
+ хинты, здесь не перечисленные, поэтому рекомендуется просматривать
+ справочные страницы по этим драйверам. Для получения дополнительной
+ информации обратитесь к страницам справки по
+ &man.device.hints.5;, &man.kenv.1;, &man.loader.conf.5; и
+ &man.loader.8;.</para>
+ </sect1>
+
+ <sect1 id="boot-init">
+ <title>Init: инициализация управления процессами</title>
+
+ <indexterm>
+ <primary><command>init</command></primary>
+ </indexterm>
+
+ <para>После того, как ядро завершит загрузку, оно передает управление
+ пользовательскому процессу &man.init.8;, который расположен
+ в файле <filename>/sbin/init</filename> или в файле, маршрут к которому
+ указан в переменной <envar>init_path</envar>
+ <command>загрузчика</command>.</para>
+
+ <sect2 id="boot-autoreboot">
+ <title>Процесс автоматической перезагрузки</title>
+
+ <para>Процесс автоматической перезагрузки проверяет целостность
+ имеющихся файловых систем. Если это не так, и утилита
+ &man.fsck.8; не может исправить положение, то
+ &man.init.8; переводит систему в <link
+ linkend="boot-singleuser">однопользовательский режим</link> для того,
+ чтобы системный администратор сам разобрался с возникающими
+ проблемами.</para>
+ </sect2>
+
+ <sect2 id="boot-singleuser">
+ <title>Однопользовательский режим</title>
+ <indexterm><primary>однопользовательский режим</primary></indexterm>
+ <indexterm><primary>консоль</primary></indexterm>
+
+ <para>В этот режим можно перейти во время <link
+ linkend="boot-autoreboot">процесса автоматической перезагрузки</link>,
+ при ручной загрузке с параметром <option>-s</option>
+ или заданием переменной <envar>boot_single</envar> для программы
+ <command>loader</command>.</para>
+
+ <para>Этот режим может быть также вызван запуском программы
+ &man.shutdown.8; без параметров перезагрузки
+ (<option>-r</option>) или останова (<option>-h</option>) из
+ <link linkend="boot-multiuser">многопользовательского
+ режима</link>.</para>
+
+ <para>Если режим доступа к системной консоли <literal>console</literal>
+ установлен в файле <filename>/etc/ttys</filename> в
+ <literal>insecure</literal>, то система выведет запрос на ввод пароля
+ пользователя <username>root</username> перед переходом в
+ однопользовательский режим.</para>
+
+ <example id="boot-insecure-console">
+ <title>Незащищённая консоль в <filename>/etc/ttys</filename></title>
+
+ <programlisting># name getty type status comments
+#
+# Если консоль помечена как "insecure", то init будет запрашивать пароль
+# пользователя root при переходе в однопользовательский режим.
+console none unknown off insecure</programlisting>
+ </example>
+
+ <note>
+ <para>Обозначение консоли как <literal>insecure</literal> означает,
+ что вы считаете физический доступ к консоли незащищённым, и хотите,
+ чтобы только тот, кто знает пароль пользователя
+ <username>root</username>, мог воспользоваться однопользовательским
+ режимом, но это не значит, что вы хотите работать с консолью
+ небезопасным способом. Таким образом, если вы хотите добиться
+ защищённости, указывайте <literal>insecure</literal>, а
+ не <literal>secure</literal>.</para>
+ </note>
+ </sect2>
+
+ <sect2 id="boot-multiuser">
+ <title>Многопользовательский режим</title>
+ <indexterm><primary>многопользовательский режим</primary></indexterm>
+
+ <para>Если &man.init.8; определит, что ваши файловые системы
+ находятся в полном порядке, или после того, как пользователь выйдет
+ из <link linkend="boot-singleuser">однопользовательского
+ режима</link>, система перейдет в многопользовательский режим, работа
+ в котором начинается с настройки ресурсов системы.</para>
+
+ <sect3 id="boot-rc">
+ <title>Настройка ресурсов (rc)</title>
+
+ <indexterm><primary>файлы rc</primary></indexterm>
+
+ <para>Система настройки ресурсов считывает настройки, применяемые по
+ умолчанию, из файла <filename>/etc/defaults/rc.conf</filename>, а
+ настройки, специфичные для конкретной системы, из
+ <filename>/etc/rc.conf</filename>, после чего осуществляется
+ монтирование файловых систем, перечисленных в файле
+ <filename>/etc/fstab</filename>, запуск сетевых служб, различных
+ системных даемонов и, наконец, выполнение скриптов запуска
+ дополнительно установленных пакетов.</para>
+
+ <para>Страница справочника по &man.rc.8; является хорошим источником
+ информации о системе настройки ресурсов, так же, как и
+ самостоятельное изучение скриптов.</para>
+ </sect3>
+ </sect2>
+ </sect1>
+
+ <sect1 id="boot-shutdown">
+ <title>Процесс остановки системы</title>
+ <indexterm>
+ <primary><command>shutdown</command></primary>
+ </indexterm>
+
+ <para>Во время контролируемого процесса остановки системы через утилиту
+ &man.shutdown.8; программа &man.init.8; будет
+ пытаться запустить скрипт <filename>/etc/rc.shutdown</filename>, после
+ чего будет посылать всем процессам сигнал <literal>TERM</literal>, а
+ затем и <literal>KILL</literal> тем процессам, которые ещё не завершили
+ свою работу.</para>
+
+ <para>Для выключения машины с FreeBSD на аппаратных платформах и системах,
+ которые поддерживают управление электропитанием, просто воспользуйтесь
+ командой <command>shutdown -p now</command> для немедленного отключения
+ электропитания. Чтобы просто перезагрузить систему FreeBSD,
+ воспользуйтесь командой <command>shutdown -r now</command>. Для запуска
+ команды &man.shutdown.8; вам необходимо быть пользователем
+ <username>root</username> или членом группы
+ <groupname>operator</groupname>. Кроме того, можно также
+ воспользоваться командами &man.halt.8; и &man.reboot.8;, пожалуйста,
+ обратитесь к соответствующим страницам справки и справочной странице по
+ команде &man.shutdown.8; для получения дополнительной информации.</para>
+
+ <note>
+ <para>Для управления электропитанием требуется наличие поддержки
+ &man.acpi.4; в ядре или в виде загруженного модуля.</para>
+ </note>
+ </sect1>
+</chapter>