doc/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml
Ganbold Tsagaankhuu 494499fdd2 MFen: Resync with the English version of the handbook
Obtained from: FreeBSD Mongolian Documentation project
2009-05-19 15:06:28 +00:00

1482 lines
94 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
The FreeBSD Mongolian Documentation Project
Original revision 1.192
$FreeBSD$
-->
<chapter id="kernelconfig">
<chapterinfo>
<authorgroup>
<author>
<firstname>Жим</firstname>
<surname>Мок</surname>
<contrib>Шинэчилж дахин бүтцийг өөрчилсөн </contrib>
<!-- Mar 2000 -->
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Жэйк</firstname>
<surname>Хэмби</surname>
<contrib>Анхлан хувь нэмэр болгож оруулсан </contrib>
<!-- 6 Oct 1995 -->
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Цагаанхүүгийн</firstname>
<surname>Ганболд</surname>
<contrib>Орчуулсан </contrib>
<!-- Nov 2006 -->
</author>
</authorgroup>
</chapterinfo>
<title>FreeBSD цөмийг тохируулах нь</title>
<sect1 id="kernelconfig-synopsis">
<title>Ерөнхий агуулга</title>
<indexterm>
<primary>цөм</primary>
<secondary>өөрчлөн тохируулж цөм бүтээх нь</secondary>
</indexterm>
<para>Цөм нь &os; үйлдлийн системийн гол зүрх юм. Энэ нь санах ойг удирдах,
аюулгүй байдлын хяналтуудыг хийх, сүлжээнд холбогдох, диск уруу хандах
зэрэг олон үйлдлүүдийг хариуцан хийдэг. &os; улам илүү динамикаар тохируулагдах
болсон боловч зарим тохиолдолд цөмийг дахин тохируулж хөрвүүлэх шаардлага гардаг.</para>
<para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para>
<itemizedlist>
<listitem>
<para> Та магадгүй яагаад өөрт тохируулсан цөм бүтээх хэрэгтэй талаар.</para>
</listitem>
<listitem>
<para>Цөмийн тохиргооны файлыг хэрхэн бичих эсвэл байгаа тохиргооны файлыг
хэрхэн өөрчлөх талаар.</para>
</listitem>
<listitem>
<para>Цөмийн тохиргооны файлыг хэрхэн ашиглаж шинэ цөм үүсгэж бүтээх талаар.</para>
</listitem>
<listitem>
<para>Шинэ цөмийг хэрхэн суулгах талаар.</para>
</listitem>
<listitem>
<para>Хэрэв юм буруугаар эргэвэл хэрхэн алдааг олох талаар.</para>
</listitem>
</itemizedlist>
<para>Энэхүү бүлгийн жишээнүүд дэх тушаалууд нь амжилттай болохын тулд
<username>root</username> эрхээр ажиллах ёстой.</para>
</sect1>
<sect1 id="kernelconfig-custom-kernel">
<title>Яагаад өөрчлөн тохируулсан цөм бүтээх хэрэгтэй вэ?</title>
<para>Уламжлалаар бол &os; нь <quote>monolithic</quote> цөмтэй байсан байна.
Энэ нь цөм тоотой хэдэн төхөөрөмжүүдийн жагсаалтыг дэмжсэн нэг том програм
байсан гэсэн үг бөгөөд хэрэв та цөмийн ажиллагааг өөрчлөх бол шинэ цөм хөрвүүлж
дараа нь компьютераа шинэ цөмөөр ачаалан эхлүүлэх шаардлагатай байсан билээ.</para>
<para>Өнөөдөр &os; нь цөмийн ихэнх ажиллагаагаа шаардлагын дагуу динамикаар ачаалдаг
ба цөмөөс буцааж буулгах боломж бүхий модулиудаар тусгаарлагдсан загвар уруу шилжиж
байна. Энэ нь цөм шинэ тоног төхөөрөмжид (зөөврийн компьютер дэх PCMCIA
картууд зэрэг) дасан зохицож түүнийг хурдан хүртээмжтэй болгох, эсвэл цөм анх
хөрвүүлэгдэхдээ цөмд хэрэггүй байсан шинэ ажиллагааг цөмд бий болгох боломжийг
бүрдүүлдэг. Үүнийг модульчлагдсан цөм хэмээдэг юм.</para>
<para>Тэгсэн ч гэсэн зарим статик цөмийн тохиргоог заавал хийх шаардлагатай. Зарим
тохиолдолд ажиллагаа нь цөмтэй нягт холбоотой учраас динамикаар ачаалахаар хийх
боломжгүй байдаг юм. Бас энэ нь энгийнээр бол тэр үйл ажиллагаанд зориулж динамикаар
ачаалах модулийг бичих цаг хэнд ч олдоогүй байж болох юм.</para>
<para>Өөрчлөн тохируулсан цөм бүтээх нь BSD дэвшилтэт хэрэглэгчдийн хувьд хамгийн чухал
ажиллагаануудын нэг юм. Энэ процесс нь цаг их зарцуулах боловч таны &os; системд
олон ашиг өгөх болно.Өргөн хүрээний тоног төхөөрөмжүүдийг дэмжих ёстой
<filename>GENERIC</filename> цөмтэй харьцуулахад өөрчлөн тохируулсан цөм нь
зөвхөн таны PC-ний тоног төхөөрөмжүүдийг дэмждэг. Энэ нь дараах хэд хэдэн ашигтай:</para>
<itemizedlist>
<listitem>
<para>Хурдан ачаалах хугацаа. Цөм нь таны систем дэх тоног төхөөрөмжүүдийг зөвхөн
шалгах учраас системийг ачаалах хугацаа мэдэгдэхүйц багасдаг.</para>
</listitem>
<listitem>
<para>Санах ойн ашиглалт багасна. Өөрчлөн тохируулсан цөм нь
ашиглагдахгүй байгаа боломжууд болон төхөөрөмжийн драйверуудыг
орхигдуулснаар ихэнхдээ <filename>GENERIC</filename> цөмөөс бага санах ойг
ашигладаг. Цөмийн код нь бусад програмуудад санах ойг ашиглах боломжгүй
болгож санах ойд үргэлж байрлаж байдаг учир энэ нь маш чухал юм.
Ийм учраас өөрчилсөн цөм нь бага хэмжээний RAM-тай систем
дээр ялангуяа ашигтай байдаг.</para>
</listitem>
<listitem>
<para>Нэмэлт тоног төхөөрөмжийн дэмжлэг. Дууны картууд зэрэг
<filename>GENERIC</filename> цөмд байхгүй төхөөрөмжүүдийн дэмжлэгийг
нэмэх боломжийг танд өөрчлөн тохируулсан цөм олгоно.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="kernelconfig-devices">
<sect1info>
<authorgroup>
<author>
<firstname>Том</firstname>
<surname>Рөүдс</surname>
<contrib>Бичсэн </contrib>
</author>
</authorgroup>
</sect1info>
<title>Системийн тоног төхөөрөмж хайж олох нь</title>
<para>Цөмийн тохиргоо уруу орж үзээд алдахаасаа өмнө машиныхаа
тоног төхөөрөмжийн бүртгэлийг олж авах нь ухаалаг явдал юм.
&os; нь үндсэн үйлдлийн систем биш тохиолдолд байгаа үйлдлийн
системийн тохиргоог харан бүртгэлийн жагсаалтыг хялбархан
үүсгэж болно. Жишээ нь &microsoft;-ийн
<application>Device Manager</application> буюу төхөөрөмжийн
менежер нь суулгагдсан төхөөрөмжүүдийн талаарх чухал
мэдээллийг ихэвчлэн агуулдаг.
<application>Device Manager</application> нь control panel
буюу хяналтын самбарт байрладаг.</para>
<note>
<para>&microsoft.windows;-ийн зарим хувилбаруудад
<application>System</application> гэсэн дүрс байдаг бөгөөд
энэ нь <application>Device Manager</application> уруу хандах
боломжтой дэлгэцийг харуулдаг.</para>
</note>
<para>Хэрэв өөр үйлдлийн систем машин дээр байхгүй бол
администратор энэ мэдээллийг өөрөө олох хэрэгтэй болно.
Нэг арга нь &man.dmesg.8; хэрэгсэл болон &man.man.1;
тушаалуудыг ашиглах явдал юм. &os; дээр ихэнх төхөөрөмжийн
драйверууд нь дэмжигдсэн тоног төхөөрөмжүүдийн жагсаалтыг
харуулсан гарын авлагын хуудастай байдаг бөгөөд ачаалах үед
шалгаж байх явцад олдсон тоног төхөөрөмжийг харуулдаг.
Жишээ нь дараах мөрүүд нь <devicename>psm</devicename>
драйвер хулгана олсон гэдгийг харуулж байна:</para>
<programlisting>psm0: &lt;PS/2 Mouse&gt; irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Generic PS/2 mouse, device ID 0</programlisting>
<para>Энэ драйвер нь өөрчлөн тохируулах цөмийн тохиргооны
файлд орсон байх эсвэл &man.loader.conf.5; ашиглан ачаалагдсан
байх хэрэгтэй болно.<para>
<para>Зарим тохиолдолд <command>dmesg</command>-ээс гарч
байгаа өгөгдөл нь ачаалалтын шалгалт, илрүүлэлтийн гаралтыг
биш зөвхөн системийн мэдэгдлүүдийг үзүүлдэг. Эдгээр тохиолдлуудад
<filename>/var/run/dmesg.boot</filename> файлыг
үзэн гаралтыг олж авч болно.</para>
<para>Тоног төхөөрөмжийг олох өөр нэг арга бол илүү дэлгэрэнгүй
гаралтыг үзүүлдэг &man.pciconf.8; хэрэгслийг ашиглах явдал юм.
Жишээ нь:</para>
<programlisting>ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
vendor = 'Atheros Communications Inc.'
device = 'AR5212 Atheros AR5212 802.11abg wireless'
class = network
subclass = ethernet</programlisting>
<para><command>pciconf <option>-lv</option></command> ашиглан
олж авсан энэ бяцхан мэдээлэл нь <devicename>ath</devicename>
драйвер утасгүй Ethernet төхөөрөмжийг олсныг харуулж байна.
<command>man <replaceable>ath</replaceable></command> тушаалыг
ашиглавал &man.ath.4; гарын авлагын хуудсыг харуулах
болно.</para>
<para>Ашигтай мэлээлэл олж авахын тулд &man.man.1; уруу
<option>-k</option> тугийг өгөн ашиглаж болно. Дээрхээс
ингэж өгч болно:</para>
<screen>&prompt.root; man -k <replaceable>Atheros</replaceable></screen>
<para>Тухайн нэг үг агуулсан гарын авлагын хуудсын жагсаалтыг
олж авахын тулд:</para>
<programlisting>ath(4) - Atheros IEEE 802.11 wireless network driver
ath_hal(4) - Atheros Hardware Access Layer (HAL)</programlisting>
<para>Тоног төхөөрөмжийн жагсаалтаар зэвсэглэснээр
цөмийг өөрчлөн тохируулж бүтээх процесс нь арай хялбар болно.</para>
</sect1>
<sect1 id="kernelconfig-modules">
<title>Цөмийн драйверууд, дэд системүүд, болон модулиуд</title>
<indexterm>
<primary>kernel</primary>
<secondary>drivers / modules / subsystems</secondary>
</indexterm>
<para>Өөрчлөн тохируулсан цөмийг бүтээхийн өмнө тэгж хийх шалтгаанаа
бодож үзэх хэрэгтэй. Хэрэв тусгайлсан тоног төхөөрөмжийн дэмжлэг хэрэгтэй
байгаа бол тэр нь модуль хэлбэрээр аль хэдийн байж байж болох юм.</para>
<para>Цөмийн модулиуд нь <filename class="directory">/boot/kernel</filename>
санд байх бөгөөд ажиллаж байгаа цөмд &man.kldload.8;-г ашиглан динамикаар
дуудаж болдог. Цөмийн бүх драйверуудын ихэнх нь тусгай модуль болон гарын
авлагын хуудастай байдаг. Жишээ нь сүүлийн хэсэг <devicename>ath</devicename>
гэсэн утасгүй Ethernet драйверийн талаар дурдсан байдаг.
Энэ төхөөрөмж нь өөрийн гарын авлагадаа дараах мэдээллийг агуулсан
байдаг:</para>
<programlisting>Alternatively, to load the driver as a module at boot time, place the
following line in &man.loader.conf.5:
if_ath_load="YES"</programlisting>
<para>Зааврын дагуу <filename>/boot/loader.conf</filename> файлд
<literal>if_ath_load="YES"</literal> мөрийг нэмснээр энэ модулийг
ачаалах үед динамикаар дуудах боломжийг идэвхжүүлнэ.</para>
<para>Гэхдээ зарим тохиолдолд холбоотой модуль байдаггүй. Энэ нь
зарим нэг дэд системүүд болон маш чухал драйверуудын хувьд бодит
бөгөөд жишээ нь fast file system (<acronym>FFS</acronym>) буюу
түргэн файлын систем нь цөмд заавал байх шаардлагатай тохируулга юм.
Мөн сүлжээний дэмжлэгийн (INET) хувьд ийм байна.
Харамсалтай нь драйвер шаардлагатай эсэхийг хэлэх цорын ганц зам нь
модулийг нь шалгах явдал юм.</para>
<warning>
<para>Төхөөрөмж эсвэл тохируулгын цөмд цуг бүтээгдсэн дэмжлэгийг устгаж
эвдэрхий цөмтэй үлдэх нь их хялбар юм. Жишээ нь &man.ata.4;
драйверийг цөмийн тохиргооны файлаас авчих юм бол <acronym>ATA</acronym>
дискийн хөтөчүүд нь <filename>loader.conf</filename>-д тусгай мөр
нэмэлгүйгээр эхлэн ачаалахгүй байж болох юм. Хэрэв эргэлзэж байгаа
бол модулийг шалгаад дараа нь ердөө л дэмжлэгийг цөмд үлдээх
хэрэгтэй.</para>
</warning>
</sect1>
<sect1 id="kernelconfig-building">
<title>Өөрчлөн тохируулсан цөмийг бүтээх ба суулгах нь</title>
<indexterm>
<primary>цөм</primary>
<secondary>бүтээх / суулгах</secondary>
</indexterm>
<para>Эхлээд цөм бүтээх сангаар аялая. Дурдсан бүх сангуудаас гол нь
<filename>/usr/src/sys</filename> сан байх бөгөөд
<filename>/sys</filename> гэсэн замаар бас хандах боломжтой.
Энд байгаа хэд хэдэн дэд сангууд цөмийн өөр өөр хэсгүүдийг илэрхийлэх бөгөөд
бидний зорилгод хамгийн чухал нь таны өөрчлөн тохируулах цөмийн тохиргоог
засварлах <filename><replaceable>arch</replaceable>/conf</filename>
сангууд болон таны цөм бүтээгдэх шатны талбар <filename>compile</filename>
сан юм. <replaceable>arch</replaceable> нь
<filename>i386</filename>, <filename>alpha</filename>,
<filename>amd64</filename>, <filename>ia64</filename>,
<filename>powerpc</filename>, <filename>sparc64</filename>, эсвэл
<filename>pc98</filename> (Японд их ашиглагддаг PC тоног төхөөрөмжийн
өөр нэг хөгжүүлэлтийн салбар) зэргийг төлөөлдөг. Тухайн архитектурын сан доторх
код зөвхөн тэр архитектуртай холбоотой; бусад кодын хэсэг нь &os; порт хийгдэх
боломж бүхий бүх тавцангуудын хувьд адил машинаас чөлөөт код байна. Сангийн бүтцийн
логик зохион байгуулалт нь дэмжлэг хийгдсэн төхөөрөмж, файлын систем болон өөрийн дэд
санд байгаа тохируулга бүртэй хамт байгааг харж болно.</para>
<para>Энэ бүлэг жишээн дээр таныг i386 архитектур ашиглаж байгаа гэж авч үзнэ.
Хэрэв энэ нь таны хувьд өөр байх юм бол та өөрийн системийн архитектурын хувьд замуудын
нэрнүүддээ тохирох өөрчлөлтүүдийг хийгээрэй.</para>
<note>
<para>Хэрэв таны систем дээр <filename>/usr/src/sys</filename> сан
<emphasis>байхгүй</emphasis> бол цөмийн эх суугаагүй байна. Үүнийг хамгийн хялбар аргаар
хийхийн тулд <username>root</username> эрхээр <command>sysinstall</command>
ажиллуулж <guimenuitem>Configure</guimenuitem> сонгоод, дараа нь
<guimenuitem>Distributions</guimenuitem> сонгоод,
<guimenuitem>src</guimenuitem> сонгоод, дараа нь
<guimenuitem>base</guimenuitem> болон
<guimenuitem>sys</guimenuitem>-г сонгож татаж авна. Хэрэв та
<application>sysinstall</application> -д дургүй ба
<quote>албан ёсны</quote> &os; CDROM-д хандах боломжтой бол
тушаалын мөрөөс эхийг бас суулгаж болно:</para>
<screen>&prompt.root; <userinput>mount /cdrom</userinput>
&prompt.root; <userinput>mkdir -p /usr/src/sys</userinput>
&prompt.root; <userinput>ln -s /usr/src/sys /sys</userinput>
&prompt.root; <userinput>cat /cdrom/src/ssys.[a-d]* | tar -xzvf -</userinput>
&prompt.root; <userinput>cat /cdrom/src/sbase.[a-d]* | tar -xzvf -</userinput></screen>
</note>
<para>Дараа нь <filename><replaceable>arch</replaceable>/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>
<para>Уламжлалаар бол энэ нэр нь бүгд том үсгээр байдаг, хэрэв та олон өөр өөр төрлийн &os;
машинуудын ажиллагааг хянадаг бол машинуудынхаа нэрээр нэрлэх нь зохимжтой юм.
Бид энэ жишээнийхээ зорилгоор <filename><replaceable>MYKERNEL</replaceable></filename> гэж нэрлэе.</para>
<tip>
<para>Өөрийн цөмийн тохиргооны файлаа шууд <filename>/usr/src</filename>
доор хадгалах нь буруу байж болох юм. Хэрэв та асуудлуудтай тулгарч байгаа бол
<filename>/usr/src</filename> -ийг устгаад л дахиж эхлэх нь зоригтой
алхам байж болох юм. Гэхдээ үүнийг хийгээд хэдэн секундын дараа л та өөрийн
өөрчлөн тохируулсан цөмийн тохиргооны файлаа устгасан болохоо мэдэх болно.
Мөн <filename>GENERIC</filename> файлыг шууд засварлах хэрэггүй бөгөөд
дараагийн удаа <link linkend="updating-upgrading">өөрийн эх модыг шинэчлэх</link>
үйлдлийг хийхэд дарагдан хуулагдаж таны цөмийн өөрчлөлт алдагдаж магадгүй.</para>
<para>Та цөмийн тохиргооны файлаа өөр газар хадгалж дараа нь
<filename><replaceable>i386</replaceable></filename> сан дахь
файл уруу тэмдэгт холбоос үүсгэж болно.</para>
<para>Жишээ нь:</para>
<screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/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>
</tip>
<para>Одоо <filename><replaceable>MYKERNEL</replaceable></filename>-ийг өөрийн дуртай текст засварлагч дээр
засаарай. Хэрэв та дөнгөж эхэлж байгаа бол байгаа цорын ганц засварлагч нь
<application>vi</application> байж болох бөгөөд түүнийг энд тайлбарлахад хэтэрхий
төвөгтэй боловч <link linkend="bibliography">номын жагсаалтад</link>
байгаа өөр олон номнуудад бичсэн байгаа. Гэхдээ &os; нь <application>ee</application>
гэдэг хялбар засварлагчийг санал болгодог бөгөөд хэрэв та эхлэн сурагч бол энэ нь
таны сонгох засварлагч байх болно. Өөрийн тохиргоог тусгах эсвэл <filename>GENERIC</filename>
файлаас өөрийн хийсэн өөрчлөлтүүдээс ялгахын тулд дээд хэсэгт байгаа мөрүүдийг
чөлөөтэй өөрчлөөрэй.</para>
<indexterm><primary>SunOS</primary></indexterm>
<para>Хэрэв та &sunos; эсвэл өөр BSD үйлдлийн системийн доор цөм бүтээж байсан бол
энэ файлын ихэнх хэсэг нь маш танил байх болно. Хэрэв та DOS зэрэг өөр үйлдлийн
системээс ирж байгаа бол нөгөө талаасаа <filename>GENERIC</filename>
тохиргооны файл төвөгтэй юм шиг санагдаж болох бөгөөд
<link linkend="kernelconfig-config">Тохиргооны файл</link> хэсгийн
тайлбаруудыг удаан нухацтай дагаарай.</para>
<note>
<para>Хэрэв та &os; төслийн хамгийн сүүлийн эхээр <link
linkend="updating-upgrading">өөрийн эх модоо сүүлийн үеийн хэлбэрт авчирсан</link> бол
шинэчлэх шатуудаа хэрэгжүүлж эхлэхээсээ өмнө <filename>/usr/src/UPDATING</filename>
файлыг үргэлж шалгаж байх нь чухал юм. Энэ файл нь шинэчилсэн эх код доторх тусгай
анхаарал шаардлагатай чухал асуудлууд эсвэл хэсгүүдийн талаар тайлбарладаг.
<filename>/usr/src/UPDATING</filename> нь үргэлж таны &os;
хувилбартай таардаг бөгөөд энэ гарын авлагаас илүү шинэ мэдээлэлтэй, сүүлийн үеийнх
байдаг.</para>
</note>
<para>Та цөмд зориулан эх кодоо хөрвүүлэх шаардлагатай.
<procedure>
<title>Цөмийг бүтээх нь</title>
<step>
<para> <filename
class="directory">/usr/src</filename> сан уруу орно:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
</step>
<step>
<para>Цөмийг хөрвүүлнэ:</para>
<screen>&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen>
</step>
<step>
<para>Шинэ цөмийг суулгана:</para>
<screen>&prompt.root; <userinput>make installkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen>
</step>
</procedure>
<note>
<para>Цөмийг бүтээхэд гүйцэд &os;-ийн эх мод байх шаардлагатай.</para>
</note>
<tip>
<para> Анхдагчаар өөрчлөн тохируулсан цөмийг бүтээхэд <emphasis>бүх</emphasis>
цөмийн модулиуд бас бүтээгдэнэ. Хэрэв та цөмийг хурдан шинэчлэхийг
эсвэл зөвхөн өөрчлөн тохируулсан модулиудыг бүтээхийг хүсэж байгаа бол цөмийг бүтээж
эхлэхээсээ өмнө <filename>/etc/make.conf</filename> файлыг засварлах
хэрэгтэй:</para>
<programlisting>MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs</programlisting>
<para>Энэ хувьсагч нь бүгдийг биш бүтээх модулиудын жагсаалтыг тодорхойлдог.</para>
<programlisting>WITHOUT_MODULES = linux acpi sound/sound sound/driver/ds1 ntfs</programlisting>
<para>Энэ хувьсагч нь бүтээх процессод оруулахгүй байх модулиудын жагсаалтыг
тодорхойлдог. Цөмийг бүтээх процессийн явцад танд хэрэг болохуйц бусад
хувьсагчуудын тухайд &man.make.conf.5; гарын авлагын хуудсанд хандаж
үзнэ үү.</para>
</tip>
<indexterm>
<primary><filename class="directory">/boot/kernel.old</filename></primary>
</indexterm>
<para>Шинэ цөм <filename class="directory">/boot/kernel</filename> санд
<filename>/boot/kernel/kernel</filename> нэрээр хуулагдах бөгөөд
хуучин цөм нь <filename>/boot/kernel.old/kernel</filename> уруу хуулагдана.
Одоо системийг унтраагаад шинэ цөмийг ашиглан дахин ачаал. Хэрэв ямар нэг юм болохгүй болбол
энэ бүлгийн төгсгөлд байгаа <link linkend="kernelconfig-trouble">алдааг олж засварлах</link>
заавар танд хэрэгтэй байж болох юм. Таны шинэ цөм <link
linkend="kernelconfig-noboot">ачаалахгүй</link> тохиолдолд хэрхэн сэргээх
талаар тайлбарласан хэсгийг заавал уншаарай.</para>
<note>
<para>Ачаалах &man.loader.8; ба тохиргоо зэрэг ачаалах процесстой холбоотой бусад файлууд
<filename>/boot</filename> -д хадгалагдана. Гуравдагч этгээдийн
эсвэл өөрчлөн тохируулсан модулиуд <filename class="directory">/boot/kernel</filename>-д
байрлах бөгөөд гэхдээ модулиудыг хөрвүүлсэн цөмийн адил сүүлийн үеийн хэлбэрт байлгах нь маш чухал гэдгийг
хэрэглэгчид мэдэх шаардлагатай. Хөрвүүлсэн цөмтэй хамт ажиллуулахааргүй модулиуд нь
тогтворгүй байдал эсвэл буруу ажиллагаанд хүргэж болзошгүй юм.</para>
</note>
</sect1>
<sect1 id="kernelconfig-config">
<sect1info>
<authorgroup>
<author>
<firstname>Жоэл</firstname>
<surname>Даль</surname>
<contrib>&os; 6.X -д зориулан шинэчилсэн </contrib>
</author>
</authorgroup>
</sect1info>
<title>Тохиргооны файл</title>
<indexterm>
<primary>цөм</primary>
<secondary>ТЭМДЭГЛЭЛҮҮД</secondary>
</indexterm>
<indexterm><primary>ТЭМДЭГЛЭЛҮҮД</primary></indexterm>
<indexterm>
<primary>цөм</primary>
<secondary>тохиргооны файл</secondary>
</indexterm>
<para>Тохиргооны файлын ерөнхий хэлбэр нь маш энгийн билээ.
Мөр болгон түлхүүр үг бөгөөд нэг болон хэд хэдэн нэмэлт өгөгдлөөс тогтоно.
Амархан болгох үүднээс ихэнх мөрүүд нь зөвхөн нэг нэмэлт өгөгдөлтэй байна.
<literal>#</literal> тэмдэгтийн ард байгаа зүйлс тайлбар бөгөөд
хаягдаж тооцогдоно. Дараах хэсэгт түлхүүр үг болгоныг <filename>GENERIC</filename> -д
жагсаасан дарааллаар нь тайлбарлаж байна.
<anchor id="kernelconfig-options"> Архитектураас хамааралтай
тохируулгууд болон төхөөрөмжийн ядраамаар жагсаалтын талаар
<filename>GENERIC</filename> файл байгаа сангийн нэгэн адил санд байрлах
<filename>NOTES</filename> файлаас үзнэ үү.
Архитектураас хамааралгүй тохируулгуудын талаар
<filename>/usr/src/sys/conf/NOTES</filename> файлаас үзнэ үү.
</para>
<para>&os; 5.0-с эхлэн тохиргооны файлуудад ашиглах боломжтой
шинэ <literal>include</literal> тохируулга бий болсон. Энэ нь
өөр нэг тохиргооны файлыг тухайн тохиргооны файлд оруулах
боломжийг бүрдүүлэх бөгөөд ингэснээр тухайн файлын хувьд
харьцангуй бага өөрчлөлтүүдийг арчлах боломжтой болгодог.
Жишээ нь хэрэв танд цөөн тооны нэмэлт тохируулга эсвэл
драйверуудтай <filename>GENERIC</filename> цөм шаардлагатай бол
энэ нь GENERIC-ийн хувьд цөөн өөрчлөлтийг арчлах боломжийг
танд олгоно:</para>
<programlisting>include GENERIC
ident MYKERNEL
options IPFIREWALL
options DUMMYNET
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT
</programlisting>
<para>Энэ загвар нь тохиргооны файлуудыг эхнээс нь бичих
уламжлалт аргын хажууд хамаагүй илүү боломжийг олгодог гэдэгтэй
ихэнх админинстраторууд санал нэг байдаг: локал тохиргооны
файл нь зөвхөн <filename>GENERIC</filename> цөмөөс ялгаатай
локал өөрчлөлтүүдийг харуулах бөгөөд шинэчлэлт хийгдэхэд
<filename>GENERIC</filename>-д нэмэгдсэн шинэ боломжууд нь
<literal>nooptions</literal> эсвэл <literal>nodevice</literal> тохируулгуудаар
тусгайлан заагдаагүй л бол локал цөмд нэмэгддэг. Энэ бүлгийн
үлдсэн хэсэг ердийн тохиргооны файлын агуулга ба төрөл бүрийн тохируулгын
үүрэг болон ажиллах төхөөрөмжүүдийг тайлбарлах болно.</para>
<note>
<para>Тест хийх зорилгоор ихэнхдээ бүх байгаа тохируулгууд агуулсан файлыг бүтээхдээ
дараах тушаалыг <username>root</username> эрхээр ажиллуулна:</para>
<screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf &amp;&amp; make LINT</userinput></screen>
</note>
<indexterm>
<primary>цөм</primary>
<secondary>тохиргооны файл</secondary>
</indexterm>
<para>Дараах жишээ нь шаардлагатай бол тодотгох зорилгоор оруулсан төрөл бүрийн нэмэлт тайлбар бүхий
<filename>GENERIC</filename> цөмийн тохиргооны файл юм. Энэ жишээ нь
таны <filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/GENERIC</filename>
дахь хуулбартай их ойрхон таарах ёстой.</para>
<indexterm>
<primary>цөмийн тохируулгууд</primary>
<secondary>machine</secondary>
</indexterm>
<programlisting>machine i386</programlisting>
<para>Энэ нь машины архитектур юм. Энэ нь
<literal>alpha</literal>, <literal>amd64</literal>,
<literal>i386</literal>, <literal>ia64</literal>,
<literal>pc98</literal>, <literal>powerpc</literal>, эсвэл
<literal>sparc64</literal> -ийн аль нэг байх ёстой.</para>
<indexterm>
<primary>цөмийн тохируулгууд</primary>
<secondary>cpu</secondary>
</indexterm>
<programlisting>cpu I486_CPU
cpu I586_CPU
cpu I686_CPU</programlisting>
<para>Дараах тохируулга нь таны системд байгаа CPU-ийн төрлийг заана.
Та олон CPU мөртэй байж болох боловч (хэрэв, жишээ нь та
<literal>I586_CPU</literal> эсвэл <literal>I686_CPU</literal>
хоёрын алийг ашиглахаа сайн мэдэхгүй байгаа бол) өөрчлөн тохируулсан
цөмийн хувьд зөвхөн байгаа CPU-гээ заах нь зүйтэй юм. Хэрэв та өөрийн
CPU-ийн төрлийг сайн мэдэхгүй байгаа бол <filename>/var/run/dmesg.boot</filename>
файлыг шалгаж ачаалах үеийн мэдээллүүдийг үзэж болно.</para>
<indexterm>
<primary>цөмийн тохируулгууд</primary>
<secondary>ident</secondary>
</indexterm>
<programlisting>ident GENERIC</programlisting>
<para>Энэ нь цөмийг тодорхойлох нэр юм. Хэрэв та
түрүүний жишээнүүдэд дурдсан заавруудыг дагасан бол өөрийн цөмийг нэрлэсэн
шигээ өөрөөр хэлбэл <literal><replaceable>MYKERNEL</replaceable></literal> хэмээн өөрчлөх
хэрэгтэй. <literal>ident</literal> мөрд оруулсан утга нь таныг цөмийг ачаалах
үед хэвлэгдэн гарах учир та өөрийн ердийн цөмөөс шинэ цөмөө тусад нь хадгалахыг хүсвэл
шинэ цөмдөө өөр нэр өгөх нь ашигтай байдаг (өөрөөр хэлбэл та туршилтын цөм бүтээхийг
хүсвэл).</para>
<programlisting>#To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.</programlisting>
<para>&man.device.hints.5; нь төхөөрөмжүүдийн драйверуудын тохируулгуудыг
хийхэд ашиглагдана. &man.loader.8;-ийн ачаалах үе шалгах анхдагч байрлал нь
<filename>/boot/device.hints</filename> байна.
<literal>hints</literal> тохируулгыг ашиглаад та эдгээр зөвлөгөөнүүдийг
статикаар хөрвүүлж болно. Тэгэхэд <filename>/boot</filename> дотор
<filename>device.hints</filename> файл үүсгэх шаардлагагүй
болох юм.</para>
<!-- XXX: Add a comment here that explains when compiling hints into
the kernel is a good idea and why. -->
<programlisting>makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols</programlisting>
<para>&os; -г бүтээх ердийн процесс нь дибаг (debug) хийх мэдээллийг агуулдаг
бөгөөд цөмийг бүтээх үед <option>-g</option> тохируулгыг &man.gcc.1;
уруу өгснөөр дибаг (debug) хийх мэдээлэл идэвхждэг.</para>
<programlisting>options SCHED_4BSD # 4BSD scheduler</programlisting>
<para>&os; -ийн уламжлалт, анхдагч системийн төлөвлөгч/хуваарилагч. Үүнийг үлдээ.</para>
<programlisting>options PREEMPTION # Enable kernel thread preemption</programlisting>
<para>Цөм дэх урсгалуудыг (thread) өөр илүү өндөр давуу эрхтэй урсгалуудаар
солих боломжийг бүрдүүлнэ. Энэ нь харилцан ажиллах болон таслах урсгалуудыг
(interrupt threads) хүлээлгэлгүйгээр аль болох түргэн ажиллуулахад тусалдаг.</para>
<programlisting>options INET # InterNETworking</programlisting>
<para>Сүлжээний дэмжлэг. Сүлжээнд холбогдохгүй ч гэсэн энэ тохиргоог үлдээгээрэй.
Ихэнх програмууд эргэн холбогдох (loopback буюу өөрөөр хэлбэл өөрийн PC
дотор сүлжээний холболт хийх) сүлжээг шаарддаг учир энэ нь үндсэндээ зайлшгүй
шаардлагатай.</para>
<programlisting>options INET6 # IPv6 communications protocols</programlisting>
<para>Энэ нь IPv6 холбооны протоколуудыг идэвхжүүлдэг.</para>
<programlisting>options FFS # Berkeley Fast Filesystem</programlisting>
<para>Энэ нь энгийн хатуу дискний файлын систем. Энэ тохируулгыг хатуу дискнээс
ачаалах бол үлдээгээрэй.</para>
<programlisting>options SOFTUPDATES # Enable FFS Soft Updates support</programlisting>
<para>Энэ тохируулга нь Зөөлөн Шинэчлэлүүдийг цөм идэвхжүүлдэг бөгөөд
диск уруу бичих хандалтыг хурдасгахад тусалдаг. Хэдийгээр энэ боломжийг
цөмөөр хангадаг боловч диск дээр идэвхжүүлэх шаардлагатай.
Таны системийн дискнүүд дээр Зөөлөн Шинэчлэлүүд идэвхжсэн эсэхийг
&man.mount.8; -ийн үр дүнгээр хянаарай. Хэрэв та <literal>soft-updates</literal>
тохируулгыг олж харахгүй байгаа бол &man.tunefs.8; (одоо байгаа системийн хувьд)
эсвэл &man.newfs.8; (шинэ файлын системийн хувьд) ашиглан идэвхжүүлэх хэрэгтэй.</para>
<programlisting>options UFS_ACL # Support for access control lists</programlisting>
<para>Энэ тохируулга нь хандалтыг хянах жагсаалтын дэмжлэгийг цөмд идэвхжүүлдэг.
Энэ нь өргөтгөсөн шинж чанарууд ба <acronym>UFS2</acronym>-ийг ашиглахад
тулгуурлаж байгаа бөгөөд энэ боломжийн талаар <xref linkend="fs-acl"> дээр
дэлгэрэнгүй тайлбарласан байдаг. <acronym>ACL</acronym>-үүд эхэндээ
идэвхжүүлсэн байдаг бөгөөд хэрэв урьд нь файлын систем дээр ашиглагдаж байсан
бол хандалтыг хянах жагсаалтыг устгаж файлуудыг хамгаалсан аргыг урьдчилан тааж
болшгүй байдалт хүргэдэг учир энэ тохируулгыг хааж болохгүй.</para>
<programlisting>options UFS_DIRHASH # Improve performance on big directories</programlisting>
<para>Энэ тохируулга нь нэмэгдэл санах ойг зарлагадаж том сангуудад хийх дискний
үйлдлүүдийг хурдасгах ажиллагааг оруулдаг. Та том сервер эсвэл харилцан ажиллах
ажлын станцад зориулж энэ тохируулгыг ерөнхийдөө хадгалах хэрэгтэй бөгөөд
хэрэв та &os;-г санах ой чухал жижиг систем ба дискний хандалтын хурдны ач
холбогдол багатай галт хана мэтийн систем дээр ашиглаж байгаа бол устгаарай.</para>
<programlisting>options MD_ROOT # MD is a potential root device</programlisting>
<para>Энэ тохируулга нь санах ой дээр тулгуурласан, root төхөөрөмж болж ашиглагдах
виртуал дискний дэмжлэгийг идэвхжүүлдэг.</para>
<indexterm>
<primary>цөмийн тохируулгууд</primary>
<secondary>NFS</secondary>
</indexterm>
<indexterm>
<primary>цөмийн тохируулгууд</primary>
<secondary>NFS_ROOT</secondary>
</indexterm>
<programlisting>options NFSCLIENT # Network Filesystem Client
options NFSSERVER # Network Filesystem Server
options NFS_ROOT # NFS usable as /, requires NFSCLIENT</programlisting>
<para>Сүлжээний файлын систем. Хэрэв та TCP/IP-аар &unix; файлын серверээс
хуваалтыг холболт хийх төлөвлөгөөгүй бол эдгээрийг тайлбар болгон хааж болно.</para>
<indexterm>
<primary>цөмийн тохируулгууд</primary>
<secondary>MSDOSFS</secondary>
</indexterm>
<programlisting>options MSDOSFS # MSDOS Filesystem</programlisting>
<para>&ms-dos; файлын систем. Хэрэв та DOS хэлбэржүүлсэн хатуу дискний хуваалтыг
ачаалах үед холболт хийх төлөвлөгөөгүй бол үүнийг айлгүйгээр тайлбар болгон хааж болно.
Энэ нь дээр тайлбарласны дагуу эхний удаа DOS хуваалтыг холболт хийхэд автоматаар ачаалагдах
болно. Мөн маш сайн <filename role="package">emulators/mtools</filename>
програм хангамж нь холболт болон салгалт хийлгүйгээр DOS уян дискнүүдэд хандах боломжийг
бүрдүүлдэг (энэ нь <literal>MSDOSFS</literal>-ийг огт шаарддаггүй).</para>
<programlisting>options CD9660 # ISO 9660 Filesystem</programlisting>
<para>CDROM-уудад зориулсан ISO 9660 файлын систем. Хэрэв та CDROM хөтлөгч
байхгүй эсвэл CD-ээс өгөгдлийг хааяа холболт хийдэг бол (таныг анх өгөгдлийн CD-г
холболт хийх үед динамикаар ачаалагддаг учраас) тайлбар болгож хааж болно.
Дууны CD-үүд энэ файлын системийг хэрэглэдэггүй.</para>
<programlisting>options PROCFS # Process filesystem (requires PSEUDOFS)</programlisting>
<para>Процессийн файлын систем. Энэ нь &man.ps.1; шиг програмууд процессуудын
ажиллаж байгаа талаар дэлгэрэнгүй мэдээлэл танд өгөх боломжийг бүрдүүлдэг
<filename>/proc</filename> дээр холболт хийгдсэн <quote>хуурамч</quote>
файлын систем юм. Ихэнх дибаг хийх ба монитор хийх хэрэгслүүд
<literal>PROCFS</literal> -гүйгээр ажиллахаар хийгдсэн байдаг:
суулгалтууд нь энэ файлын системийг анхдагчаар холболт хийхгүй, тиймээс
<literal>PROCFS</literal>-ийг ашиглах нь ихэнх тохиолдолд
шаардлагагүй байдаг.</para>
<programlisting>options PSEUDOFS # Pseudo-filesystem framework</programlisting>
<para>6.X цөмүүд <literal>PROCFS</literal> ашиглаж байгаа бол бас
<literal>PSEUDOFS</literal> дэмжлэгийг оруулах шаардлагатай.</para>
<programlisting>options GEOM_GPT # GUID Partition Tables.</programlisting>
<para>Энэ тохируулга нь нэг диск дээр их олон тооны хуваалт байх боломжийг
авчирна.</para>
<programlisting>options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]</programlisting>
<para>4.3BSD-тэй нийцтэй байх. Үүнийг энэ чигээр орхи; хэрэв үүнийг тайлбар болгож
хаавал зарим програмууд сонин ажиллаж эхэлнэ.</para>
<programlisting>options COMPAT_FREEBSD4 # Compatible with &os;4</programlisting>
<para>Энэ тохируулга нь &os;&nbsp;5.X &i386; ба Alpha системүүд дээр &os;-ийн хуучин
хувилбарууд дээр хөрвүүлэгдсэн, хуучин системийн дуудлагуудын интерфэйсүүдийг ашигладаг
програмуудыг дэмжихэд шаардлагатай. Энэ тохируулгыг хуучин програмууд ашиглаж болзошгүй
бүх &i386; болон Alpha системүүд дээр ашиглахыг зөвлөж байна; ia64 ба &sparc64;
зэрэг 5.X дээр зөвхөн дэмжлэг хийгдсэн тавцангууд энэ тохируулгыг шаарддаггүй.</para>
<programlisting>options COMPAT_FREEBSD5 # Compatible with &os;5</programlisting>
<para>Энэ тохируулга нь &os;&nbsp;5.X системийн дуудлагын интерфэйсүүдийг ашигладаг,
&os;&nbsp;5.X хувилбарууд дээр эмхэтгэгдсэн програмуудыг &os;&nbsp;6.X болон
түүнээс дараа үеийн хувилбарууд дээр дэмжихэд шаардлагатай.</para>
<programlisting>options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI</programlisting>
<para>Энэ нь цөмийг SCSI төхөөрөмжүүдийг шалгаж эхлэхээс өмнө 5 секунд түр зогсооно. Хэрэв
та зөвхөн IDE хатуу дисктэй бол үүнийг орхиж болно, эсрэг тохиолдолд ачаалалтыг хурдасгахын
тулд энэ тоог багасгаж болно. Мэдээж та үүнийг хийгээд &os; таны SCSI төхөөрөмжүүдийг
танихгүй бол та дахин үүнийг ихэсгэж болно.</para>
<programlisting>options KTRACE # ktrace(1) support</programlisting>
<para>Энэ нь дибаг хийхэд ашигтай, цөмийн процессийг дагах боломжийг идэвхжүүлдэг.</para>
<programlisting>options SYSVSHM # SYSV-style shared memory</programlisting>
<para>Энэ тохируулга нь System&nbsp;V хуваалцсан санах ойн боломж бүрдүүлдэг. Энэ боломжийн
өргөн хэрэглээнүүдийн нэг нь X дэх XSHM өргөтгөл бөгөөд үүнийг график их шаарддаг олон програмууд
автоматаар илүү хурд авахын тулд ашигладаг. Хэрэв та X ашигладаг бол үүнийг заавал оруулахыг
хүсэх болно.</para>
<programlisting>options SYSVMSG # SYSV-style message queues</programlisting>
<para>System&nbsp;V мэдээллүүдийн дэмжлэг. Энэ тохируулга нь зөвхөн хэдхэн зуун байтыг
цөмд нэмдэг.</para>
<programlisting>options SYSVSEM # SYSV-style semaphores</programlisting>
<para>System&nbsp;V семафорын дэмжлэг. Нэг их өргөн ашиглагддаггүй боловч
хэдхэн зуун байтыг цөмд нэмдэг.</para>
<note>
<para>&man.ipcs.1; тушаалын <option>-p</option> тохируулга нь эдгээр
System&nbsp;V боломж бүрийг ашигласан процессуудыг жагсаадаг.</para>
</note>
<programlisting>options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions</programlisting>
<para>Жинхэнэ-хугацааны (real-time) өргөтгөлүүд 1993 оны &posix;-д нэмэгдсэн.Портуудын
цуглуулгаас зарим програмууд эдгээрийг ашигладаг (<application>&staroffice;</application>).</para>
<programlisting>options KBD_INSTALL_CDEV # install a CDEV entry in /dev</programlisting>
<para>Энэ тохируулга нь гарын төхөөрөмжийн цэгийг <filename>/dev</filename>-д үүсгэх боломжийг
олгоход шаардлагатай байдаг.</para>
<programlisting>options ADAPTIVE_GIANT # Giant mutex is adaptive.</programlisting>
<para>Giant гэдэг нь харилцан нэгийгээ оруулахгүй байх зарчмын (унтах мутекс) нэр бөгөөд
энэ нь цөмийн их эх үүсвэрүүдийг хамгаалдаг. Өнөөдөр энэ нь үйл ажиллагааны саатаж
байгаа хүлээн авах боломжгүй хэсэг бөгөөд үүнийг эх үүсвэр бүрийг хамгаалах цоожуудаар
идэвхтэйгээр сольж байгаа билээ. <literal>ADAPTIVE_GIANT</literal> тохируулга нь
хэсэг бүлэг мутексуудад Giant-ийг адаптиваар эргэхээр оруулдаг. Энэ нь урсгал (thread)
Giant мутексийг цоожлохыг хүсэж байх үед, гэхдээ энэ нь өөр CPU дээр урсгалаар цоожлогдсон
байна, эхний урсгал цоож сулрахыг хүлээн ажилласаар байна. Хэвийн үед урсгал унтаа байдалд
эргэж орох бөгөөд өөрийн дараагийн ажиллах боломжийг хүлээнэ. Та итгэлгүй байгаа бол
үүнийг орхино уу.</para>
<note>
<para>&os; 8.0-CURRENT болон түүнээс хожуу үеийн хувилбаруудад бүх
мутексууд нь <literal>NO_ADAPTIVE_MUTEXES</literal> тохируулгатайгаар
бүтээгдэж зохицох чадваргүй гэж тохируулагдаагүй л бол анхдагчаар адаптив буюу
зохицох чадвартай байдаг. Иймээс одоо Giant нь зохицох чадвартай
бөгөөд <literal>ADAPTIVE_GIANT</literal> тохируулга нь цөмийн тохиргооноос
хасагдсан юм.</para>
</note>
<indexterm>
<primary>цөмийн тохируулгууд</primary>
<secondary>SMP</secondary>
</indexterm>
<programlisting>device apic # I/O APIC</programlisting>
<para>apic төхөөрөмж нь I/O APIC-ийг тасалдал хүргэхэд ашиглах боломжийг нээдэг.
apic төхөөрөмж нь UP болон SMP цөмүүдэд хоёуланд нь ашиглагдаж болох бөгөөд
гэхдээ SMP цөмд зайлшгүй шаардлагатай. <literal>options SMP</literal>
мөрийг нэмж олон процессорын дэмжлэгийг оруулна уу.</para>
<note>
<para>apic төхөөрөмж нь зөвхөн i386 архитектур дээр байдаг бөгөөд
энэ тохиргооны мөрийг бусад архитектурууд дээр
ашиглах ёсгүй юм.</para>
</note>
<programlisting>device eisa</programlisting>
<para>Хэрэв та EISA эх хавтантай бол үүнийг оруулаарай. Энэ нь EISA шугамын бүх
төхөөрөмжүүдийн хувьд автомат илрүүлэлт болон тохиргооны дэмжлэгийг нээж өгдөг.</para>
<programlisting>device pci</programlisting>
<para>Хэрэв та PCI эх хавтантай бол үүнийг оруулаарай. Энэ нь PCI картуудыг автомат
илрүүлэлт болон PCI-аас ISA шугам уруу гарах дэмжлэгийг нээж өгдөг.</para>
<programlisting># Floppy drives
device fdc</programlisting>
<para>Энэ нь уян диск хөтлөгчийн хянагч.</para>
<programlisting># ATA and ATAPI devices
device ata</programlisting>
<para>Энэ драйвер бүх ATA болон ATAPI төхөөрөмжүүдийг дэмждэг. Орчин үеийн машинуудын
бүх PCI ATA/ATAPI төхөөрөмжүүдийг илрүүлэхийн тулд зөвхөн нэг
<literal>device ata</literal> мөр таны цөмд хэрэгтэй.</para>
<programlisting>device atadisk # ATA disk drives</programlisting>
<para>Энэ нь <literal>device ata</literal> мөртэй цуг ATA дискний
төхөөрөмжүүдэд хэрэгтэй.</para>
<programlisting>device ataraid # ATA RAID drives</programlisting>
<para>Энэ нь <literal>device ata</literal> мөртэй цуг ATA RAID
хөтлөгчүүдэд хэрэгтэй.</para>
<programlisting><anchor id="kernelconfig-atapi">
device atapicd # ATAPI CDROM drives</programlisting>
<para>Энэ нь <literal>device ata</literal> мөртэй цуг ATA CDROM
хөтлөгчүүдэд хэрэгтэй.</para>
<programlisting>device atapifd # ATAPI floppy drives</programlisting>
<para>Энэ нь <literal>device ata</literal> мөртэй цуг ATA уян дискний
хөтлөгчүүдэд хэрэгтэй.</para>
<programlisting>device atapist # ATAPI tape drives</programlisting>
<para>Энэ нь <literal>device ata</literal> мөртэй цуг ATA соронзон хальсны
хөтлөгчүүдэд хэрэгтэй.</para>
<programlisting>options ATA_STATIC_ID # Static device numbering</programlisting>
<para>Энэ нь хянагчийн дугаарыг статик болгох бөгөөд энэнгүйгээр
төхөөрөмжийн дугаарууд динамикаар өгөгддөг.</para>
<programlisting># SCSI Controllers
device ahb # EISA AHA1742 family
device ahc # AHA2940 and onboard AIC7xxx devices
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~128k to driver.
device ahd # AHA39320/29320 and onboard AIC79xx devices
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~215k to driver.
device amd # AMD 53C974 (Teckram DC-390(T))
device isp # Qlogic family
#device ispfw # Firmware for QLogic HBAs- normally a module
device mpt # LSI-Logic MPT-Fusion
#device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (newer chipsets + those of `ncr')
device trm # Tekram DC395U/UW/F DC315U adapters
device adv # Advansys SCSI adapters
device adw # Advansys wide SCSI adapters
device aha # Adaptec 154x SCSI adapters
device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
device bt # Buslogic/Mylex MultiMaster SCSI adapters
device ncv # NCR 53C500
device nsp # Workbit Ninja SCSI-3
device stg # TMC 18C30/18C50</programlisting>
<para>SCSI хянагчууд. Таны системд байхгүй байгааг тайлбар болгон хаана уу.
Хэрэв та зөвхөн IDE системтэй бол эдгээр мөрүүдийг бүгдийг устгаж болно.
<literal>*_REG_PRETTY_PRINT</literal> мөрүүд нь өөр өөрийнхөө тохирох
драйверуудад зориулагдсан дибаг хийх тохируулгууд юм.</para>
<programlisting># SCSI peripherals
device scbus # SCSI bus (required for SCSI)
device ch # SCSI media changers
device da # Direct Access (disks)
device sa # Sequential Access (tape etc)
device cd # CD
device pass # Passthrough device (direct SCSI access)
device ses # SCSI Environmental Services (and SAF-TE)</programlisting>
<para>SCSI захын төхөөрөмжүүд. Дахин хэлэхэд таны системд байхгүй байгааг тайлбар
болгон хаагаарай эсвэл та зөвхөн IDE тоног төхөөрөмжтэй бол эдгээр мөрүүдийг
бүгдийг устгаж болно.</para>
<note>
<para>USB &man.umass.4; драйвер болон бусад цөөн хэдэн драйверууд жинхэнэ
SCSI төхөөрөмжүүд биш боловч SCSI дэд системийг ашигладаг. Тийм болохоор
хэрэв цөмийн тохиргоонд тийм драйверууд орсон байвал SCSI дэмжлэгийг устгаагүй
эсэхээ шалгаарай.</para>
</note>
<programlisting># RAID controllers interfaced to the SCSI subsystem
device amr # AMI MegaRAID
device arcmsr # Areca SATA II RAID
device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
device ciss # Compaq Smart RAID 5*
device dpt # DPT Smartcache III, IV - See NOTES for options
device hptmv # Highpoint RocketRAID 182x
device rr232x # Highpoint RocketRAID 232x
device iir # Intel Integrated RAID
device ips # IBM (Adaptec) ServeRAID
device mly # Mylex AcceleRAID/eXtremeRAID
device twa # 3ware 9000 series PATA/SATA RAID
# RAID controllers
device aac # Adaptec FSA RAID
device aacp # SCSI passthrough for aac (requires CAM)
device ida # Compaq Smart RAID
device mfi # LSI MegaRAID SAS
device mlx # Mylex DAC960 family
device pst # Promise Supertrak SX6000
device twe # 3ware ATA RAID</programlisting>
<para>Дэмжигдсэн RAID хянагчууд. Хэрэв танд эдгээрээс нэг нь ч байхгүй бол
тайлбар болгон хааж эсвэл устгаж болно.</para>
<programlisting># atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controller</programlisting>
<para>Гарын хянагч (<literal>atkbdc</literal>) AT гар ба PS/2 загварын заагч
төхөөрөмжүүдэд I/O үйлчилгээнүүдийг хангадаг. Энэ хянагчийг гарын драйвер
(<literal>atkbd</literal>) болон PS/2 заагч төхөөрөмжийн драйвер
(<literal>psm</literal>) шаарддаг.</para>
<programlisting>device atkbd # AT keyboard</programlisting>
<para><literal>atkbd</literal> драйвер нь <literal>atkbdc</literal>
хянагчтай цуг AT гарын хянагчид залгасан AT 84 гар болон AT өргөжүүлсэн
гаруудад хандах боломж олгодог.</para>
<programlisting>device psm # PS/2 mouse</programlisting>
<para>Хэрэв таны хулгана PS/2 порт уруу залгагдаж байгаа бол энэ төхөөрөмжийг
ашиглана уу.</para>
<programlisting>device kbdmux # keyboard multiplexer</programlisting>
<para>Олон гар залгах боломжийн анхны дэмжлэг.
Хэрэв та систем дээрээ нэгээс олон гар ашиглахгүй бол энэ мөрийг аюулгүйгээр
устгаж болно.</para>
<programlisting>device vga # VGA video card driver</programlisting>
<para>Видео картын драйвер.</para>
<programlisting>
device splash # Splash screen and screen saver support</programlisting>
<para>Эхлэх үе дэх хоромхон зуур гарах дэлгэц! Дэлгэц амраагчид нь үүнийг бас шаарддаг.</para>
<programlisting># syscons is the default console driver, resembling an SCO console
device sc</programlisting>
<para><literal>sc</literal> нь анхдагч консолийн драйвер бөгөөд SCO консолыг дуурайдаг.
Ихэнх бүрэн дэлгэцийн програмууд консол уруу <filename>termcap</filename> зэрэг
терминалийн өгөгдлийн баазын сангийн тусламжтайгаар ханддаг бөгөөд үүнийг ашиглах эсэх эсвэл
<literal>VT220</literal>-тай нийцтэй консол драйвер болох <literal>vt</literal>-ийг
ашиглах эсэх нь хамаагүй юм. Та нэвтэрсний дараа бүрэн дэлгэцийн програмууд энэ консол дээр ажиллахдаа
асуудалтай байвал өөрийн <envar>TERM</envar> хувьсагчаа <literal>scoansi</literal>
болгоорой.</para>
<programlisting># Enable this for the pcvt (VT220 compatible) console driver
#device vt
#options XSERVER # support for X server on a vt console
#options FAT_CURSOR # start with block cursor</programlisting>
<para>Энэ нь VT100/102-той арагшаагаа нийцтэй, VT220-той нийцтэй консол драйвер юм.
Энэ нь <literal>sc</literal>-тэй нийцгүй зарим зөөврийн компьютер дээр сайн
ажилладаг. Та нэвтэрсний дараа өөрийн <envar>TERM</envar> хувьсагчаа
<literal>vt100</literal> эсвэл <literal>vt220</literal> болгоорой.
Мөн энэ драйвер нь <literal>sc</literal> төхөөрөмжүүдэд зориулсан
<filename>termcap</filename> эсвэл <filename>terminfo</filename>
оруулгууд ихэнхдээ байхгүй байдаг асар олон тооны өөр өөр машинууд уруу сүлжээгээр
дамжин холбогдох үед ашигтай байж болно &mdash; <literal>vt100</literal>
нь виртуалаар дурын тавцан дээр байх ёстой.</para>
<programlisting>device agp</programlisting>
<para>Хэрэв та систем дээрээ AGP карттай бол үүнийг оруулна уу. Энэ нь AGP болон AGP GART-ийн
дэмжлэгийг эдгээр боломжуудаас тогтсон хавтанд зориулж нээнэ.</para>
<indexterm>
<primary>APM</primary>
</indexterm>
<programlisting># Power management support (see NOTES for more options)
#device apm</programlisting>
<para>Тэжээлийн Нарийн Удирдлагын дэмжлэг. Зөөврийн компьютеруудад ашигтай,
гэхдээ энэ нь <filename>GENERIC</filename>-д
анхдагчаар хаалттай байдаг.</para>
<programlisting># Add suspend/resume support for the i8254.
device pmtimer</programlisting>
<para>APM болон ACPI зэрэг тэжээл удирдах үйл явцуудад зориулсан таймер
төхөөрөмжийн драйвер.</para>
<programlisting># PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device cbb # cardbus (yenta) bridge
device pccard # PC Card (16-bit) bus
device cardbus # CardBus (32-bit) bus</programlisting>
<para>PCMCIA дэмжлэг. Зөөврийн компьютер ашиглаж байгаа
бол энэ танд хэрэгтэй.</para>
<programlisting># Serial (COM) ports
device sio # 8250, 16[45]50 based serial ports</programlisting>
<para>Эдгээр нь &ms-dos;/&windows; ертөнцөд
<devicename>COM</devicename> портууд хэмээгддэг сериал портууд юм .</para>
<note>
<para>Хэрэв та <devicename>COM4</devicename> дээр дотуур модемтой бөгөөд
<devicename>COM2</devicename> дээр сериал порттой бол &os; -ээс хандахын
тулд та модемийн IRQ-г 2 (ойлгоход амаргүй техникийн шалтгаанаар, IRQ2 = IRQ 9)
болгож өөрчлөх хэрэгтэй. Хэрэв та олон порттой сериал карттай бол өөрийн
<filename>/boot/device.hints</filename> файлд нэмэх зөв утгуудын
талаар дэлгэрэнгүй мэдээллийг &man.sio.4; гарын авлагаас шалгаарай.
Зарим видео картууд (S3 бичил схем дээр үндэслэснүүдийг дурдаж болно)
<literal>0x*2e8</literal> хэлбэртэй IO хаягуудыг ашигладаг бөгөөд
олон хямд сериал картууд 16-бит хаягийн зайг бүрэн декод хийж чаддаггүй учир
энэ нь тэдгээр карттай зөрчилдөж <devicename>COM4</devicename> портыг
бараг л ашиглах боломжгүй болгодог.</para>
<para>Сериал порт болгон бусдаас ялгаатай IRQ -тай байх (хуваалцсан тасалдал
ашиглахыг дэмждэг олон порттой картуудын нэгийг ашиглаж байгаагаас бусад тохиолдолд)
шаардлагатай учир <devicename>COM3</devicename> болон
<devicename>COM4</devicename>-ийн анхдагч IRQ-үүдийг ашиглаж болохгүй.</para>
</note>
<programlisting># Parallel port
device ppc</programlisting>
<para>Энэ нь ISA-шугамын параллел порт интерфэйс юм.</para>
<programlisting>device ppbus # Parallel port bus (required)</programlisting>
<para>Параллел портын шугамын дэмжлэгийг хангадаг.</para>
<programlisting>device lpt # Printer</programlisting>
<para>Параллел порт хэвлэгчүүдийн дэмжлэг.</para>
<note>
<para>Параллел хэвлэгчийн дэмжлэгийг нээхэд дээрх гурав гурвуулаа
шаардлагатай.</para>
</note>
<programlisting>device plip # TCP/IP over parallel</programlisting>
<para>Энэ нь параллел сүлжээний интерфэйсд зориулсан драйвер юм.</para>
<programlisting>device ppi # Parallel port interface device</programlisting>
<para>Ерөнхий-зориулалтын I/O (<quote>geek port</quote>) + IEEE1284
I/O.</para>
<programlisting>#device vpo # Requires scbus and da</programlisting>
<indexterm><primary>zip drive</primary></indexterm>
<para>Энэ нь Iomega Zip хөтлөгчид зориулагдсан юм. <literal>scbus</literal> болон
<literal>da</literal> дэмжлэгийг шаарддаг. EPP 1.9 горимд байгаа
портуудын тусламжтай хамгийн сайн ажиллагаанд хүрдэг.</para>
<programlisting>#device puc</programlisting>
<para>Хэрэв та &man.puc.4; цавуу драйвераар дэмжигддэг <quote>дүлий</quote>
сериал эсвэл параллел PCI карттай бол энэ төхөөрөмжийг тайлбар болгосныг
болиулаарай.</para>
<programlisting># PCI Ethernet NICs.
device de # DEC/Intel DC21x4x (<quote>Tulip</quote>)
device em # Intel PRO/1000 adapter Gigabit Ethernet Card
device ixgb # Intel PRO/10GbE Ethernet Card
device txp # 3Com 3cR990 (<quote>Typhoon</quote>)
device vx # 3Com 3c590, 3c595 (<quote>Vortex</quote>)</programlisting>
<para>Төрөл бүрийн PCI сүлжээний картуудын драйверууд. Эдгээрээс таны системд байхгүйг
тайлбар болгон хааж эсвэл устгаарай.</para>
<programlisting># PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device miibus # MII bus support</programlisting>
<para>MII шугамын дэмжлэг нь зарим PCI 10/100 Ethernet NIC-үүдэд шаардлагатай
бөгөөд тухайлбал MII-д нийцтэй дамжуулагч-хүлээн авагчууд эсвэл MII-тэй адил
ажилладаг дамжуулагч-хүлээн авагчийн хяналтын интерфэйсүүдийг дурдаж болно.
<literal>device miibus</literal> мөрийг цөмийн тохиргоонд нэмснээр
ердийн miibus API болон тусдаа драйвераар дэмжигдээгүй PHY-уудад зориулсан
ердийн драйвер зэрэг бүх PHY драйверуудын дэмжлэгийг оруулах болно.</para>
<programlisting>device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device bfe # Broadcom BCM440x 10/100 Ethernet
device bge # Broadcom BCM570xx Gigabit Ethernet
device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device lge # Level 1 LXT1001 gigabit ethernet
device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
device nge # NatSemi DP83820 gigabit ethernet
device nve # nVidia nForce MCP on-board Ethernet Networking
device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
device re # RealTek 8139C+/8169/8169S/8110S
device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (<quote>Starfire</quote>)
device sis # Silicon Integrated Systems SiS 900/SiS 7016
device sk # SysKonnect SK-984x &amp; SK-982x gigabit Ethernet
device ste # Sundance ST201 (D-Link DFE-550TX)
device stge # Sundance/Tamarack TC9021 gigabit Ethernet
device ti # Alteon Networks Tigon I/II gigabit Ethernet
device tl # Texas Instruments ThunderLAN
device tx # SMC EtherPower II (83c170 <quote>EPIC</quote>)
device vge # VIA VT612x gigabit ethernet
device vr # VIA Rhine, Rhine II
device wb # Winbond W89C840F
device xl # 3Com 3c90x (<quote>Boomerang</quote>, <quote>Cyclone</quote>)</programlisting>
<para>MII шугамын хянагчийн кодыг ашигладаг драйверууд.</para>
<programlisting># ISA Ethernet NICs. pccard NICs included.
device cs # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device ex # Intel EtherExpress Pro/10 and Pro/10+
device ep # Etherlink III based cards
device fe # Fujitsu MB8696x based cards
device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc.
device lnc # NE2100, NE32-VL Lance Ethernet cards
device sn # SMC's 9000 series of Ethernet chips
device xe # Xircom pccard Ethernet
# ISA devices that use the old ISA shims
#device le</programlisting>
<para>ISA Ethernet драйверууд. Аль картууд аль драйвераар дэмжигддэг талаар дэлгэрэнгүйг
<filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/NOTES</filename>-ээс
харна уу.</para>
<programlisting># Wireless NIC cards
device wlan # 802.11 support</programlisting>
<para>802.11-ийн ерөнхий дэмжлэг. Энэ мөр нь утасгүй сүлжээнд
шаардлагатай.</para>
<programlisting>device wlan_wep # 802.11 WEP support
device wlan_ccmp # 802.11 CCMP support
device wlan_tkip # 802.11 TKIP support</programlisting>
<para>802.11 төхөөрөмжүүдэд зориулагдсан криптограф дэмжлэг.
Хэрэв та шифрлэлт болон 802.11i нууцлалын протоколуудыг
ашиглахаар шийдсэн бол эдгээр мөрүүд шаардлагатай.</para>
<programlisting>device an # Aironet 4500/4800 802.11 wireless NICs.
device ath # Atheros pci/cardbus NIC's
device ath_hal # Atheros HAL (Hardware Access Layer)
device ath_rate_sample # SampleRate tx rate control for ath
device awi # BayStack 660 and others
device ral # Ralink Technology RT2500 wireless NICs.
device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device wl # Older non 802.11 Wavelan wireless NIC.</programlisting>
<para>Төрөл бүрийн утасгүй сүлжээний картуудын дэмжлэг.</para>
<programlisting># Pseudo devices
device loop # Network loopback</programlisting>
<para>Энэ нь TCP/IP-д зориулсан өөртөө эргэн холбогдох ерөнхий төхөөрөмж юм.
Хэрэв та <hostid>localhost</hostid> (өөрөөр бас <hostid
role="ipaddr">127.0.0.1</hostid>) уруу telnet эсвэл FTP хийвэл
энэ нь тань уруу энэ төхөөрөмжөөр эргэж ирнэ.Энэ нь
<emphasis>зайлшгүй шаардлагатай</emphasis>.</para>
<programlisting>device random # Entropy device</programlisting>
<para>Шифрлэлтийн хувьд аюулгүй дурын тоо үүсгэгч.</para>
<programlisting>device ether # Ethernet support</programlisting>
<para>Танд Ethernet карт байгаа тохиолдолд зөвхөн <literal>ether</literal> хэрэгтэй.
Энэ нь ерөнхий Ethernet протоколын кодыг агуулдаг.</para>
<programlisting>device sl # Kernel SLIP</programlisting>
<para><literal>sl</literal> нь SLIP-ийн дэмжлэг юм. Энэ нь хялбар
суулгаж тохируулдаг, модемоос модем уруу холболт хийхэд илүү зохицсон, илүү
чадалтай PPP-ээр бараг бүхэлдээ солигдсон юм.</para>
<programlisting>device ppp # Kernel PPP</programlisting>
<para>Энэ нь дайл-ап холболтын цөм дэх PPP дэмжлэгт зориулагдсан. Мөн
<literal>tun</literal>-ийг ашиглаж илүү уян хатан чанар болон шаардлагаар
залгах зэрэг боломжууд бүхий PPP-ийн хэрэглэгчийн талбарын програм маягаар
хийгдсэн хувилбар ч бас байдаг.</para>
<programlisting>device tun # Packet tunnel.</programlisting>
<para>Энэ хэрэглэгчийн талбарын PPP програм хангамжид ашиглагддаг.
Дэлгэрэнгүй мэдээллийг энэ номын <link linkend="userppp">PPP</link>
хэсгээс үзнэ үү.</para>
<programlisting><anchor id="kernelconfig-ptys">
device pty # Pseudo-ttys (telnet etc)</programlisting>
<para>Энэ нь <quote>псевдо-терминал</quote> эсвэл жинхэнэ биш (simulated) нэвтрэх порт юм.
Энэ нь ирж байгаа <command>telnet</command> болон
<command>rlogin</command> сессүүд, <application>xterm</application>,
болон <application>Emacs</application> зэрэг бусад програмуудад
ашиглагддаг.</para>
<programlisting>device md # Memory <quote>disks</quote></programlisting>
<para>Санах ойн диск псевдо-төхөөрөмжүүд.</para>
<programlisting>device gif # IPv6 and IPv4 tunneling</programlisting>
<para>Энэ нь IPv4 дээгүүрх IPv6, IPv6 дээгүүрх IPv4,
IPv4 дээгүүрх IPv4, болон IPv6 дээгүүрх IPv6 хоолойнуудыг хийдэг.
<literal>gif</literal> төхөөрөмж нь <quote>авто-клон</quote>
хийх чадвартай бөгөөд төхөөрөмжийн цэгүүдийг хэрэгцээгээрээ үүсгэдэг.</para>
<programlisting>device faith # IPv6-to-IPv4 relaying (translation)</programlisting>
<para>Энэ псевдо-төхөөрөмж нь түүн уруу илгээсэн пакетуудыг барьж аваад
IPv4/IPv6 хувиргагч дэмон уруу замыг өөрчлөн явуулдаг.</para>
<programlisting># The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device bpf # Berkeley packet filter</programlisting>
<para>Энэ нь Беркли Пакет Шүүгч юм. Энэ псевдо-төхөөрөмж нь
цацаж байгаа сүлжээн (өөрөөр хэлбэл Ethernet) дэх бүх пакетуудыг барьж авдаг,
бүгдийг сонсох горимд сүлжээний интерфэйсүүдийг шилжүүлэх боломж олгодог.
Эдгээр пакетуудыг дискэнд хадгалах болон эсвэл &man.tcpdump.1; програмаар
шалгаж болно.</para>
<note>
<para>Анхдагч чиглүүлэгчийн (гарц) болон бусад IP хаягийг
&man.dhclient.8; олж авахад &man.bpf.4; төхөөрөмжийг бас ашигладаг.
Хэрэв та DHCP ашиглаж байгаа бол үүнийг тайлбар болголгүй орхиорой.</para>
</note>
<programlisting># USB support
device uhci # UHCI PCI-&gt;USB interface
device ohci # OHCI PCI-&gt;USB interface
device ehci # EHCI PCI-&gt;USB interface (USB 2.0)
device usb # USB Bus (required)
#device udbp # USB Double Bulk Pipe devices
device ugen # Generic
device uhid # <quote>Human Interface Devices</quote>
device ukbd # Keyboard
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
device ural # Ralink Technology RT2500USB wireless NICs
device urio # Diamond Rio 500 MP3 player
device uscanner # Scanners
# USB Ethernet, requires mii
device aue # ADMtek USB Ethernet
device axe # ASIX Electronics USB Ethernet
device cdce # Generic USB over Ethernet
device cue # CATC USB Ethernet
device kue # Kawasaki LSI USB Ethernet
device rue # RealTek RTL8150 USB Ethernet</programlisting>
<para>Төрөл бүрийн USB төхөөрөмжүүдийн дэмжлэг.</para>
<programlisting># FireWire support
device firewire # FireWire bus code
device sbp # SCSI over FireWire (Requires scbus and da)
device fwe # Ethernet over FireWire (non-standard!)</programlisting>
<para>Төрөл бүрийн Firewire төхөөрөмжүүдийн дэмжлэг.</para>
<para>&os;-ийн дэмждэг нэмэлт төхөөрөмжүүдийн талаар дэлгэрэнгүй мэдээллийг
<filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/NOTES</filename>
файлаас үзнэ үү.</para>
<sect2>
<title>Том санах ойн тохируулгууд (<acronym>PAE</acronym>)</title>
<indexterm>
<primary>Физик хаягийн өргөтгөлүүд
(<acronym>PAE</acronym>)</primary>
<secondary>том санах ой</secondary>
</indexterm>
<para>Том санах ой бүхий машинууд Хэрэглэгч+Цөмийн Виртуал хаягийн зайн
(<acronym>KVA</acronym>) 4 гигабайт хязгаараас их уруу хандах
шаардлагатай байдаг. Энэ хязгаараас болоод Интел &pentium; Pro болон
сүүлийн үеийн CPU-үүдэд 36 битийн физик хаягийн зайд хандах дэмжлэгийг нэмсэн.</para>
<para>&intel; &pentium; Pro болон сүүлийн үеийн CPU-үүдийн
Физик Хаягийн Өргөтгөл (<acronym>PAE</acronym>) боломж нь 64 гигабайт хүртэлх
санах ойн тохиргоог зөвшөөрдөг. &os; нь энэхүү боломжийг &os;-ийн
одоо байгаа бүх гаргасан хувилбаруудын цөмийн тохиргооны
<option>PAE</option> тохируулгаар дэмждэг. Интелийн санах ойн
архитектурын хязгаараас болж 4 гигабайтаас дээш болон доош санах
ойн ялгаа байхгүй. 4 гигабайтаас дээшхи санах ой нь ашиглаж болох
санах ойн санд нэмэгддэг.</para>
<para><acronym>PAE</acronym> дэмжлэгийг цөмд нээхдээ
цөмийн тохиргооны файлд дараах мөрийг нэмнэ:</para>
<programlisting>options PAE</programlisting>
<note>
<para>&os; дэх <acronym>PAE</acronym> дэмжлэг зөвхөн
&intel; IA-32 процессоруудад байдаг. Мөн &os; дэх
<acronym>PAE</acronym> дэмжлэг нь өргөн шалгагдаагүй бөгөөд
&os;-ийн бусад тогтвортой боломжуудтай харьцуулахад бета чанарынхад
тооцогддог.</para>
</note>
<para>&os; дэх <acronym>PAE</acronym> дэмжлэг нь цөөн хэдэн хязгааруудтай:</para>
<itemizedlist>
<listitem>
<para>VM зайн 4 гигабайтаас илүүд процесс хандаж чадахгүй.</para>
</listitem>
<listitem>
<para>&man.bus.dma.9; интерфэйс ашигладаггүй төхөөрөмжийн драйверууд
<acronym>PAE</acronym>-г идэвхжүүлсэн цөм дээр өгөгдлийн эвдрэлийг
үүсгэх бөгөөд ашиглахыг зөвлөдөггүй юм. Ийм учраас <acronym>PAE</acronym>-г
идэвхжүүлсэн цөм дээр ажилладаггүй бүх драйверуудыг оруулаагүй
<filename>PAE</filename> цөмийн тохиргооны файл &os;-д байдаг.</para>
</listitem>
<listitem>
<para>Зарим нэг тохируулгууд санах ойн эх үүсвэрийн хэрэглээг физик санах ойн
хэмжээгээр тодорхойлдог. Эдгээр тохируулгууд нь <acronym>PAE</acronym>
системийн их санах ойгоос болж хэрэгцээгүй илүү санах ойг гаргадаг.
Тийм нэг жишээнүүдийн нэг нь sysctl-ийн <option>kern.maxvnodes</option>
тохируулга бөгөөд энэ нь цөм дэх хамгийн их байж болох vnode-уудын тоог хянадаг.
Энэ болон бусад тохируулгуудын утгыг боломжийн утгаар тааруулахыг зөвлөж байна.</para>
</listitem>
<listitem>
<para>Магадгүй цөмийн виртуал хаягийн (<acronym>KVA</acronym>) зайг ихэсгэх
эсвэл <acronym>KVA</acronym>-ийн шавхалтад хүргэхгүйн тулд байнга их ашиглагддаг
(дээр дурдсаныг харна уу) цөмийн эх үүсвэрийн хэмжээг багасгах шаардлагатай
байж болох юм. <option>KVA_PAGES</option> цөмийн тохируулга нь
<acronym>KVA</acronym> зайг ихэсгэхэд ашиглагдаж болно.</para>
</listitem>
</itemizedlist>
<para>Ажиллагаа болон тогтвортой байдлыг хангах үүднээс &man.tuning.7; гарын
авлагатай танилцахыг зөвлөж байна. &man.pae.4; гарын авлага нь
&os;-ийн <acronym>PAE</acronym> дэмжлэгийн тухай хамгийн сүүлийн
үеийн мэдээллийг агуулдаг.</para>
</sect2>
</sect1>
<sect1 id="kernelconfig-trouble">
<title>Хэрэв ямар нэг юм буруутвал</title>
<para>Өөрчлөн тохируулсан цөмийг бүтээж байх үед 4 төрлийн асуудал гарч
болзошгүй байдаг. Тэдгээр нь:</para>
<variablelist>
<varlistentry>
<term><command>config</command> амжилтгүй болох:</term>
<listitem>
<para>Хэрэв таныг цөмийн тайлбарыг &man.config.8;-т өгөхөд тушаал
амжилтгүй болбол та хаа нэгтээ энгийн алдаа хийсэн болов уу.
Аз болоход &man.config.8; асуудалтай байгаа мөрийн дугаарыг
хэвлэх учир та алдаатай мөрийг хурдан олох болно. Жишээ нь,
хэрэв та доор дурдсаныг харвал:</para>
<screen>config: line 17: syntax error</screen>
<para>Түлхүүр үг зөв бичигдсэн эсэхийг <filename>GENERIC</filename>
цөм болон бусад баримтаас харьцуулан шалгаж үзээрэй.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>make</command> амжилтгүй болох:</term>
<listitem>
<para>Хэрэв <command>make</command> тушаал амжилтгүй болбол
энэ ихэвчлэн цөмийн тайлбар дахь &man.config.8;-ийн олж
чадахааргүй тийм ч ноцтой бус алдааг дохиолдог. Дахин хэлэхэд,
өөрийн тохиргоог нягтлаарай, тэгээд хэрэв та асуудлыг шийдэж чадахгүй
бол &a.questions; уруу өөрийн цөмийн тохиргоотой цахим захидал
илгээгээрэй, ингэхэд хурдан шинжилгээ хийгдэх болно.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Цөм ачаалахгүй байх:<anchor
id="kernelconfig-noboot"></term>
<listitem>
<para>Хэрэв таны шинэ цөм ачаалахгүй бол эсвэл таны төхөөрөмжүүдийг танихгүй
байгаа бол бүү цочирд! Аз болоход &os; нийцгүй цөмүүдээс сэргэхэд
зориулсан маш сайн механизмтай байдаг. Ердөө л &os;-ийн ачаалагчаас
ачаалах цөмөө сонгоно. Системийн ачаалах меню гарч ирэх үед та үүнд
хандах боломжтой болно. <quote>Escape to a loader prompt</quote>
тохируулга 6-ын тоог сонго. Тушаал хүлээх мөрөн дээр <command>unload kernel</command>
гэж бичээд <command>boot /boot/<replaceable>kernel.old</replaceable>/kernel</command>
эсвэл зөв ачаалах өөр бусад цөмийн файлын нэрийг бичээрэй. Цөмийг дахин
тохируулах явцдаа ажилладаг цөмийг гарын дор хадгалж байх нь үргэлж
ухаалаг санаа байдаг.</para>
<para>Сайн цөмийг ачаалсныхаа дараа та өөрийн тохиргооны файлаа дахин шалгаж
цөмөө дахин бүтээхээр оролдоорой. Нэг тус дэм болох эх үүсвэр бол
бусад зүйлсээс гадна амжилттай ачаалалт бүр дэх цөмийн бүх мэдээллүүдийн
бичлэгийг хийдэг <filename>/var/log/messages</filename> файл юм.
Мөн &man.dmesg.8; тушаал нь сүүлийн ачаалалт дахь цөмийн мэдээллүүдийг
хэвлэдэг.</para>
<note>
<para>Хэрэв та цөмийг бүтээхэд асуудалтай байгаа бол
<filename>GENERIC</filename> болон өөр бусад ажилладаг
цөмийг дараагийн бүтээх явцад устгагдахааргүй өөр нэртэйгээр
гарын дор хадгалж байгаарай. Та <filename>kernel.old</filename>
-д найдаж болохгүй, учир нь шинэ цөмийг суулгах явцад
<filename>kernel.old</filename> нь хамгийн сүүлд
суулгагдсан бөгөөд магадгүй ажиллагаагүй тийм цөмөөр дарагдан
бичигддэг. Ажилладаг цөмийг зөв <filename class="directory">/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>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term>Цөм ажиллах боловч &man.ps.1; ажиллахгүй болох:</term>
<listitem>
<para>Хэрэв та системийн хэрэгслүүд бүтээсэн хувилбараас өөр цөмийн хувилбарыг
суулгасан бол, жишээ нь -RELEASE дээр -CURRENT цөм бүтээсэн бол
системийн төлвийн тушаалууд болох &man.ps.1; болон &man.vmstat.8;
зэрэг нь ажиллахаа больно. Та өөрийн цөмтэйгөө адил хувилбарын эх модтой
бүтээгдсэн <link linkend="makeworld">ертөнцийг дахин хөрвүүлж суулгах</link>
хэрэгтэй. Энэ нь нэг шалтгаан бөгөөд ерөнхийдөө үйлдлийн системийн бусад
зүйлсээс өөр хувилбарын цөмийг ашиглах нь тийм ч сайн санаа биш юм.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "chapter")
End:
-->