Всем привет!
Готово, высказывайте пожелания, замечания.
----------------------------------------------

<?xml version='1.0' encoding='UTF-8'?>
<!-- REV: 1.25 -->
<!DOCTYPE sections SYSTEM "/dtd/book.dtd">

<!-- The content of this document is licensed under the CC-BY-SA license
-->
<!-- See http://creativecommons.org/licenses/by-sa/1.0 -->

<!--
$Header: 
/var/www/www.gentoo.org/raw_cvs/gentoo/xml/htdocs/doc/en/handbook/hb-install-x86-bootloader.xml,v
 1.25 2005/01/04 18:11:21 swift Exp $ -->

<sections>

<version>1.21</version>
<date>2004-12-23</date>

<section>
<title>Делаем выбор</title>
<subsection>
<title>Введение</title>
<body>

<p>
Теперь, когда ядро сконфигурировано и собрано, необходимые системные
файлы отредактированы 
должным образом, пришло время установить программу, которая будет
запускать ваше ядро при старте 
системы. Такого рода программа называется <e>загрузчик</e>. Для
архитектуры x86 Gentoo Linux предоставляет
загрузчики <uri link="#grub">GRUB</uri> и <uri link="#lilo">LILO</uri>.
Но прежде, чем приступить к установке одного из 
двух загрузчиков, мы расскажем как настроить framebuffer (естественно
если вы хотите). Используя
framebuffer вы сможете работать в консоли Linux, используя (ограниченно)
графику (например, 
симпатичная картинка при загрузке, как это сделано во время начала
установки Gentoo).
</p>

</body>
</subsection>
<subsection>
<title>Опционально: Framebuffer</title>
<body>

<p>
<e>Если</e> вы настроили в ядре поддержку framebuffer'а (или
использовали настройки 
по умолчанию в <c>genkernel</c>), вы должны будете добавить параметр
<c>vga</c>
в файл конфигурации вашего загрузчика, если желаете использовать
framebuffer.
В приведенной таблице вы можете найти доступные значения для <c>vga</c>.
В нашем примере мы использовали <e>800x600 @ 16bpp</e>, следовательно
значение из таблицы берем равным <e>788</e>.
</p>

<p>
Значения для <e>vga</e>:
</p>

<table>
<tr>

<ti></ti><th>640x480</th><th>800x600</th><th>1024x768</th><th>1280x1024</th>
</tr>
<tr>
  <th>8 bpp</th><ti>769</ti><ti>771</ti><ti>773</ti><ti>775</ti>
</tr>
<tr>
  <th>16 bpp</th><ti>785</ti><ti>788</ti><ti>791</ti><ti>794</ti>
</tr>
<tr>
  <th>32 bpp</th><ti>786</ti><ti>789</ti><ti>792</ti><ti>795</ti>
</tr>
</table>

<p>
Если вы используете ядро 2.6 и в его настройке указали использование
vesafb-tng, тогда 
вы должны использовать параметр <c>video</c>, вместо приведенного выше. 
Синтаксис: &lt;ширина&gt;x&lt;высота&gt;-&lt;глубина
цвета&gt;@&lt;частота обновления&gt;, 
например <c>[EMAIL PROTECTED]</c>.
</p>

<p>
Более подробная информация находится в
<path>/usr/src/linux/Documentation/fb/vesafb.txt</path>.
</p>


<p>
Запомните (или запишите) значение, которое вы подобрали, скоро оно
понадобится.
</p>

<p>
Продолжаем установку <uri link="#grub">GRUB</uri> <e>или</e> <uri
link="#lilo">LILO</uri>.
</p>

</body>
</subsection>
</section>
<section id="grub">
<title>По умолчанию используем GRUB</title>
<subsection>
<title>Введение в терминологию GRUB'а</title>
<body>

<p>
Самым сложным моментом в освоении GRUB является понимание того, 
как он именует жесткие диски и разделы. Ваш Linux раздел
<path>/dev/hda1</path> 
именуется <path>(hd0,0)</path> в терминологии GRUB. Обратите внимание
на 
круглые скобки вокруг <path>hd0,0</path> - они обязательны.
</p>

<p>
Жесткие диски нумеруются, начиная с 0, а не с "а". Разделы, также
нумеруются, начиная с 0, а не с "1".
Необходимо отметить, что под hd подразумеваются только жесткие диски,
atapi-ide 
устройства, такие как cdrom или пишущий cdrom не учитываются. Тоже самое
относится и к устройствам
scsi (обычно они получают номера большие, чем ide устройства, исключая
те случаи, когда 
BIOS настроена на загрузку с устройства scsi).
<p>
Предположим у вас жесткий диск <path>/dev/hda</path>, cdrom
<path>/dev/hdb</path>,
пишущий cdrom <path>/dev/hdc</path>, второй жесткий диск
<path>/dev/hdd</path> и в системе
нет устройств SCSI, тогда раздел <path>/dev/hdd7</path> будет
именоваться как <path>(hd1,6)</path>.
Это может звучать странно, но GRUB обладает механизмом автодополнения
при нажатии на 
tab, что облегчает жизнь обладателям большого количества жестких дисков
с большим 
количеством разделов и тем, кто чувствует себя неуверенно в схеме
нумерации GRUB'ом устройств.
</p>

<p>
Настало время установить GRUB.
</p>

</body>
</subsection>
<subsection>
<title>Установка GRUB</title>
<body>

<p>
Установим GRUB в систему:
</p>

<pre caption = "Установка GRUB">
# <i>emerge grub</i>
</pre>

<p>
Несмотря на то, что GRUB установлен, нам все же надо подправить его файл
конфигурации и 
разместить GRUB в MBR, чтобы он автоматически загружал ваше, вновь
созданное ядро. 
Создайте <path>/boot/grub/grub.conf</path>, используя <c>nano</c> (или,
если угодно, 
другой редактор):
</p>

<pre caption = "Создаем /boot/grub/grub.conf">
# <i>nano -w /boot/grub/grub.conf</i>
</pre>

<p>
Теперь мы заполним <path>grub.conf</path> нашими значениями. Ниже
приведены два 
возможных примера настройки <path>grub.conf</path> для схемы разделения
дисков из наших 
примеров. В примерах мы используем образ ядра
<path>kernel-2.4.26-gentoo-r9</path>. Первый из 
примеров <path>grub.conf</path> содержит подробные комментарии.
Удостоверьтесь, что вы 
используете имена файлов, которые содержат <e>ваш</e> образ ядра и, при
необходимости, 
<e>ваш</e> initrd образ.
</p>

<ul>
  <li>
    Первый пример <path>grub.conf</path> предназначен для тех, кто не
пользовался 
    <c>genkernel</c> для сборки ядра.
  </li>
  <li>
    Второй пример <path>grub.conf</path> предназначен для тех, кто
пользовался 
    <c>genkernel</c> для сборки ядра.
  </li>
</ul>

<pre caption = "grub.conf для тех, кто не пользовался genkernel">
<comment># Пункт меню, загружаемый по умолчанию: 0 - первый, 1 - второй
и т.д.</comment>
default 0
<comment># Время задержки (в секундах) до начала загрузки пункта меню по
умолчанию.</comment>
timeout 30
<comment># Симпатичная картинка :)
# Закомментируйте эту строку, если у вас не установлена графическая
видеокарта</comment>
splashimage=(hd0,0)/grub/splash.xpm.gz

title=Gentoo Linux 2.4.26-r9
<comment># Раздел, где находится файл образа ядра (или вся операционная
система)</comment>
root (hd0,0)
kernel /kernel-2.4.26-gentoo-r9 root=/dev/hda3

<comment># Следующие четыре строки только для тех у кого параллельно
установлена Windows.</comment>
<comment># В этом примере Windows установлена на /dev/hda6.</comment>
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1
</pre>


<pre caption = "grub.conf для тех, кто пользовался genkernel">
default 0
timeout 30
splashimage=(hd0,0)/grub/splash.xpm.gz

title=Gentoo Linux 2.4.26-r9
root (hd0,0)
kernel /kernel-2.4.26-gentoo-r9 root=/dev/ram0 init=/linuxrc
ramdisk=8192 real_root=/dev/hda3
initrd /initrd-2.4.26-gentoo-r9

<comment># Только для возможности загрузки Windows</comment>
title=Windows XP
root (hd0,5)
makeactive
chainloader +1
</pre>


<note>
Если схема разделения вашего жесткого диска отличается и/или вы
используете
другое ядро, внесите необходимые изменения. Удостоверьтесь, что все, что
следует за 
указанием на устройство (например <path>(hd0,0)</path>) относительно
точки монтирования, а 
не корня файловой системы. Другими словами,
<path>(hd0,0)/grub/splash.xpm.gz</path> на 
самом деле <path>/boot/grub/splash.xpm.gz</path>, т.к.
<path>(hd0,0)</path> 
это <path>/boot</path>.
</note>

<p>
Если вам надо передать ядру дополнительная параметры, просто добавьте их
в конце 
строки, с командой kernel. Мы уже передаем ядру один параметр
(<c>root=/dev/hda3</c> или 
<c>real_root=/dev/hda3</c>), но вы свободно можете добавлять другие. В
качестве 
примера мы используем параметр <c>vga</c> для framebuffer'а, который
обсуждался ранее:
</p>

<pre caption = "Добавляем параметр vga, как опцию ядра">
title=Gentoo Linux 2.4.26-r9
  root (hd0,0)
  kernel /kernel-2.4.26-gentoo-r9 root=/dev/hda3 vga=788
</pre>

<p>
Если вы используете ядро 2.6.7 или выше и вы при помощи перемычек,
аппаратно, ограничили 
объем жесткого диска из-за того, что BIOS не в состоянии работать с
дисками большого объема
, вы должны добавить <c>hdx=stroke</c>.
</p>

<p>
Те, кто использует <c>genkernel</c>, должны помнить, что их ядро
использует те же 
параметры, что используются в LiveCD. Например, если у вас есть
устройства SCSI, вы должны 
передать ядру параметр <c>doscsi</c>.
</p>

<p>
Теперь можно сохранить <path>grub.conf</path> и выйти из редактора. Вам
по-прежнему 
необходимо установить GRUB в MBR (Master Boot Record), для того, чтобы
GRUB автоматически 
запускался при загрузке системы.
</p>

<p>
Разработчики GRUB рекомендуют использовать <c>grub-install</c>. Однако,
если по какой-либо 
причине <c>grub-install</c> завершится с ошибкой, вы можете установить
GRUB вручную.
</p>

<p>
Продолжайте чтение раздела <uri link="#grub-install-auto">По умолчанию:
установка GRUB, используя 
grub-install</uri> или <uri link="#grub-install-manual">Альтернатива:
установка GRUB вручную</uri>.
</p>

</body>
</subsection>
<subsection id="grub-install-auto">
<title>По умолчанию: установка GRUB, используя grub-install</title>
<body>

<p>
Для установки GRUB вам надо выполнить команду <c>grub-install</c>. 
Однако, <c>grub-install</c> откажется правильно работать, т.к. мы
находимся во временном 
установочном окружении. Прежде мы должны обновить файл
<path>/etc/mtab</path> (в нем 
содержится информация о смонтированных файловых системах): к счастью,
существует 
очень простой способ сделать это - просто скопируйте
<path>/proc/mounts</path> поверх 
<path>/etc/mtab</path>:
</p>

<pre caption="Обновление /etc/mtab">
# <i>cp /proc/mounts /etc/mtab</i>
</pre>

<p>
Теперь мы можем установить GRUB, используя <c>grub-install</c>:
</p>

<pre caption="Выполнение grub-install">
# <i>grub-install --root-directory=/boot /dev/hda</i>
</pre>

<p>
Если у вас есть вопросы, касательно GRUB, пожалуйста обратитесь к <uri
link="http://www.gnu.org/software/grub/grub-faq.html";>GRUB FAQ</uri> или
<uri
link="http://www.gnu.org/software/grub/manual/";>GRUB Manual</uri>.
</p>

<p>
Переходите к разделу <uri link="#reboot">Перезагрузка системы</uri>.
</p>

</body>
</subsection>
<subsection id="grub-install-manual">
<title>Альтернатива: установка GRUB вручную</title>
<body>

<p>
Для начала введите <c>grub</c>. Вы увидите приглашение вида
<path>grub&gt;</path>, это 
командная строка grub. Теперь необходимо ввести несколько команд для
установки GRUB в 
качестве загрузчика на ваш жесткий диск.
</p>

<pre caption ="Запуск оболочки GRUB">
# <i>grub</i>
</pre>

<note>
Если у вас нет дисковода, добавьте <c>--no-floppy</c> к вышеуказанной
команде, 
чтобы grub не искал (не существующий) дисковод.
</note>

<p>
В приведенном примере мы хотим установить GRUB таким образом, чтобы он
читал 
необходимую информацию с раздела <path>/dev/hda1</path> и находился в
MBR 
(Master Boot Record), чтобы первое, что мы увидим после включения
компьютера, 
было приглашение GRUB. Естественно, если ваши установки отличаются от
приведенных 
в качестве примера, внесите необходимые поправки.
</p>

<p>
Механизм автодополнения (по клавише tab) может использоваться внутри
GRUB.
К примеру, если вы напечатаете "<c>root (</c>" с последующим нажатием
на 
TAB, вы увидите список всех доступных устройств (таких как
<path>hd0</path>). 
Если вы введете "<c>root (hd0,</c>" и нажмете TAB, то получите для
выбора список всех 
доступных разделов (таких как <path>hd0,0</path>).
</p>

<p>
Используя автодополнение, установка GRUB не покажется очень сложной.
Теперь продолжим конфигурирование GRUB.
</p>

<pre caption =" Установка GRUB в MBR">
grub&gt; <i>root (hd0,0)</i>          <comment>(Укажите, где находится
раздел с /boot)</comment>
grub&gt; <i>setup (hd0)</i>           <comment>Устанавливаем GRUB в
MBR)</comment>
grub&gt; <i>quit</i>                  <comment>(Выходим из оболочки
GRUB)</comment>
</pre>

<note>
Если вы хотите установить GRUB в определенный раздел, вместо установки в
MBR, 
измените команду <c>setup</c> таким образом, чтобы она указывала на
необходимый 
вам раздел. Если, например, вы хотите установить GRUB в
<path>/dev/hda3</path>, тогда
команда приобретет следующий вид <c>setup (hd0,2)</c>. Однако,
потребность в 
этом встречается не часто.
</note>

<p>
Если у вас есть вопросы, касательно GRUB, пожалуйста обратитесь к <uri
link="http://www.gnu.org/software/grub/grub-faq.html";>GRUB FAQ</uri> или
<uri
link="http://www.gnu.org/software/grub/manual/";>GRUB Manual</uri>.

<note>
Если вы, впоследствии, будете переустанавливать ядро, вам не надо заново
копировать файлы. Просто введите <c>make install</c> после компиляции
ядра, необходимые действия по копированию файлов и правке конфигурации 
GRUB будут выполнены автоматически.
</note>

<p>
Переходите к разделу <uri link="#reboot">Перезагрузка системы</uri>.
</p>

</body>
</subsection>
</section>
<section id="lilo">
<title>Альтернатива: Используем LILO</title>
<subsection>
<title>Установка LILO</title>
<body>

<p>
LILO (сокращение от LInux LOader) - это испытанный временем загрузчик, 
рабочая лошадка в мире загрузчиков Linux систем. Несмотря на это, он не 
обладает рядом возможностей, которые есть у GRUB (это одна из причин 
возрастающей популярности GRUB). Причина, по которой LILO еще
используется, 
заключается в том, что на некоторых системах где он работает GRUB не
работает. 
Конечно еще и потому, что многие знакомы с LILO и не желают переходить 
на что-либо другое. Gentoo поддерживает оба загрузчика и, очевидно, вы
решили 
использовать LILO.

<p>
Установка LILO в систему легка, как бриз, просто используйте
<c>emerge</c>.
</p>

<pre caption = "Установка LILO">
# <i>emerge --usepkg lilo</i>
</pre>

</body>
</subsection>
<subsection>
<title>Конфигурирование LILO</title>
<body>

<p>
Для настройки LILO вы должны создать файл <path>/etc/lilo.conf</path>. 
Призовите на помощь свой любимый редактор (в этом руководстве мы 
используем <c>nano</c> для единообразия) и создайте файл.
</p>

<pre caption = "Создаем /etc/lilo.conf">
# <i>nano -w /etc/lilo.conf</i>
</pre>

<p>
Несколькими пунктами раньше мы просили вас запомнить имя файла, 
содержащего образ ядра, созданного вами. В приведенном примере 
предполагается, что имя файла - <path>kernel-2.4.26-gentoo-r9</path>.
Также, используется схема разделения диска из наших примеров. 
Пример разделен на две части: 
</p>

<ul>
  <li>
    Одна для тех, кто не использовал <c>genkernel</c> для сборки ядра
  </li>
  <li>
    Одна для тех, кто использовал <c>genkernel</c> для сборки ядра
  </li>
</ul>

<p>
Удостоверьтесь, что вы 
используете имена файлов, которые содержат <e>ваш</e> образ ядра и, при
необходимости, 
<e>ваш</e> initrd образ.
</p>

<pre caption = "Пример /etc/lilo.conf">
boot=/dev/hda             <comment># Устанавливаем LILO в MBR</comment>
prompt                    <comment># Даем пользователю шанс выбрать, что
он хочет загрузить</comment>
timeout=50                <comment># Ждем 5 (пять) секунд до начала
загрузки секции по умолчанию</comment>
default=gentoo            <comment># Когда время истекает, загружаем
секцию "gentoo"</comment>
<comment># Только, если вы используете framebuffer. Иначе удалите
следующую строку:</comment>
vga=788                   <comment># Установка framebuffer. Измените
согласно своим потребностям</comment>

<comment># Для тех, кто не использует genkernel</comment>
image=/boot/kernel-2.4.26-gentoo-r9
  label=gentoo            <comment># Название, присвоенное этой
секции</comment>
  read-only               <comment># Запуск с режимом "только для
чтения" для корневой ФС. Не изменять!</comment>
  root=/dev/hda3          <comment># Расположение корневой ФС</comment>

<comment># Для тех, кто использует genkernel</comment>
image=/boot/kernel-2.4.26-gentoo-r9
  label=gentoo
  read-only
  root=/dev/ram0
  append="init=/linuxrc ramdisk=8192 real_root=/dev/hda3"
  initrd=/boot/initrd-2.4.26-gentoo-r9

<comment># Следующие две строки только если вы хотите иметь возможность
загружать установленную у вас Windows.</comment>
<comment># В этом примере Windows установлена на /dev/hda6.</comment>
other=/dev/hda6
  label=windows
</pre>

<note>
Если схема разделения вашего диска отличается от приведенной в примере 
и/или вы используете другое ядро, внесите необходимые изменения.
</note>

<p>
Если вам необходимо передать ядру дополнительные параметры, 
добавьте в секцию выражение <c>append</c>. В качестве примера 
мы передаем параметр <c>vga=788</c> для включения framebuffer'а:
</p>

<pre caption = "Использование append для передачи ядру параметров">
image=/boot/kernel-2.4.26-gentoo-r9
  label=gentoo
  read-only
  root=/dev/hda3
  <i>append="vga=788"</i>
</pre>

<p>
Если вы используете ядро 2.6.7 или выше и вы при помощи перемычек,
аппаратно, ограничили 
объем жесткого диска из-за того, что BIOS не в состоянии работать с
дисками большого объема
, вы должны добавить <c>hdx=stroke</c>.
</p>

<p>
Те, кто использует <c>genkernel</c>, должны помнить, что их ядро
использует те же 
параметры, что используются в LiveCD. Например, если у вас есть
устройства SCSI, вы должны 
передать ядру параметр <c>doscsi</c>.
</p>


<p>
Пришло время сохранить файл и выйти из редактора. Для окончания 
установки необходимо выполнить <c>/sbin/lilo</c>, чтобы LILO смог 
применить <path>/etc/lilo.conf</path> к вашей системе (например 
установил бы себя на диск) Запомните, что вам необходимо выполнять 
<c>/sbin/lilo</c> каждый раз, когда вы устанавливаете новое ядро или 
вносите изменения в меню, чтобы изменения вступили в силу.
</p>

<pre caption = "Окончание установки LILO">
# <i>/sbin/lilo</i>
</pre>

<note>
Если вы, впоследствии, будете переустанавливать ядро, вам не надо заново
копировать файлы. Просто введите <c>make install</c> после компиляции
ядра, необходимые действия по копированию файлов и правке конфигурации 
LILO будут выполнены автоматически.
</note>

<p>
Теперь вы можете перейти к разделу <uri link="#reboot">Перезагрузка
системы</uri>.
</p>

</body>
</subsection>
</section>
<section id="reboot">
<title>Перезагрузка системы</title>
<subsection>
<body>

<p>
Выйдите из временного окружения и отмонтируйте все разделы. После этого 
введите ту волшебную команду, которую вы так долго ждали: <c>reboot</c>.
</p>

<pre caption="Размонтирование разделов и перезагрузка">
# <i>exit</i>
cdimage ~# <i>cd</i>
cdimage ~# <i>umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo</i>
cdimage ~# <i>reboot</i>
</pre>

<p>
Естественно не забудьте вынуть загрузочный CD, иначе CD будет загружен 
опять вместо вашей новой установки Gentoo.
</p>

<p>
Перезагрузившись в вашу установку Gentoo, окончите установку,
руководствуясь разделом <uri link="?part=1&amp;chap=11">Окончание
установки Gentoo</uri>.
</p>

</body>
</subsection>
</section>
</sections>

Reply via email to