diff options
Diffstat (limited to 'ru_RU.KOI8-R/books/handbook/boot/chapter.xml')
-rw-r--r-- | ru_RU.KOI8-R/books/handbook/boot/chapter.xml | 1039 |
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; 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> — номером основного + раздела. Если вы используете диски <acronym>SCSI</acronym>, + замените <replaceable>/dev/hd</replaceable> на + <replaceable>/dev/sd</replaceable>. Строка + <option>loader=/boot/chain.b</option> может быть опущена, если + обе операционные системы находятся на одном диске. Теперь + запустите <command>/sbin/lilo -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> +>> 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> + …</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;. Первое — это + окружение командной строки текстовой виртуальной консоли. + По завершении загрузки системы вам предоставляется консольное + приглашение ввода логина. Второе окружение — это + графическое окружение рабочего стола 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>В текстовом окружении экранная заставка скрывает все подробности + процесса загрузки и сообщения стартовых скриптов до момента выдачи + приглашения ввода логина. Если используется экранная заставка + перед входом в графическое окружение, то пользователи получают + визуально более чистый старт системы, чем-то напоминающий опыт + работы с µsoft; &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> |