Merge the following from the English version:

(new) -> 1.1 Makefile
   1.132 -> 1.142 chapter.sgml

Obtained from:	The FreeBSD Russian Documentation Project
This commit is contained in:
Denis Peplin 2004-04-02 10:59:30 +00:00
parent f74a824c21
commit 77e37e759f
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=20473
2 changed files with 553 additions and 31 deletions
ru_RU.KOI8-R/books/handbook/config

View file

@ -0,0 +1,17 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
# $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/config/Makefile,v 1.1 2001/10/23 11:38:52 phantom Exp $
# Original revision: 1.1
#
CHAPTERS= config/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

View file

@ -2,9 +2,9 @@
The FreeBSD Documentation Project
$FreeBSD$
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/config/chapter.sgml,v 1.12 2004/01/19 12:08:24 den Exp $
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/config/chapter.sgml,v 1.16 2004/04/02 10:52:45 den Exp $
Original revision: 1.132
Original revision: 1.142
-->
<chapter id="config-tuning">
@ -274,7 +274,7 @@
</sect1>
<sect1 id="configtuning-appconfig">
<title>Настройка Приложений</title>
<title>Настройка приложений</title>
<para>Обычно, установленные приложения имеют свои конфигурационные файлы,
со своим собственным синтаксисом. Важно хранить эти файлы отдельно от
@ -504,7 +504,7 @@ HOME=/var/log
соответствующая команда <command>atrun</command> вызывается
под пользователем <username>root</username> каждые пять минут
независимо от дня или месяца. За дополнительной информацией по
<command>atrun</command> обращайтесь к странице справочника
команде <command>atrun</command> обращайтесь к странице справочника
&man.atrun.8;.</para>
<para>Команды могут принимать любое количество параметров; однако
@ -610,7 +610,7 @@ HOME=/var/log
$sshd_enable=YES</screen>
<note>
<para>Вторая строка (<literal># sshd</literal>) это вывод команды
<para>Вторая строка (<literal># sshd</literal>) это вывод
команды <command>sshd</command>, а не консоль
<username>root</username>.</para>
</note>
@ -654,17 +654,17 @@ sshd is running as pid 433.</screen>
<itemizedlist>
<listitem>
<para>PROVIDE: Задает имя сервиса, предоставляемого этим файлом.</para>
<para><literal>PROVIDE</literal>: Задает имя сервиса, предоставляемого этим файлом.</para>
</listitem>
<listitem>
<para>REQUIRE: Список сервисов, необходимых этому сервису. Этот
<para><literal>REQUIRE</literal>: Список сервисов, необходимых этому сервису. Этот
файл будет запущен <emphasis>после</emphasis> указанных
сервисов.</para>
</listitem>
<listitem>
<para>BEFORE: Список сервисов, зависящих от этого сервиса. Этот
<para><literal>BEFORE</literal>: Список сервисов, зависящих от этого сервиса. Этот
файл будет запущен <emphasis>до</emphasis> указанных
сервисов.</para>
</listitem>
@ -1463,7 +1463,7 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
<para>Ситуации, похожие на эту, требуют изменения некоторых значений
&man.sysctl.8;, модификация которых запрещена. Для разрешения этой
ситуации пользователь может поместить &man.sysctl.8; <quote>OID</quote>
в файл <filename>/boot/loader.conf.local</filename>. Значения по
в файл <filename>/boot/loader.conf</filename>. Значения по
умолчанию хранятся в файле
<filename>/boot/defaults/loader.conf</filename>.</para>
@ -2267,33 +2267,538 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
<para>Доступны и другие параметры. Обратитесь к странице справочника
&man.acpiconf.8; за дополнительной информацией.</para>
</sect2>
</sect1>
<sect2 id="acpi-debug">
<title>Отладка и отключение <acronym>ACPI</acronym></title>
<sect1 id="ACPI-debug">
<sect1info>
<authorgroup>
<author>
<firstname>Nate</firstname>
<surname>Lawson</surname>
<contrib>Написал </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Peter</firstname>
<surname>Schultz</surname>
<contrib>При помощи </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>и </contrib>
</author>
</authorgroup>
</sect1info>
<para>Почти все в <acronym>ACPI</acronym> прозрачно, пока не начинаются
проблемы. Это обычно случается, когда пользователь узнает, что
что-то работает неправильно. Драйвер &man.acpi.4; поддерживает
много параметров отладки, можно даже выборочно отключить некоторые
части системы <acronym>ACPI</acronym>. За более подробной информацией
о средствах отладки обратитесь к странице справочника
&man.acpi.4;.</para>
<title>Использование и отладка &os; <acronym>ACPI</acronym></title>
<para>Иногда по различным причинам необходимо выгрузить модуль
<filename>acpi.ko</filename>. Это можно сделать только во
время загрузки через &man.loader.8;. Вы можете набирать
<command>unset acpi_load</command> в приглашении
&man.loader.8; при каждом старте системы, или отменить
автозагрузку драйвера &man.acpi.4;, добавив в
<filename>/boot/loader.conf</filename> следующую строку:</para>
<para><acronym>ACPI</acronym> это фундаментально новый способ
обнаружения устройств, управления энергопотреблением и предоставления
стандартизированного доступа к различному оборудованию, ранее
ранее управлявшемуся <acronym>BIOS</acronym>. Был достигнут
определенный прогресс в приспособлении <acronym>ACPI</acronym>
к работе со всеми системами, но все еще встречаются ошибки
в байткоде <acronym>AML</acronym> некоторых материнских плат,
незавершенные участки кода в подсистемах ядра &os; и ошибки в
интерпретаторе <acronym>ACPI-CA</acronym>.</para>
<programlisting>exec="unset acpi_load"</programlisting>
<para>Этот раздел предназначен для того, чтобы упростить ваше
содействие разработчикам &os; <acronym>ACPI</acronym> в
определении причин наблюдаемых вами проблем, выполнении отладки
и выработке решения. Спасибо за помощь и надеемся, что мы сможем
помочь в решении проблем вашей системы.</para>
<para>&os;&nbsp;5.1-RELEASE и более новые поставляются с меню,
управляющим загрузкой &os;. Один из предоставляемых параметров,
это отключение <acronym>ACPI</acronym>. Для отключения
<acronym>ACPI</acronym> просто выберите в меню
<guimenuitem>2. Boot &os; with ACPI disabled</guimenuitem>.</para>
<sect2 id="ACPI-submitdebug">
<title>Отправка отладочной информации</title>
<para>Те из вас, кто желает составить сообщение о проблеме прямо
сейчас, могут воспользоваться адресом
<ulink url="mailto:acpi-jp@jp.freebsd.org">
acpi-jp@jp.freebsd.org</ulink>, отправив на него следующую
информацию:</para>
<itemizedlist>
<listitem>
<para>Описание неправильного поведения, включая тип системы, модель
и все, что приводит к появлению ошибки. Кроме того, сообщите
настолько точно, насколько возможно, когда появилась ошибка,
если ранее вы ее не видели.</para>
</listitem>
<listitem>
<para>Вывод dmesg после <quote>boot
<option>-v</option></quote>, включая все сообщения, появившиеся
при изучении ошибки.</para>
</listitem>
<listitem>
<para>Вывод dmesg после <quote>boot
<option>-v</option></quote> с выключенным <acronym>ACPI</acronym>,
если его отключение помогает решить проблему.</para>
</listitem>
<listitem>
<para>Вывод <quote>sysctl hw.acpi</quote>. Это также хороший
способ получения списка возможностей системы.</para>
</listitem>
<listitem>
<para><acronym>URL</acronym> где можно найти ваш
<acronym>ASL</acronym>. <emphasis>Не</emphasis> отправляйте
<acronym>ASL</acronym> непосредственно в список рассылки,
поскольку он может быть очень большим. Копия
<acronym>ASL</acronym> может быть создана командой:</para>
<screen>&prompt.root; <userinput>acpidump -t -d &gt; $NAME-$SYSTEM.asl</userinput></screen>
<para>(Замените вашим логином
<filename>$NAME</filename> и производителем/моделью
<filename>$SYSTEM</filename>. Пример:
<filename>njl-FooCo6000.asl</filename>)</para>
</listitem>
</itemizedlist>
<para>Большинство разработчиков читают список рассылки freebsd-current,
но для уверенности, что проблему увидят, отправьте ее в
acpi-jp. Будьте терпеливы, все мы заняты полный рабочий день где-то
еще. Если ваше сообщение не заметили сразу, мы возможно
попросим вас отправить <acronym>PR</acronym> (сообщение о проблеме)
через &man.send-pr.1;. При вводе <acronym>PR</acronym>,
включайте ту же информацию, что запрошена выше. Это поможет
нам отследить проблему и решить ее. Не отправляйте
<acronym>PR</acronym> без предварительной отправки письма в
acpi-jp, поскольку мы используем <acronym>PR</acronym> в качестве
напоминаний о существующих проблемах, а не как механизм сообщений
об ошибках. Вероятно, о вашей проблеме кто-то уже сообщал
ранее.</para>
</sect2>
<sect2 id="ACPI-background">
<title>Общие сведения</title>
<para><acronym>ACPI</acronym> представлен во всех современных
компьютерах, соответствующих архитектурам ia32 (x86),
ia64 (Itanium) и amd64 (AMD). Полный стандарт включает множество
возможностей, в том числе управление производительностью
<acronym>CPU</acronym>, уровнем питания, температурой,
различными системами аккумуляторов, встроенными контроллерами
и опросом шины. В большинстве систем стандарт реализован не
полностью. Например, настольные системы обычно реализуют только
опрос шины, а портативные компьютеры кроме того могут поддерживать
управление охлаждением и энергопотреблением. Они также поддерживают
приостановку и последующий запуск системы различного уровня
сложности.</para>
<para><acronym>ACPI</acronym>-совместимые системы состоят из
различных компонентов. Производители <acronym>BIOS</acronym>
и чипсетов предоставляют различные жестко заданные таблицы,
(например, <acronym>FADT</acronym>), которые определяют
функции вроде карты <acronym>APIC</acronym> (используется для
<acronym>SMP</acronym>), регистры настройки и простые
значения параметров. Кроме того, предоставляется таблица
байткода (<acronym>DSDT</acronym>), определяющая древоподобное
пространство имен устройств и методов.</para>
<para>Драйвер <acronym>ACPI</acronym> должен прочесть заданные
таблицы, реализовать интерпретатор для байткода, модифицировать
драйвера устройств и ядро для приема информации от подсистемы
<acronym>ACPI</acronym>. Для &os;, Intel предоставила
интерпретатор (<acronym>ACPI-CA</acronym>), тот же что для
Linux и NetBSD. Исходный код <acronym>ACPI-CA</acronym>
находится в каталоге
<filename role="directory">src/sys/contrib/dev/acpica</filename>.
Код для приспособления <acronym>ACPI-CA</acronym> к работе в
&os;, находится в <filename>src/sys/dev/acpica/Osd</filename>.
Наконец, драйвера, реализующие различные <acronym>ACPI</acronym>
устройства, находятся в
<filename role="directory">src/sys/dev/acpica</filename>.</para>
</sect2>
<sect2 id="ACPI-comprob">
<title>Часто встречающиеся проблемы</title>
<para>Для правильной работы <acronym>ACPI</acronym> все ее части должны
работать правильно. Вот некоторые часто встречающиеся проблемы, в порядке
частоты появления, и некоторые обходные пути или исправления.</para>
<sect3>
<title>Приостановка/возобновление работы</title>
<para><acronym>ACPI</acronym> поддерживает три состояния приостановки в
<acronym>RAM</acronym> (<acronym>STR</acronym>),
<literal>S1</literal>-<literal>S3</literal>, и одно состояние
приостановки на диск (<literal>STD</literal>), называемое
<literal>S4</literal>. <literal>S5</literal> это
<quote>мягкое выключение</quote> и это нормальное состояние системы,
когда она подключена к сети, но не включена. <literal>S4</literal>
может быть реализован двумя различными путями.
<literal>S4</literal><acronym>BIOS</acronym> это
<acronym>BIOS</acronym>-поддерживаемая приостановка на диск.
<literal>S4</literal><acronym>OS</acronym> реализуется полностью
операционной системой.</para>
<para>Начните с проверки переменных <command>sysctl</command>
<option>hw.acpi</option>, относящихся к приостановке (suspend).
Вот результат для моего Thinkpad:</para>
<screen>hw.acpi.supported_sleep_state: S3 S4 S5</screen>
<screen>hw.acpi.s4bios: 0</screen>
<para>Это означает, что я могу использовать <quote>acpiconf
<option>-s</option></quote> для тестирования <literal>S3</literal>,
<literal>S4</literal><acronym>OS</acronym>, и
<literal>S5</literal>. Если <option>s4bios</option> был единицей
(1), это означает поддержку
<literal>S4</literal><acronym>BIOS</acronym> вместо
<literal>S4</literal><acronym>OS</acronym>.</para>
<para>При тестировании приостановки/возобновления работы, начните
с <literal>S1</literal>, если этот режим поддерживается.
Это состояние скорее всего поддерживается, поскольку не требует
слишком серьезной поддержки со стороны драйвера. Никто не
реализовал <literal>S2</literal>, который похож на
<literal>S1</literal>. Следующий режим для тестирования это
<literal>S3</literal>. Это наиболее глубокое <acronym>STR</acronym>
состояние, оно требует существенной поддержки со стороны
драйвера, чтобы правильно реинициализировать оборудование.
Если у вас возникли проблемы при выходе из этого состояния,
отправьте письмо в рассылку acpi-jp, но не ждите, что
проблема будет обязательно решена, поскольку существует
множество драйверов/оборудования, нуждающихся в дальнейшем
тестировании и разработке.</para>
<para>Для изоляции проблемы удалите из ядра столько драйверов,
сколько возможно. Если это работает, вы можете выяснить,
какой драйвер вызывает проблему путем загрузки драйверов
до тех пор, пока опять не произойдет сбой. Обычно бинарные
драйвера, такие как <filename>nvidia.ko</filename>,
драйвера дисплея <application>X11</application> и
<acronym>USB</acronym> вызывают большинство проблем, а драйвера
Ethernet интерфейсов как правило работают отлично. Если вы
можете нормально загрузить/выгрузить драйвера, автоматизируйте
этот процесс, поместив соответствующие команды в
<filename>/etc/rc.suspend</filename> и
<filename>/etc/rc.resume</filename>. Это закомментированные
примеры выгрузки и загрузки драйверов. Попробуйте
установить параметр <option>hw.acpi.reset_video</option>
в нуль (0), если ваш дисплей не включается после возобновления
работы. Попробуйте установить большие или меньшие значения
для <option>hw.acpi.sleep_delay</option>, чтобы проверить,
поможет ли это.</para>
<para>Другой способ, который можно попробовать, это запуск
последнего дистрибутива Linux с поддержкой
<acronym>ACPI</acronym> и протестировать поддержку
остановки/возобновления работы на том же оборудовании.
Если она работает на Linux, проблема скорее всего в
драйверах &os; и поиск драйвера, вызывающего проблему,
поможет разрешить ситуацию. Имейте ввиду, что разработчики
<acronym>ACPI</acronym> обычно не поддерживают другие
драйверы (звук, <acronym>ATA</acronym>, и т.п.), так что
все результаты работы по поиску проблемы возможно необходимо
отправить в список рассылки freebsd-current и человеку,
поддерживающему драйвер. Если вы решитесь заняться
отладкой, поместите соответствующий код (&man.printf.3;)
в вызывающий проблему драйвер для обнаружения места, где
прерывается функция восстановления.</para>
<para>Наконец, попробуйте отключить <acronym>ACPI</acronym> и
включить <acronym>APM</acronym>. Если приостановка/возобновление
работает с <acronym>APM</acronym>, вам возможно лучше подойдет
<acronym>APM</acronym>, особенно на старом оборудовании (до
2000). Включение корректной поддержки <acronym>ACPI</acronym>
поставщиками оборудования требует времени и вероятно в старом
оборудовании поддержка <acronym>ACPI</acronym> в
<acronym>BIOS</acronym> была некорректна.</para>
</sect3>
<sect3>
<title>Система останавливается (временно или постоянно)</title>
<para>Большинство систем останавливаются в результате потери
прерываний или <quote>шторма</quote> прерываний. В чипсетах
существует много проблем, связанных с тем, как
<acronym>BIOS</acronym> настраивает прерывания перед загрузкой,
правильностью таблицы <acronym>APIC</acronym>
(<acronym>MADT</acronym>), и маршрутизации
<acronym>SCI</acronym>.</para>
<para><quote>Шторм</quote> прерываний может быть обнаружен по
потерянным прерываниям путем проверки вывода строки с
<quote>acpi0</quote> команды <command>vmstat</command>
<option>-i</option>. Если счетчик увеличивается более, чем
несколько раз в секунду, это <quote>шторм</quote> прерываний.
Если система останавливается, попробуйте войти в
<acronym>DDB</acronym>
(<keycombo action="simul"><keycap>CTRL</keycap>
<keycap>ALT</keycap><keycap>ESC</keycap></keycombo> на
консоли) и ввести <option>show interrupts</option>.</para>
<para>Наиболее надежный способ избавиться от проблемы с прерываниями,
это отключение поддержки <acronym>APIC</acronym> с помощью
параметра <filename>loader.conf</filename>
<option>hint.apic.0.disabled=</option><quote>1</quote>.</para>
</sect3>
<sect3>
<title>Паника</title>
<para>Паника, связанная с <acronym>ACPI</acronym>, случается довольно
редко и имеет наибольший приоритет исправления. Первый шаг
это изоляция действий, приводящих к панике (если это возможно)
и получение отладки. Следуйте инструкции по включению
<option>options DDB</option> и настройке последовательной консоли
или настройке раздела &man.dump.8;. Вы можете получить отладочную
информацию <acronym>DDB</acronym> с помощью <option>tr</option>.
Если вы записываете отладку вручную, убедитесь, что переписали
как минимум пять (5) строк снизу и пять (5) строк сверху.</para>
<para>Затем попробуйте изолировать проблему, загрузившись с
выключенным <acronym>ACPI</acronym>. Если это работает, вы можете
изолировать подсистему <acronym>ACPI</acronym>, используя
различные параметры <option>debug.acpi.disable</option>.
Обратитесь к странице справочника &man.acpi.4; за примерами.</para>
</sect3>
<sect3>
<title>Система включается после приостановки или завершения
работы</title>
<para>Во-первых, попробуйте установить в &man.loader.conf.5; параметр
<option>hw.acpi.disable_on_poweroff=</option><quote>0</quote>.
Это предотвращает отключение различных событий в
<acronym>ACPI</acronym> во время завершения работы.
В некоторых системах этот параметр необходимо установить
в <quote>1</quote> (по умолчанию) по тем же причинам. Обычно это
решает проблему, если система неожиданно включается после
приостановки или отключения питания.</para>
</sect3>
<sect3>
<title>Другие проблемы</title>
<para>Если вы наблюдаете другие проблемы с <acronym>ACPI</acronym>
(работа с внешним оборудованием, проблемы с обнаружением устройств,
и т.д.), отправьте описание проблемы в список рассылки;
однако, некоторые из этих проблем могут относиться к незавершенным
частям подсистемы <acronym>ACPI</acronym>, поэтому может
потребоваться время на их реализацию. Будьте терпеливы, и
подготовьтесь к тестированию исправлений, которые мы можем вам
выслать.</para>
</sect3>
</sect2>
<sect2 id="ACPI-aslanddump">
<title><acronym>ASL</acronym>, <command>acpidump</command>, и
<acronym>IASL</acronym></title>
<para>Наиболее часто встречается проблема, связанная с предоставлением
поставщиками <acronym>BIOS</acronym> некорректного (или полностью
ошибочного!) байткода. Это обычно проявляется появлением
консольных сообщений ядра, подобных этому:</para>
<screen>ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] (Node 0xc3f6d160), AE_NOT_FOUND</screen>
<para>Зачастую вы можете разрешить эти проблемы путем обновления
<acronym>BIOS</acronym> до последней ревизии. Большинство консольных
сообщений безвредны, но если существуют другие проблемы, такие как
не работающий статус батареи, возможно существуют проблемы в
<acronym>AML</acronym>. Байткод, известный как
<acronym>AML</acronym>, компилируется из исходного текста на
языке <acronym>ASL</acronym>. <acronym>AML</acronym> находится
в таблице, известной как <acronym>DSDT</acronym>. Для получения
копии <acronym>ASL</acronym>, используйте &man.acpidump.8;.
Вы можете использовать оба параметра <option>-t</option>
(показывать содержимое постоянных таблиц) и <option>-d</option>
(дизассемблировать <acronym>AML</acronym> в <acronym>ASL</acronym>).
Обратитесь к разделу <link linkend="ACPI-submitdebug">Отправка
отладочной информации</link> за примером синтаксиса.</para>
<para>Простейшая первая проверка, которую вы можете провести,
это перекомпиляция <acronym>ASL</acronym> для поиска ошибок.
Предупреждения обычно могут быть проигнорированы, но ошибки
обычно не позволяют <acronym>ACPI</acronym> работать правильно.
Для перекомпиляции <acronym>ASL</acronym>, выполните следующую
команду:</para>
<screen>&prompt.root; <userinput>iasl your.asl</userinput></screen>
</sect2>
<sect2 id="ACPI-fixasl">
<title>Исправление <acronym>ASL</acronym></title>
<para>В дальней перспективе, наша задача состоит в том, чтобы
обеспечить поддержку <acronym>ACPI</acronym> практически для
каждой системы без вмешательства пользователя. Однако, на данный
момент мы все еще разрабатываем обходные пути для ошибок,
которые часто делают поставщики <acronym>BIOS</acronym>.
Интерпретатор Microsoft (<filename>acpi.sys</filename> и
<filename>acpiec.sys</filename>) не занимается проверкой
четкости соблюдения стандартов, поэтому многие поставщики
<acronym>BIOS</acronym>, проверяющие <acronym>ACPI</acronym>
только под Windows, никогда не исправляют <acronym>ASL</acronym>.
Мы надеемся продолжать обнаружение и документацию нестандартных
поведений, позволяемых интерпретатором Microsoft, и воспроизводить
их, чтобы &os; могла работать без необходимости исправления
<acronym>ASL</acronym> пользователями. В качестве обходного пути
для обнаружения неправильного поведения, вы можете исправить
<acronym>ASL</acronym> вручную. Если исправления будут работать,
пожалуйста отправьте &man.diff.1; между старым и новым
<acronym>ASL</acronym>, чтобы мы могли реализовать обходной
путь для неправильного поведения <acronym>ACPI-CA</acronym>,
чтобы исправление вручную больше не требовалось.</para>
<para>Вот список наиболее часто встречающихся проблем, их причин и
способы исправления:</para>
<sect3>
<title>OS зависимости</title>
<para>Некоторые <acronym>AML</acronym> предполагают, что мир состоит
из различных версий Windows. Вы можете настроить &os;, чтобы
она сообщала любое другое имя <acronym>OS</acronym> и посмотреть,
исправит ли это имеющуюся проблему. Простой способ указания
другого имени системы это установка переменной
<filename>/boot/loader.conf</filename>
<option>hw.acpi.osname</option>=<quote>Windows 2001</quote>
или в другое подобное значение, имеющееся в
<acronym>ASL</acronym>.</para>
<sect3>
<title>Отсутствие возврата значения</title>
<para>Некоторые методы не возвращают значение явно, как того
требует стандарт. Хотя <acronym>ACPI-CA</acronym> не обрабатывает
эту ситуацию, в &os; существует обходной путь, позволяющей ей
явно возвращать значение. Вы можете также добавить явные операторы
Return (возврат) там, где требуется, если знаете, что значение
должно быть возвращено. Для принудительного компилирования
<acronym>ASL</acronym> командой <command>iasl</command>, используйте
флаг <option>-f</option>.</para>
</sect3>
<sect3>
<title>Перезапись <acronym>AML</acronym> по умолчанию</title>
<para>После настройки <filename>your.asl</filename> для
компиляции запустите:</para>
<screen>&prompt.root; <userinput>iasl your.asl</userinput></screen>
<para>Вы можете добавить флаг <option>-f</option> для создания
<acronym>AML</acronym> даже при наличии ошибок компиляции.
Помните, что некоторые ошибки (например, отсутствующие операторы
Return), автоматически обходятся интерпретатором.</para>
<para>Файл <filename>DSDT.aml</filename> используется
<command>iasl</command> по умолчанию. Вы можете загрузить его
вместо ошибочной копии <acronym>BIOS</acronym> (которая
остается в постоянной памяти) путем редактирования
<filename role="directory">/boot/loader.conf</filename>:</para>
<programlisting>acpi_dsdt_load="YES"
acpi_dsdt_name="/boot/DSDT.aml"</programlisting>
<para>Убедитесь, что скопировали <filename>DSDT.aml</filename> в
каталог <filename role="directory">/boot</filename>.</para>
</sect3>
<sect2 id="ACPI-debugoutput">
<title>Получение отладочной информации
<acronym>ACPI</acronym></title>
<para>Возможности отладки драйвера <acronym>ACPI</acronym> очень
гибкие. Они позволяют вам указывать набор подсистем, а также
уровень отладки. Подсистемы, которые вы хотите отлаживать,
указываются как <quote>слои</quote>, и подразделяются на
компоненты <acronym>ACPI-CA</acronym> (ACPI_ALL_COMPONENTS)
и поддержку оборудования <acronym>ACPI</acronym> (ACPI_ALL_DRIVERS).
Уровень отладки варьируется от ACPI_LV_ERROR (только сообщать об
ошибках) до ACPI_LV_VERBOSE (все сообщения). Уровень отладки
представляет собой битовую маску, поэтому возможна одновременная
установка нескольких параметров, разделенных пробелами.
На практике, при использовании для получения отладочной информации
последовательной консоли, слишком большое количество информации
может переполнить буфер консоли. Полный список отдельных слоев
и уровней можно найти на странице справочника &man.acpi.4;.</para>
<para>Вывод отладочной информации по умолчанию не включен.
Для его включения добавьте параметр <option>options
ACPI_DEBUG</option> к файлу настройки ядра, если
<acronym>ACPI</acronym> встроен в ядро. Вы можете добавить параметр
<option>ACPI_DEBUG=1</option> в файл
<filename>/etc/make.conf</filename> для глобального включения
этого параметра. Если вы используете модуль
<filename>acpi.ko</filename> , его можно пересобрать
индивидуально:</para>
<screen>&prompt.root; <userinput>cd /sys/modules/acpi/acpi
&amp;&amp; make clean &amp;&amp; make
ACPI_DEBUG=1</userinput></screen>
<para>Установите <filename>acpi.ko</filename> в
<filename role="directory">/boot/kernel</filename> и добавьте
предпочитаемый уровень и слой к <filename>loader.conf</filename>.
Этот пример включает отладочные сообщения для всех компонентов
<acronym>ACPI-CA</acronym> и всех драйверов оборудования
<acronym>ACPI</acronym> (<acronym>CPU</acronym>,
<acronym>LID</acronym> и т.д.). Будут выводиться только сообщения
об ошибках, наименьший уровень отладки.</para>
<programlisting>debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS"
debug.acpi.level="ACPI_LV_ERROR"</programlisting>
<para>Если требуемая информация получается в результате определенного
события (скажем, приостановка и восстановление), вы можете
не изменять <filename>loader.conf</filename> и использовать
для указания слоя и уровня <command>sysctl</command>
после загрузки и подготовки системы к определенному событию.
Имена переменных <command>sysctl</command> те же, что и имена
параметров настройки в <filename>loader.conf</filename>.</para>
</sect2>
<sect2 id="ACPI-References">
<title>Ссылки</title>
<para>Дальнейшую информацию о <acronym>ACPI</acronym> можно найти
по следующим ссылкам:</para>
<itemizedlist>
<listitem>
<para>Список рассылки <acronym>ACPI</acronym>
<ulink url="mailto:acpi-jp@jp.freebsd.org">
acpi-jp@jp.freebsd.org</ulink></para>
</listitem>
<listitem>
<para>Архивы списков рассылки <acronym>ACPI</acronym>
<ulink url="http://home.jp.freebsd.org/mail-list/acpi-jp/">
http://home.jp.freebsd.org/mail-list/acpi-jp/</ulink></para>
</listitem>
<listitem>
<para>Спецификация <acronym>ACPI</acronym> 2.0
<ulink url="http://acpi.info/spec.htm">
http://acpi.info/spec.htm/</ulink></para>
</listitem>
<listitem>
<para>Страницы справочника &os;: &man.acpi.4;,
&man.acpi.thermal.4;, &man.acpidump.8;, &man.iasl.8;,
&man.acpidb.8;</para>
</listitem>
<listitem>
<para><ulink
url="http://www.cpqlinux.com/acpi-howto.html#fix_broken_dsdt">
Ресурс по отладке <acronym>DSDT</acronym></ulink>.
(Использует в качестве примера Compaq, но обычно полезен.)</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
</chapter>