<?xml version='1.0' encoding='UTF-8'?> <!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/2.5 --> <!-- $Header: /var/www/www.gentoo.org/raw_cvs/gentoo/xml/htdocs/doc/en/handbook/hb-install-hppa-kernel.xml,v 1.27 2005/08/21 17:47:46 neysx Exp $ --> <!-- *$Localization: target-language: Russian target-version: 1.20-r1 target-date: 2005-09-02 source-cvs-revision: 1.27 translated-by: Vasiliy Golubev <vas@nightmail.ru>, Azamat H. Hackimov <azazello1984@mail.ru> edited-by: none notes: При переводе данного документа был использован hb-install-x86-kernel.xml в качестве шаблона, отчего и первая фамилия в переводчиках :) require translated gentoo-kernel.xml --> <sections> <version>1.20</version> <date>2005-08-21</date> <section> <title>Временная зона</title> <body> <p> Сначала вы должны выбрать временную зону, чтобы система знала, где вы находитесь. Найдите нужную зону в <path>/usr/share/zoneinfo</path> и сделайте символическую ссылку <path>/etc/localtime</path> с помощью <c>ln</c>. Пожалуйста, не используйте временные зоны <path>/usr/share/zoneinfo/Etc/GMT*</path>, т.к. их имена не отражают предполагаемые зоны. Например, <path>GMT-8</path> на самом деле является GMT+8. </p> <pre caption="Установка временной зоны"> # <i>ls /usr/share/zoneinfo</i> <comment>(Допустим, что вы хотите использовать GMT)</comment> # <i>ln -sf /usr/share/zoneinfo/GMT /etc/localtime</i> </pre> </body> </section> <section> <title>Установка исходных кодов ядра</title> <subsection> <title>Выбор ядра</title> <body> <p> Ядро Linux — это то, вокруг чего формируются все дистрибутивы. Это слой между пользовательскими программами и вашими аппаратными средствами. Пользователи Gentoo могут использовать один из нескольких типов ядра. Полный список с их описанием можно найти в <uri link="/doc/ru/gentoo-kernel.xml">Руководстве по выбору ядра Gentoo</uri>. </p> <p> Для HPPA у нас есть <c>hppa-sources</c>. По умолчанию эти исходные коды основаны на исходных кодах ядра 2.6. Если вы хотите установить ядро 2.4, то вам придется устанавливать Gentoo, имея доступ к интернету, так как мы не снабжаем этими исходными кодами наш установочный диск. Продолжим с установки исходных кодов ядра с помощью <c>emerge</c>: </p> <pre caption="Установка исходных кодов ядра"> # <i>emerge hppa-sources</i> </pre> <p> Если вы просмотрите содержимое каталога <path>/usr/src</path>, то увидите символическую ссылку <path>linux</path>, которая указывает на каталог с исходными кодами ядра: </p> <pre caption="Просмотр каталога с исходными кодами ядра"> # <i>ls -l /usr/src/linux</i> lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-2.6.12.2-pa2 </pre> <p> Если же каталог, на который указывает ссылка, не соответствует выбранному вами ядру, то ее надо изменить: </p> <pre caption="Смена ссылки"> # <i>rm /usr/src/linux</i> # <i>cd /usr/src</i> # <i>ln -s linux-2.6.12.2-pa2 linux</i> </pre> <p> Теперь настало время настройки и компиляции ядра. Во всех архитектурах можно использовать для этого <c>genkernel</c>, который сформирует стандартное ядро, аналогичное используемому на установочном компакт-диске. Сначала мы рассмотрим конфигурацию вручную, так как это наилучший способ оптимизировать вашу систему. </p> <p> Если вы хотите вручную настроить ядро, то переходите к разделу <uri link="#manual">По умолчанию: ручная настройка</uri>. Если вы хотите использовать <c>genkernel</c>, то читайте <uri link="#genkernel">Альтернатива: использование genkernel</uri>. </p> </body> </subsection> </section> <section id="manual"> <title>По умолчанию: ручная настройка</title> <subsection> <title>Введение</title> <body> <p> Ручная настройка ядра считается одним из самых сложных вопросов для пользователей Linux. Зато после настройки нескольких ядер, вы и не вспомните, что это было трудно ;). </p> <p> Когда вы запускаете ручную настройку ядра, вы должны знать аппаратную часть своего компьютера. Большую часть информации можно получить после установки пакета pciutils (<c>emerge pciutils</c>), который содержит <c>lspci</c>. После этого вы сможете использовать <c>lspci</c> внутри временной среды установки. Можете не обращать внимания на предупреждения, касающиеся <e>pcilib</e> (например, pcilib: cannot open /sys/bus/pci/devices [pcilib: не могу открыть /sys/bus/pci/devices]), которые выводит на экран <c>lspci</c>. В качестве альтернативы, вы можете запустить <c>lspci</c> <e>вне временной среды установки</e>. Результат тот же. Вы также можете запустить <c>lsmod</c> для просмотра модулей ядра используемых установочным компакт-диском (это послужит хорошей подсказкой, на предмет того, какие опции надо включить). </p> <p> Теперь войдите в каталог с исходными кодами ядра и введите команду <c>make menuconfig</c>. Этой командой вы вызовете конфигурационное меню, использующее ncurses. </p> <pre caption="Вызов конфигурационного меню"> # <i>cd /usr/src/linux</i> # <i>make menuconfig</i> </pre> <p> Перед вами появятся несколько разделов настроек. Мы сначала перечислим пункты, которые надо активировать (иначе Gentoo не будет работать или будет работать не так как надо без дополнительных настроек). </p> </body> </subsection> <subsection> <title>Активация нужных параметров</title> <body> <p> Прежде всего, разрешите использование разрабатываемых и экспериментальных кодов/драйверов. Если этого не сделать, вы не увидите некоторых важных параметров: </p> <pre caption="Выбор эксперементальных кодов/драйверов, основные настройки"> Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers General setup ---> [*] Support for hot-pluggable devices </pre> <p> Теперь войдите в <c>File Systems</c> и выберите поддержку всех нужных вам файловых систем. <e>Не</e> компилируйте их как модули, иначе система Gentoo не сможет смонтировать эти разделы. Также выберите <c>/proc file system</c>, <c>Virtual memory</c> и <c>Automatically mount at boot</c>. </p> <pre caption="Выбор необходимых файловых систем"> File systems ---> Pseudo Filesystems ---> [*] /proc file system support [*] /dev file system support (OBSOLETE) [*] Automatically mount at boot [*] Virtual memory file system support (former shm fs) <comment>(Выберите один или несколько параметров, необходимых вашей системе)</comment> <*> Reiserfs support <*> Ext3 journalling file system support <*> JFS filesystem support <*> Second extended fs support <*> XFS filesystem support </pre> <p> Если вы используете PPPoE или dial-up модем для соединений к интернету, то вам нужно включить в ядре следующие параметры: </p> <pre caption="Выбор нужных драйверов PPPoE"> Device Drivers ---> Networking support ---> <*> PPP (point-to-point protocol) support <*> PPP support for async serial ports <*> PPP support for sync tty ports </pre> <p> Два параметра сжатия данных не являются необходимыми, но и вреда от них тоже не будет. То же относится и к опции <c>PPP over Ethernet</c> которая нужна только для <c>rp-pppoe</c>, сконфигурированного для работы с PPPoE в ядре. </p> <p> Если вам надо использовать сетевые карты, то не забудьте включить в ядре их поддержку. </p> <p> Если у вас мышь или клавиатура HIL, не забудьте собрать их поддержку. </p> <pre caption="Включение поддержки HIL"> Input core support ---> [*] Keyboard support [*] Mouse support [*] Event interface support </pre> <p> Если у вас к HIL-порту не модключена мышь, используйте только базовую поддержку: </p> <pre caption="Базовая поддержка HIL"> HIL support ---> [*] HIL Keyboard (basic) support </pre> <p> Если вы все же хотите включить <e>полную</e> поддержку HIL, выберите следующие параметры: </p> <pre caption="Полная поддержка HIL"> HIL support ---> [*] HP System Device Controller i8042 Support [*] HIL MLC Support [*] HIL Keyboard (full) support [*] HIL Mouse & Pointer support </pre> <p> Также включите поддержку драйверов монитора: </p> <pre caption="Поддержка драйвера монитора"> Graphics support ---> [*] Support for frame buffer devices [*] HP STI frame buffer device support Console display driver support ---> [*] STI text console </pre> <p> Когда вы закончите настройку ядра, можете переходить к разделу <uri link="#compiling">Компиляция и установка</uri>. </p> </body> </subsection> <subsection id="compiling"> <title>Компиляция и установка</title> <body> <p> Теперь, когда ваше ядро настроено, настало время его скомпилировать и установить. Выйдите из конфигурационного меню и запустите процесс компиляции: </p> <pre caption="Компиляция ядра"> # <i>make && make modules_install</i> </pre> <p> Когда ядро будет скомпилировано, скопируйте образ ядра в каталог <path>/boot</path>. В следующем примере предположим, что вы сконфигурировали и собрали ядро <c>hppa-sources-2.6.12.2-pa2</c>. </p> <pre caption="Установка ядра"> # <i>cp vmlinux /boot/kernel-2.6.12.2-pa2</i> # <i>cp System.map /boot/System.map-2.6.12.2-pa2</i> </pre> <p> Также стоит скопировать ваш конфигурационный файл ядра в каталог <path>/boot</path>, так, на всякий случай :). </p> <pre caption="Создание резервной копии конфигурационного файла ядра"> # <i>cp .config /boot/config-2.6.12.2-pa2</i> </pre> <p> Теперь переходите к разделу <uri link="#kernel_modules">Установка отдельных модулей ядра</uri>. </p> </body> </subsection> </section> <section id="genkernel"> <title>Альтернатива: использование genkernel</title> <body> <p> Если вы читаете этот раздел, то вы хотите использовать наш сценарий <c>genkernel</c> для настройки своего ядра. </p> <p> Теперь, когда исходные коды ядра установлены, настало время скомпилировать ядро, используя сценарий <c>genkernel</c> для автомотической сборки ядра. <c>genkernel</c> создаст ядро почти идентичное тому, что используется на установочном компакт-диске. Т.е. при использовании <c>genkernel</c> для сборки ядра, ваша система будет искать новые устройства при каждой загрузке, подобно установочному компакт-диску. Поскольку genkernel не требует ручной настройки ядра, это идеальное решение для пользователей которые чувствуют себя неуютно от одной мысли, что придется компилировать ядро. </p> <p> Рассмотрим как использовать genkernel. Сначала выполним emerge genkernel: </p> <pre caption="Установка genkernel"> # <i>emerge genkernel</i> </pre> <p> Теперь скомпилируйте исходные коды ядра, запустив <c>genkernel all</c>. Знайте, так как <c>genkernel</c> компилирует ядро, поддерживающее всевозможное оборудование, это займет много времени до окончания! </p> <p> Помните, что если загрузочный раздел не использует ext2 или ext3 в качестве ФС, то вам понадобится вручную сконфигурировать ядро с помощью <c>genkernel --menuconfig all</c> и включить поддержку вашей файловой системы <e>в</e> ядре (то есть <e>не</e> в качестве модуля). </p> <pre caption="Запуск genkernel"> # <i>genkernel all</i> <comment>(Output removed to increase readability)</comment> * Kernel compiled successfully! * Required Kernel Params: * : root=/dev/ram0 init=/linuxrc real_root=/dev/$ROOT * where $ROOT is the devicenode for your root partition as * you should have specified in /etc/fstab * * You MUST tell your bootloader to use the generated initrd * * Recommended Kernel Params: * : vga=0x317 splash=verbose * * Do NOT report kernel bugs (configs included) as genkernel bugs. * Make sure you have the latest genkernel before reporting bugs * * For more info see /usr/share/genkernel/README </pre> <p> Когда <c>genkernel</c> завершит свою работу, будет создано ядро, полный набор модулей и <e>начальный корневой диск</e> (initrd). Мы будем использовать ядро и initrd в процессе настройки загрузчика системы, далее в этом руководстве. Запишите имена ядра и начального корневого диска, так как они нам понадобятся при редактировании конфигурационного файла загрузчика. initrd будет запущен сразу после загрузки для автоматического определения устройств (точно так же как и в установочном компакт-диске), прежде чем ваша система перейдет к настоящей загрузке. </p> <pre caption="Проверяем название созданного ядра и initrd"> # <i>ls /boot/kernel* /boot/initramfs*</i> </pre> <p> Теперь давайте сделаем нашу систему еще ближе к установочному компакт-диску — соберем <c>coldplug</c>. В то время как initrd автоматически находит оборудование, необходимое для загрузки системы, <c>coldplug</c> автоматически определяет все остальное оборудование. Установим <c>coldplug</c>, командой: </p> <pre caption="Установка и включение coldplug"> # <i>emerge coldplug</i> # <i>rc-update add coldplug default</i> </pre> </body> </section> <section id="kernel_modules"> <title>Установка отдельных модулей ядра</title> <subsection> <title>Конфигурация модулей</title> <body> <p> Вы должны перечислить модули, которые должны загружаться автоматически, в файле <path>/etc/modules.autoload.d/kernel-2.6</path>. Также, при желании, можно сообщить модулям некоторые дополнительные параметры. </p> <p> Для просмотра всех доступных модулей запустите команду <c>find</c>, заменив "<kernel version>" на версию ядра, которое вы только что собрали: </p> <pre caption="Просмотр доступных модулей"> # <i>find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'</i> </pre> <p> Например, если вы хотите автоматически загружать модуль <c>3c59x.o</c>, отредактируйте файл <path>kernel-2.6</path> и пропишите туда имя модуля. </p> <pre caption="Редактирование /etc/modules.autoload.d/kernel-2.6"> # <i>nano -w /etc/modules.autoload.d/kernel-2.6</i> </pre> <pre caption="/etc/modules.autoload.d/kernel-2.6"> 3c59x </pre> <p> Теперь можете продолжить установку и перейти к разделу <uri link="?part=1&chap=8">Настройка системы</uri>. </p> </body> </subsection> </section> </sections>