Всем привет! Готово, высказывайте пожелания, замечания. ----------------------------------------------
<?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>, вместо приведенного выше. Синтаксис: <ширина>x<высота>-<глубина цвета>@<частота обновления>, например <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></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> <i>root (hd0,0)</i> <comment>(Укажите, где находится раздел с /boot)</comment> grub> <i>setup (hd0)</i> <comment>Устанавливаем GRUB в MBR)</comment> grub> <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&chap=11">Окончание установки Gentoo</uri>. </p> </body> </subsection> </section> </sections>
