diff options
Diffstat (limited to 'ru_RU.KOI8-R/books/handbook/kernelconfig/chapter.xml')
-rw-r--r-- | ru_RU.KOI8-R/books/handbook/kernelconfig/chapter.xml | 186 |
1 files changed, 76 insertions, 110 deletions
diff --git a/ru_RU.KOI8-R/books/handbook/kernelconfig/chapter.xml b/ru_RU.KOI8-R/books/handbook/kernelconfig/chapter.xml index 6d06cc5f1b..4c815d90d6 100644 --- a/ru_RU.KOI8-R/books/handbook/kernelconfig/chapter.xml +++ b/ru_RU.KOI8-R/books/handbook/kernelconfig/chapter.xml @@ -7,37 +7,22 @@ Original revision: r39631 --> - -<chapter id="kernelconfig"> - <chapterinfo> +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="kernelconfig"> + <info><title>Настройка ядра FreeBSD</title> <authorgroup> - <author> - <firstname>Jim</firstname> - <surname>Mock</surname> - <contrib>Обновил и реструктуризовал </contrib> - <!-- Mar 2000 --> - </author> + <author><personname><firstname>Jim</firstname><surname>Mock</surname></personname><contrib>Обновил и реструктуризовал </contrib></author> </authorgroup> <authorgroup> - <author> - <firstname>Jake</firstname> - <surname>Hamby</surname> - <contrib>Предоставил </contrib> - <!-- 6 Oct 1995 --> - </author> + <author><personname><firstname>Jake</firstname><surname>Hamby</surname></personname><contrib>Предоставил </contrib></author> </authorgroup> <authorgroup> - <author> - <firstname>Александром</firstname> - <surname>Коваленко</surname> - <contrib>Переведено </contrib> - </author> + <author><personname><firstname>Александром</firstname><surname>Коваленко</surname></personname><contrib>Переведено </contrib></author> </authorgroup> - </chapterinfo> + </info> - <title>Настройка ядра FreeBSD</title> + - <sect1 id="kernelconfig-synopsis"> + <sect1 xml:id="kernelconfig-synopsis"> <title>Краткий обзор</title> <indexterm> @@ -79,10 +64,10 @@ </itemizedlist> <para>Все команды, приводимые в этой главе в качестве примера, - должны выполняться от пользователя <username>root</username>.</para> + должны выполняться от пользователя <systemitem class="username">root</systemitem>.</para> </sect1> - <sect1 id="kernelconfig-custom-kernel"> + <sect1 xml:id="kernelconfig-custom-kernel"> <title>Зачем собирать собственное ядро?</title> <para>Традиционно в &os; использовалось так называемое @@ -144,17 +129,13 @@ </itemizedlist> </sect1> - <sect1 id="kernelconfig-devices"> - <sect1info> + <sect1 xml:id="kernelconfig-devices"> + <info><title>Определение аппаратного обеспечения</title> <authorgroup> - <author> - <firstname>Tom</firstname> - <surname>Rhodes</surname> - <contrib>Написал </contrib> - </author> + <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Написал </contrib></author> </authorgroup> - </sect1info> - <title>Определение аппаратного обеспечения</title> + </info> + <para>Перед тем, как углубиться в конфигурирование ядра, было бы разумно составить перечень установленного в компьютер аппаратного обеспечения. @@ -180,7 +161,7 @@ справочника, содержащие список поддерживаемого оборудования, а найденные во время начальной загрузки устройства будут перечислены в &man.dmesg.8;. К примеру, следующие строки информируют о том, - что драйвер <devicename>psm</devicename> обнаружил мышь: </para> + что драйвер <filename>psm</filename> обнаружил мышь: </para> <programlisting>psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: [GIANT-LOCKED] @@ -206,9 +187,9 @@ psm0: model Generic PS/2 mouse, device ID 0</programlisting> subclass = ethernet</programlisting> <para>Эта часть вывода, полученная в результате запуска команды - <command>pciconf <option>-lv</option></command>, показывает, что драйвер - <devicename>ath</devicename> обнаружил беспроводное Ethernet устройство. - Набрав <command>man <replaceable>ath</replaceable></command>, вы + <command>pciconf -lv</command>, показывает, что драйвер + <filename>ath</filename> обнаружил беспроводное Ethernet устройство. + Набрав <command>man ath</command>, вы получите страницу справочника &man.ath.4;.</para> <para>Также, для извлечения необходимой информации, можно воспользоваться @@ -227,7 +208,7 @@ ath_hal(4) - Atheros Hardware Access Layer (HAL)</programlisting> можно безбоязненно приступить к сборке специализированного ядра.</para> </sect1> - <sect1 id="kernelconfig-modules"> + <sect1 xml:id="kernelconfig-modules"> <title>Драйвера, подсистемы и модули ядра</title> <indexterm> @@ -240,11 +221,11 @@ ath_hal(4) - Atheros Hardware Access Layer (HAL)</programlisting> оборудования, то она наверняка уже реализована в виде модуля.</para> <para>Модули ядра находятся в каталоге - <filename class="directory">/boot/kernel</filename>, и они могут + <filename>/boot/kernel</filename>, и они могут быть динамически включены в работающее ядро при помощи &man.kldload.8;. Если не все, то большинство драйверов существуют в виде модулей, и у них есть соответствующая страница справочника. К примеру, - в предыдущем разделе упоминался драйвер <devicename>ath</devicename> + в предыдущем разделе упоминался драйвер <filename>ath</filename> беспроводного Ethernet устройства. Соответствующая ему страница справочника гласит:</para> @@ -277,7 +258,7 @@ following line in &man.loader.conf.5;: </warning> </sect1> - <sect1 id="kernelconfig-building"> + <sect1 xml:id="kernelconfig-building"> <title>Сборка и установка собственного ядра</title> <indexterm> <primary>kernel</primary> @@ -295,7 +276,7 @@ following line in &man.loader.conf.5;: <filename>/usr/src/sys</filename>, который также доступен как каталог <filename>/sys</filename>. Этот каталог содержит множество подкаталогов, представляющих собой различные части ядра, но наиболее важным для нас - будет каталог <filename><replaceable>arch</replaceable>/conf</filename>, + будет каталог <filename>arch/conf</filename>, в котором вы будете редактировать конфигурационный файл ядра и в котором находится каталог <filename>compile</filename>, где будет собираться ваше ядро. <replaceable>arch</replaceable> может быть @@ -322,23 +303,23 @@ following line in &man.loader.conf.5;: не были установлены. Наиболее простой способ установить их — воспользоваться &man.csup.1;, как описано в <xref linkend="synching"/>. Далее, создайте символическую ссылку на - <filename class="directory">/usr/src/sys/</filename>:</para> + <filename>/usr/src/sys/</filename>:</para> <screen>&prompt.root; <userinput>ln -s /usr/src/sys /sys</userinput></screen> </note> <para>Затем, перейдите в каталог - <filename><replaceable>arch</replaceable>/conf</filename> + <filename>arch/conf</filename> и скопируйте файл конфигурации <filename>GENERIC</filename> в файл с выбранным вами именем. Например:</para> - <screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf</userinput> -&prompt.root; <userinput>cp GENERIC <replaceable>MYKERNEL</replaceable></userinput></screen> + <screen>&prompt.root; <userinput>cd /usr/src/sys/i386/conf</userinput> +&prompt.root; <userinput>cp GENERIC MYKERNEL</userinput></screen> <para>По традиции имя состоит из букв в верхнем регистре, и если вы поддерживаете несколько компьютеров &os; на различном оборудовании, хорошая идея добавлять это имя к имени хоста. Мы назвали ядро - <filename><replaceable>MYKERNEL</replaceable></filename> в этом примере.</para> + <filename>MYKERNEL</filename> в этом примере.</para> <tip> <para>Помещение файла конфигурации ядра в <filename>/usr/src</filename> @@ -347,23 +328,22 @@ following line in &man.loader.conf.5;: все с начала. После этого обычно требуется несколько секунд, чтобы понять, что вы удалили собственный файл настройки ядра. Не редактируйте непосредственно <filename>GENERIC</filename>, он может - быть также перезаписан и при следующем <link - linkend="updating-upgrading">обновлении дерева исходных текстов</link>, + быть также перезаписан и при следующем <link linkend="updating-upgrading">обновлении дерева исходных текстов</link>, и изменения ядра будут потеряны.</para> <para>Вы можете сохранить файл конфигурации ядра в другом месте, а затем создать символическую ссылку на этот файл в каталоге - <filename><replaceable>i386</replaceable></filename>.</para> + <filename>i386</filename>.</para> <para>Например:</para> - <screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf</userinput> + <screen>&prompt.root; <userinput>cd /usr/src/sys/i386/conf</userinput> &prompt.root; <userinput>mkdir /root/kernels</userinput> -&prompt.root; <userinput>cp GENERIC /root/kernels/<replaceable>MYKERNEL</replaceable></userinput> -&prompt.root; <userinput>ln -s /root/kernels/<replaceable>MYKERNEL</replaceable></userinput></screen> +&prompt.root; <userinput>cp GENERIC /root/kernels/MYKERNEL</userinput> +&prompt.root; <userinput>ln -s /root/kernels/MYKERNEL</userinput></screen> </tip> - <para>Теперь отредактируйте файл <filename><replaceable>MYKERNEL</replaceable></filename> в своём + <para>Теперь отредактируйте файл <filename>MYKERNEL</filename> в своём любимом текстовом редакторе. Если вы только начинаете, единственным доступным редактором скорее всего будет <application>vi</application>, который слишком сложен для того, чтобы описать его здесь, @@ -381,13 +361,11 @@ following line in &man.loader.conf.5;: файле будет очень знакомо вам. Если же вы, напротив, использовали другую операционную систему, такую как DOS, файл конфигурации <filename>GENERIC</filename> может показаться вам крайне сложным, поэтому - следуйте инструкциям в разделе <link - linkend="kernelconfig-config">Конфигурационный файл</link> медленно и + следуйте инструкциям в разделе <link linkend="kernelconfig-config">Конфигурационный файл</link> медленно и внимательно.</para> <note> - <para>Если вы <link - linkend="updating-upgrading">синхронизируете дерево исходных текстов</link> + <para>Если вы <link linkend="updating-upgrading">синхронизируете дерево исходных текстов</link> с деревом проекта &os;, не забудьте свериться с файлом <filename>/usr/src/UPDATING</filename> перед обновлением. В этом файле описаны все важные вопросы и области исходного кода, требующие @@ -408,8 +386,7 @@ following line in &man.loader.conf.5;: </note> <step> - <para>Перейдите в каталог <filename - class="directory">/usr/src</filename>:</para> + <para>Перейдите в каталог <filename>/usr/src</filename>:</para> <screen>&prompt.root; <userinput>cd /usr/src</userinput></screen> </step> @@ -417,13 +394,13 @@ following line in &man.loader.conf.5;: <step> <para>Соберите ядро:</para> - <screen>&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen> + <screen>&prompt.root; <userinput>make buildkernel KERNCONF=MYKERNEL</userinput></screen> </step> <step> <para>Установите новое ядро:</para> - <screen>&prompt.root; <userinput>make installkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen> + <screen>&prompt.root; <userinput>make installkernel KERNCONF=MYKERNEL</userinput></screen> </step> </procedure> @@ -449,28 +426,25 @@ following line in &man.loader.conf.5;: </tip> <indexterm> - <primary><filename class="directory">/boot/kernel.old</filename></primary> + <primary><filename>/boot/kernel.old</filename></primary> </indexterm> - <para>Новое ядро будет скопировано в каталог <filename - class="directory">/boot/kernel</filename> как + <para>Новое ядро будет скопировано в каталог <filename>/boot/kernel</filename> как <filename>/boot/kernel/kernel</filename>, а старое ядро будет перемещено в <filename>/boot/kernel.old/kernel</filename>. Теперь перезагрузите систему для того, чтобы использовать новое ядро. Если что-то пойдёт не так, вы - можете обратиться к разделу <link - linkend="kernelconfig-trouble">Решение проблем</link> в конце + можете обратиться к разделу <link linkend="kernelconfig-trouble">Решение проблем</link> в конце этой главы, который может оказаться полезен. Не забудьте прочитать - раздел, который объясняет как исправить ситуацию, когда ядро <link - linkend="kernelconfig-noboot">не загружается</link>.</para> + раздел, который объясняет как исправить ситуацию, когда ядро <link linkend="kernelconfig-noboot">не загружается</link>.</para> <note> <para>Другие файлы, относящиеся к процессу загрузки, такие как загрузчик (&man.loader.8;) и его конфигурационные файлы, размещаются в <filename>/boot</filename>. Модули сторонних производителей могут быть помещены в - <filename class="directory">/boot/kernel</filename>, хотя пользователи + <filename>/boot/kernel</filename>, хотя пользователи должны знать, что очень важно, чтобы модули были синхронизированы с собранным ядром. Модули, не рассчитанные на работу с собранным ядром, могут вызвать @@ -478,18 +452,14 @@ following line in &man.loader.conf.5;: </note> </sect1> - <sect1 id="kernelconfig-config"> - <sect1info> + <sect1 xml:id="kernelconfig-config"> + <info><title>Конфигурационный файл</title> <authorgroup> - <author> - <firstname>Joel</firstname> - <surname>Dahl</surname> - <contrib>Обновил </contrib> - </author> + <author><personname><firstname>Joel</firstname><surname>Dahl</surname></personname><contrib>Обновил </contrib></author> </authorgroup> - </sect1info> + </info> - <title>Конфигурационный файл</title> + <indexterm> <primary>ядро</primary> <secondary>NOTES</secondary> @@ -506,7 +476,7 @@ following line in &man.loader.conf.5;: следует за символом <literal>#</literal> является комментарием и игнорируется. Следующие разделы описывают каждый параметр, в порядке, в котором они появляются в <filename>GENERIC</filename>. - <anchor id="kernelconfig-options"/> За полным списком архитектурно-зависимых + <anchor xml:id="kernelconfig-options"/> За полным списком архитектурно-зависимых параметров и устройств обратитесь к файлу <filename>NOTES</filename> в том же каталоге, что и <filename>GENERIC</filename>. Архитектурно независимые параметры находятся в @@ -543,9 +513,9 @@ options IPDIVERT <note> <para>Для сборки ядра со всеми возможными опциями (обычно используется для тестирования), выполните от имени суперпользователя - (<username>root</username>) следующую команду:</para> + (<systemitem class="username">root</systemitem>) следующую команду:</para> - <screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf && make LINT</userinput></screen> + <screen>&prompt.root; <userinput>cd /usr/src/sys/i386/conf && make LINT</userinput></screen> </note> <indexterm> @@ -557,7 +527,7 @@ options IPDIVERT <filename>GENERIC</filename> с различными дополнительными комментариями, которые могут понадобиться для ясности. Этот пример должен совпадать с вашей копией в - <filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/GENERIC</filename> + <filename>/usr/src/sys/i386/conf/GENERIC</filename> практически полностью.</para> <indexterm> @@ -601,7 +571,7 @@ cpu I686_CPU</programlisting> <para>Этот параметр определяет <quote>метку</quote> ядра. Необходимо, чтобы она соответствовала названию файла конфигурации ядра, например - <literal><replaceable>MYKERNEL</replaceable></literal>, если вы следовали инструкциям в предыдущих + <literal>MYKERNEL</literal>, если вы следовали инструкциям в предыдущих примерах. Значение, которое вы присвоите параметру <literal>ident</literal> будет выводиться в процессе загрузки, поэтому полезно давать новым ядрам другие имена для того, чтобы отличать их от @@ -722,7 +692,7 @@ options NFS_ROOT # NFS usable as /, requires NFSCLIENT</progra безопасно закомментировать этот параметр. Необходимый модуль будет автоматически загружен, когда вы в первый раз смонтируете раздел DOS, так, как это описано ниже. Кроме того, замечательный пакет - <filename role="package">emulators/mtools</filename> позволяет получить + <package>emulators/mtools</package> позволяет получить доступ к DOS дискетам без необходимости монтировать и размонтировать их (и не требует наличия <literal>MSDOSFS</literal>).</para> @@ -753,9 +723,8 @@ options NFS_ROOT # NFS usable as /, requires NFSCLIENT</progra <programlisting>options GEOM_PART_GPT # GUID Partition Tables.</programlisting> - <para>Добавляет поддержку <ulink - url="http://en.wikipedia.org/wiki/GUID_Partition_Table">Таблиц Разделов - GUID</ulink>. Этот параметр делает возможным наличие большого + <para>Добавляет поддержку <link xlink:href="http://en.wikipedia.org/wiki/GUID_Partition_Table">Таблиц Разделов + GUID</link>. Этот параметр делает возможным наличие большого количества разделов на одном диске, до 128 в стандартной конфигурации.</para> @@ -922,7 +891,7 @@ device ata</programlisting> <para>Эта строка необходима вместе с <literal>device ata</literal> для поддержки дисков ATA RAID.</para> - <programlisting><anchor id="kernelconfig-atapi"/> + <programlisting><anchor xml:id="kernelconfig-atapi"/> device atapicd # ATAPI CDROM drives</programlisting> <para>Поддержка приводов ATAPI CDROM. Используется вместе с @@ -1117,12 +1086,12 @@ device cardbus # CardBus (32-bit) bus</programlisting> device sio # 8250, 16[45]50 based serial ports</programlisting> <para>Четыре последовательных порта, которые известны как - <devicename>COM</devicename> порты + <filename>COM</filename> порты в мире &ms-dos;/&windows;</para> <note> - <para>Если у вас есть внутренний модем на <devicename>COM4</devicename> и последовательный порт - <devicename>COM2</devicename>, вам понадобится поменять IRQ модема на 2 (по непонятным + <para>Если у вас есть внутренний модем на <filename>COM4</filename> и последовательный порт + <filename>COM2</filename>, вам понадобится поменять IRQ модема на 2 (по непонятным техническим причинам IRQ2 = IRQ9) для того, чтобы получить к нему доступ из &os;. Если у вас есть многопортовая карта с последовательными портами, ознакомьтесь с &man.sio.4; чтобы узнать @@ -1131,14 +1100,14 @@ device sio # 8250, 16[45]50 based serial ports</programli те, что используют чипы S3) используют адреса ввода/вывода в форме <literal>0x*2e8</literal> и, так как многие дешевые последовательные карты не полностью раскодируют шестнадцатибитное пространство адресов - ввода/вывода, они конфликтуют с этими картами, в итоге <devicename>COM4</devicename> оказывается + ввода/вывода, они конфликтуют с этими картами, в итоге <filename>COM4</filename> оказывается практически недоступным.</para> <para>Каждый последовательный порт требует уникального IRQ (кроме тех случаев, когда вы используете мультипортовую карту, которая поддерживает совместное использование прерываний), поэтому значения - IRQ по умолчанию для <devicename>COM3</devicename> и - <devicename>COM4</devicename> не могут быть использованы.</para> + IRQ по умолчанию для <filename>COM3</filename> и + <filename>COM4</filename> не могут быть использованы.</para> </note> <programlisting># Parallel port @@ -1244,7 +1213,7 @@ device xe # Xircom pccard Ethernet #device le</programlisting> <para>Драйвера сетевых карт ISA. Ознакомьтесь с файлом - <filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/NOTES</filename>, + <filename>/usr/src/sys/i386/conf/NOTES</filename>, чтобы узнать, какие сетевые карты каким драйвером поддерживаются.</para> @@ -1276,8 +1245,7 @@ device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. device loop # Network loopback</programlisting> <para>Стандартное устройство обратной связи для TCP/IP. Если вы запускаете - telnet или FTP по отношению <hostid>localhost</hostid> (он же <hostid - role="ipaddr">127.0.0.1</hostid>), то соединение пройдёт через это + telnet или FTP по отношению <systemitem>localhost</systemitem> (он же <systemitem class="ipaddress">127.0.0.1</systemitem>), то соединение пройдёт через это устройство. Этот параметр <emphasis>обязателен</emphasis>.</para> <programlisting>device random # Entropy device</programlisting> @@ -1310,7 +1278,7 @@ device loop # Network loopback</programlisting> разделу <link linkend="userppp">PPP</link> этой книги за дальнейшей информацией.</para> - <programlisting><anchor id="kernelconfig-ptys"/> + <programlisting><anchor xml:id="kernelconfig-ptys"/> device pty # Pseudo-ttys (telnet etc)</programlisting> <para><quote>псевдо-терминал</quote> или имитированный порт для входа. @@ -1386,7 +1354,7 @@ device fwe # Ethernet over FireWire (non-standard!)</programl <para>За дальнейшей информацией о дополнительных устройствах, поддерживаемых &os;, обратитесь к файлу - <filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/NOTES</filename>.</para> + <filename>/usr/src/sys/i386/conf/NOTES</filename>.</para> <sect2> <title>Конфигурации с большим количеством оперативной памяти @@ -1476,7 +1444,7 @@ device fwe # Ethernet over FireWire (non-standard!)</programl </sect2> </sect1> - <sect1 id="kernelconfig-trouble"> + <sect1 xml:id="kernelconfig-trouble"> <title>Решение проблем</title> <para>Существует четыре категории проблем, которые могут возникнуть при @@ -1513,8 +1481,7 @@ device fwe # Ethernet over FireWire (non-standard!)</programl </varlistentry> <varlistentry> - <term>Ядро не загружается:<anchor - id="kernelconfig-noboot"/></term> + <term>Ядро не загружается:<anchor xml:id="kernelconfig-noboot"/></term> <listitem> <para>Если ваше новое ядро не загружается или ему не удаётся обнаружить @@ -1524,7 +1491,7 @@ device fwe # Ethernet over FireWire (non-standard!)</programl Доступ к нему вы можете получить, когда система находится в стартовом меню. Выберите шестой пункт (<quote>Escape to a loader prompt</quote>), введите команду - <command>boot <replaceable>kernel.old</replaceable></command>, + <command>boot kernel.old</command>, или используйте любое другое ядро, которое загрузится без проблем. Во время переконфигурирования ядра всегда полезно оставлять копию ядра, о @@ -1545,13 +1512,13 @@ device fwe # Ethernet over FireWire (non-standard!)</programl при установке нового ядра <filename>kernel.old</filename> перезаписывается последним установленным ядром, которое может оказаться нерабочим. Также, как можно скорее переместите рабочее - ядро в <filename class="directory">/boot/kernel</filename>, + ядро в <filename>/boot/kernel</filename>, так как некоторые команды, такие как &man.ps.1; будут работать некорректно. Для этого просто переместите каталог, содержащий работоспособное ядро:</para> - <screen>&prompt.root; <userinput>mv /boot/kernel <replaceable>/boot/kernel.bad</replaceable></userinput> -&prompt.root; <userinput>mv /boot/<replaceable>kernel.good</replaceable> /boot/kernel</userinput></screen> + <screen>&prompt.root; <userinput>mv /boot/kernel /boot/kernel.bad</userinput> +&prompt.root; <userinput>mv /boot/kernel.good /boot/kernel</userinput></screen> </note> </listitem> </varlistentry> @@ -1563,8 +1530,7 @@ device fwe # Ethernet over FireWire (non-standard!)</programl <para>Если вы установили версию ядра отличную от той, с которой были собраны ваши системные утилиты, например, ядро от -CURRENT на системе -RELEASE, большая часть системных команд, таких как &man.ps.1; и &man.vmstat.8; - не будут больше работать. Вам потребуется <link - linkend="makeworld">перекомпилировать и установить систему</link> + не будут больше работать. Вам потребуется <link linkend="makeworld">перекомпилировать и установить систему</link> той же версии исходных текстов, что и ядро. Это одна из причин, по которой не следует использовать версию ядра, отличную от версии всей остальной системы.</para> |