aboutsummaryrefslogtreecommitdiff
path: root/hu_HU.ISO8859-2/books/handbook/kernelconfig/chapter.xml
diff options
context:
space:
mode:
Diffstat (limited to 'hu_HU.ISO8859-2/books/handbook/kernelconfig/chapter.xml')
-rw-r--r--hu_HU.ISO8859-2/books/handbook/kernelconfig/chapter.xml2139
1 files changed, 2139 insertions, 0 deletions
diff --git a/hu_HU.ISO8859-2/books/handbook/kernelconfig/chapter.xml b/hu_HU.ISO8859-2/books/handbook/kernelconfig/chapter.xml
new file mode 100644
index 0000000000..2b66058407
--- /dev/null
+++ b/hu_HU.ISO8859-2/books/handbook/kernelconfig/chapter.xml
@@ -0,0 +1,2139 @@
+<?xml version="1.0" encoding="iso-8859-2" standalone="no"?>
+<!--
+ The FreeBSD Documentation Project
+
+ $FreeBSD$
+-->
+<!-- The FreeBSD Hungarian Documentation Project
+ Translated by: PALI, Gabor <pgj@FreeBSD.org>
+ %SOURCE% en_US.ISO8859-1/books/handbook/kernelconfig/chapter.xml
+ %SRCID% 1.194
+-->
+
+<chapter id="kernelconfig" lang="hu">
+ <chapterinfo>
+ <authorgroup>
+ <author>
+ <firstname>Jim</firstname>
+ <surname>Mock</surname>
+ <contrib>Frissítette és átdolgozta:
+ </contrib>
+ </author>
+ </authorgroup>
+ <authorgroup>
+ <author>
+ <firstname>Jake</firstname>
+ <surname>Hamby</surname>
+ <contrib>Eredetileg írta: </contrib>
+ </author>
+ </authorgroup>
+ </chapterinfo>
+
+ <title>A &os; rendszermag testreszabása</title>
+
+ <sect1 id="kernelconfig-synopsis">
+ <title>Áttekintés</title>
+
+ <indexterm>
+ <primary>rendszermag</primary>
+ <secondary>saját rendszermag
+ készítése</secondary>
+ </indexterm>
+
+ <para>A rendszermag a &os; operációs rendszer lelke.
+ Felelős a memória kezelésért, a
+ biztonsági szabályozások
+ betartatásáért, a hálózat
+ működtetéséért, a
+ lemezhozzáférésért és sok
+ minden másért is. Miközben maga a &os; egyre
+ jobban konfigurálható dinamikusan, addig
+ alkalmanként elegedhetetlen, hogy
+ újrakonfiguráljuk és
+ újrafordítsuk a rendszermagot.</para>
+
+ <para>A fejezet elolvasása során
+ megismerjük:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>miért lehet szükségünk egy
+ saját rendszermagra;</para>
+ </listitem>
+
+ <listitem>
+ <para>hogyan készítsünk
+ konfigurációs állományt a
+ rendszermaghoz, vagy hogyan módosítsunk egy
+ már létezőt;</para>
+ </listitem>
+
+ <listitem>
+ <para>hogyan használjuk a rendszermag
+ konfigurációs állományát
+ egy új rendszermag lefordítására
+ és létrehozására;</para>
+ </listitem>
+
+ <listitem>
+ <para>hogyan telepítsük az új
+ rendszermagot;</para>
+ </listitem>
+
+ <listitem>
+ <para>hogyan orvosoljuk a felmerülő
+ problémákat.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>A fejezetben az összes példaként
+ bemutatásra kerülő parancsot
+ <username>root</username> felhasználóként
+ kell kiadni a sikeres végrehajtásukhoz.</para>
+
+ </sect1>
+
+ <sect1 id="kernelconfig-custom-kernel">
+ <title>Miért készítsünk saját
+ rendszermagot?</title>
+
+ <para>A &os; eredetileg ún. <quote>monolitikus</quote>
+ rendszermaggal rendelkezett. Ez azt jelenti, hogy a rendszermag
+ egyetlen nagy program volt, ami előre rögzített
+ eszközöket ismert, és ha meg akartuk
+ változtatni a rendszermag
+ működését, akkor új rendszermagot
+ kellett fordítanunk, majd újra kellett
+ indítanunk vele a
+ számítógépet.</para>
+
+ <para>Manapság azonban a &os; már inkább
+ afelé a megközelítés felé halad,
+ ahol a rendszermag funkcionalitásának nagy
+ részét működés közben az
+ igények szerint betölthető és
+ eltávolítható modulok adják. Ezzel
+ lehetővé válik, hogy a rendszermag gyorsan
+ illeszkedjen az újonnan megjelenő
+ hardvereszközökhöz (mint például a
+ laptopok PCMCIA-kártyáihoz), vagy olyan új
+ funkciókat tegyünk a rendszermaghoz, amelyek a
+ fordításánál nem voltak
+ feltétlenül szükségesek. Ezt a modellt
+ nevezik moduláris rendszermagnak.</para>
+
+ <para>Ennek ellenére még mindig elkerülhetetlen,
+ hogy esetenként ne legyen szükség a rendszermag
+ statikus testreszabására. Ez a legtöbb esetben
+ azzal magyarázható, hogy vannak olyan
+ funkciók, amelyek túlságosan is mélyen
+ helyezkednek el a rendszermagban, ezáltal nem
+ tölthetőek be dinamikusan. Máskor viszont
+ egyszerűen azért nem lehetséges, mert
+ még senki sem szánt időt az adott
+ funkcióhoz tartozó, dinamikusan betölthető
+ modul elkészítésére.</para>
+
+ <para>Egy saját rendszermag készítése
+ azon legfontosabb próbatételek egyike, melyet egy
+ haladó BSD felhasználónak ki kell
+ állnia. Ez a folyamat, habár némileg
+ időigényes, számos előnyt tartogat &os;
+ rendszerünk számára. Eltérően egy
+ <filename>GENERIC</filename> (általános)
+ rendszermagtól, amely rengeteg hardvert támogat, egy
+ saját rendszermag csak a <emphasis>saját</emphasis>
+ PC-nk hardverét ismeri. Ennek több előnye is
+ van, például:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>A rendszerünk gyorsabban indul. Mivel a rendszermag
+ csak azokat a hardvereket fogja keresni, melyek a
+ rendszerünkben megtalálhatóak,
+ jelentős mértékben le tud csökkeni az
+ induláshoz szükséges idő.</para>
+ </listitem>
+
+ <listitem>
+ <para>Kisebb memóriahasználat. Egy saját
+ rendszermag a szükségtelen részek és
+ eszközmeghajtók elhagyása miatt gyakran
+ kevesebb memóriát emészt fel, mint a
+ <filename>GENERIC</filename> rendszermag. Ez azért is
+ fontos, mert a rendszermag mindig benn van a fizikai
+ memóriában, és ezzel az
+ alkalmazások elől veszi el a helyet. Emiatt egy
+ saját rendszermag elkészítése
+ különösen hasznos lehet egy kevés
+ fizikai memóriával rendelkező
+ rendszeren.</para>
+ </listitem>
+
+ <listitem>
+ <para>További hardverek támogatása. A
+ saját rendszermagunkba olyan eszközök
+ támogatását is beletehetjük, amelyek
+ nem szerepelnek a <filename>GENERIC</filename> rendszermagban,
+ mint például a
+ hangkártyákét.</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1 id="kernelconfig-devices">
+ <sect1info>
+ <authorgroup>
+ <author>
+ <firstname>Tom</firstname>
+ <surname>Rhodes</surname>
+ <contrib>Írta: </contrib>
+ </author>
+ </authorgroup>
+ </sect1info>
+
+ <title>A rendszerünkben levő hardverek
+ összeszedése</title>
+
+ <para>Mielőtt belevetnénk magunkat a rendszermag
+ beállításába, érdemes egy
+ leltárt készíteni a gépünkben
+ található különböző
+ eszközökről. Ahol a &os; nem elsődlegesen
+ használt operációs rendszer, ott ehhez
+ elegendő megnézni a jelenlegi rendszerben
+ található elemeket. Például a
+ &microsoft; rendszerek
+ <application>Eszközkezelő</application>jében
+ (Device Manager) általában az összes
+ eszköz fontosabb adatait megtaláljuk. Magát az
+ <application>Eszközkezelő</application>t pedig a
+ Vezérlőpultból (Control Panel)
+ érhetjük el.</para>
+
+ <note>
+ <para>A &microsoft.windows; egyes verzióiban a
+ <application>Rendszer</application> (System) ikonjára
+ kattintva megkapjuk azt a képernyőt, ahonnan
+ közvetlenül el tudjuk érni az
+ <application>Eszközkezelő</application>t.</para>
+ </note>
+
+ <para>Ha viszont nincs másik operációs rendszer
+ a gépünkön, akkor magunknak kell mindezeknek
+ utánanéznünk. Erre az egyik alkalmas
+ módszer a &man.dmesg.8; és a &man.man.1; parancsok
+ használata. A &os;-ben található
+ legtöbb meghajtónak van saját man oldala, ami
+ tartalmazza az általuk kezelt eszközök
+ listáját, illetve így a
+ rendszerindítás során észlelt
+ hardvereket nézhetjük vissza. Például
+ az alábbi sorok arra utalnak, hogy a
+ <devicename>psm</devicename> meghajtó megtalálta a
+ gépünkhöz tartozó egeret:</para>
+
+ <programlisting>psm0: &lt;PS/2 Mouse&gt; irq 12 on atkdbc0
+psm0: [GIANT-LOCKED]
+psm0: [ITHREAD]
+psm0: model Generic PS/2 mouse, device ID 0</programlisting>
+
+ <para>Ezután ezt a meghajtót vagy a rendszermagba kell
+ beépítenünk, vagy pedig a &man.loader.conf.5;
+ állományon keresztül
+ betöltenünk.</para>
+
+ <para>Bizonyos esetekben a <command>dmesg</command> az
+ eszközök felkutatásának eredményei
+ helyett csak a rendszer üzeneteit mutatja. Ilyen
+ helyzetekben a teljes kimenet a
+ <filename>/var/run/dmesg.boot</filename> állományban
+ tekinthető meg.</para>
+
+ <para>A hardverek manuális
+ felderítésének módja a &man.pciconf.8;
+ segédprogram kimenetének
+ böngészése, ami valamivel részletesebb
+ eredményt ad. Mint például:</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>A <command>pciconf <option>-lv</option></command> paranccsal
+ kapott kimenet ezen része azt mutatja, hogy az
+ <devicename><replaceable>ath</replaceable></devicename>
+ meghajtó talált egy vezeték
+ nélküli Ethernet eszközt. Innen a <command>man
+ <replaceable>ath</replaceable></command> paranccsal
+ érhetjük el a &man.ath.4; man oldalát.</para>
+
+ <para>A &man.man.1; a <option>-k</option> paraméter
+ megadásával további hasznos
+ információkkal is tud szolgálni. A
+ fentiekből kiindulva például a
+ következő paranccsal:</para>
+
+ <screen>&prompt.root; man -k <replaceable>Atheros</replaceable></screen>
+
+ <para>le tudjuk kérdezni azokat a man oldalakat, amelyek
+ tartalmazzák az adott szót:</para>
+
+ <programlisting>ath(4) - Atheros IEEE 802.11 wireless network driver
+ath_hal(4) - Atheros Hardware Access Layer (HAL)</programlisting>
+
+ <para>A hardvereszközeink listájával
+ felvértezve most már egy saját rendszermag
+ létrehozása sem lesz annyira ijesztő.</para>
+ </sect1>
+
+ <sect1 id="kernelconfig-modules">
+ <title>Meghajtók, alrendszerek és modulok</title>
+ <indexterm>
+ <primary>rendszermag</primary>
+ <secondary>meghajtók, modulok, alrendszerek</secondary>
+ </indexterm>
+
+ <para>Mielőtt új rendszermagot
+ készítenénk, érdemes megfontolnunk, hogy
+ egyáltalán szükségünk lesz-e
+ rá. Ha például valamilyen eszköz
+ támogatásához kell, akkor könnyen
+ előfordulhat, hogy azt modulként is be tudjuk
+ tölteni.</para>
+
+ <para>A rendszermaghoz tartozó modulok a <filename
+ class="directory">/boot/kernel</filename>
+ könyvtárban találhatóak, és a
+ &man.kldload.8; segítségével a rendszer
+ működése közben dinamikusan
+ betölthetőek. Ha nem is az összes, de a
+ legtöbb meghajtóhoz tartozik egy modul és egy
+ man oldal. Például az előző szakaszban az
+ <devicename>ath</devicename> vezeték nélküli
+ Ethernet meghajtóval foglalkoztunk. A következő
+ leírást találjuk a hozzá tartozó
+ man oldalon:</para>
+
+ <programlisting>Vagy ha modulként akarjuk betölteni ezt a meghajtót a rendszer indítása
+során, akkor a &man.loader.conf.5; állományba vegyük fel a következő
+sort:
+
+ if_ath_load="YES"</programlisting>
+
+ <para>A fentebb leírtak szerint tehát, ha az
+ <literal>if_ath_load="YES"</literal> sort hozzáadjuk a
+ <filename>/boot/loader.conf</filename> állományhoz,
+ akkor a rendszer indulásakor ez a modul mindig dinamikusan
+ betöltődik.</para>
+
+ <para>Némely esetben azonban nem áll
+ rendelkezésünkre ilyen modul. Ez
+ különösen igaz bizonyos alrendszerekre és a
+ fontosabb meghajtókra, például az
+ <acronym>FFS</acronym> állományrendszerre
+ vonatkozóan, mivel ezeknek kötelezően a
+ rendszermagban kell lenniük. Ugyanez elmondható a
+ hálózati támogatásra is (INET). Csak
+ úgy tudjuk megmondani, hogy valamelyik meghajtóra
+ szükség van a rendszermagban, ha először
+ megpróbáljuk megkeresni hozzá a
+ megfelelő modult.</para>
+
+ <warning>
+ <para>A beépített meghajtók figyelmetlen
+ eltávolításával könnyen
+ lefordíthatatlan állapotba kerülhet a
+ rendszermag. Például, ha az &man.ata.4;
+ meghajtót kivesszük a rendszermag
+ konfigurációs
+ állományából, az
+ <acronym>ATA</acronym> alrendszert használó
+ meghajtók csak abban az esetben fognak biztosan
+ működni, ha egyúttal felvesszük a
+ <filename>loader.conf</filename> állományba. Ha
+ nem vagyunk benne biztosak, akkor először
+ próbáljuk meg használni a modult, és
+ csak utána hagyjuk el a rendszermagba
+ épített változatát.</para>
+ </warning>
+ </sect1>
+
+ <sect1 id="kernelconfig-building">
+ <title>Saját rendszermag készítése
+ és telepítése</title>
+
+ <indexterm>
+ <primary>rendszermag</primary>
+ <secondary>készítése,
+ telepítése</secondary>
+ </indexterm>
+
+ <para>Először is tegyünk egy rövidke
+ sétát a rendszermag könyvtárában.
+ A továbbiakban említendő összes
+ könyvtár a <filename>/usr/src/sys</filename>
+ könyvtáron belül található, amely
+ <filename>/sys</filename> néven is elérhető.
+ Itt rengeteg alkönyvtár található,
+ mindegyikük a rendszermag különböző
+ részeit testesíti meg. Ezek közül most
+ számunkra a legfontosabb az
+ <filename><replaceable>architektúra</replaceable>/conf</filename>
+ lesz, ahol majd létrehozzuk a saját rendszermagunk
+ konfigurációs állományát,
+ valamint a <filename>compile</filename>, ahol majd a
+ rendszermagunk fordítása történik. Itt
+ az <replaceable>architektúra</replaceable> lehet
+ <filename>i386</filename>, <filename>alpha</filename>,
+ <filename>amd64</filename>, <filename>ia64</filename>,
+ <filename>powerpc</filename>, <filename>sparc64</filename> vagy
+ <filename>pc98</filename> (a PC-k egyik, leginkább
+ Japánban elterjedt változata). Az adott
+ architektúra könyvtárában
+ található összes állomány csak
+ arra az architektúrára vonatkozik, a kód
+ többi része pedig gépfüggetlen és
+ közös az összes többi létező
+ és leendő &os; platformon. Érdemes megfigyelni
+ a könyvtárak logikai elrendezését:
+ minden egyes ismert eszköz, állományrendszer
+ és bővítmény saját
+ alkönyvtárral rendelkezik.</para>
+
+ <para>A példák során ez a fejezet
+ feltételezi, hogy az i386 architektúrát
+ használjuk. Ha ez a mi esetünkben nem így
+ lenne, ne felejtsük el átírni bennük az
+ elérési útvonalakat a rendszerünk
+ architektúrájának megfelelően.</para>
+
+ <note>
+ <para>Ha <emphasis>nem lenne</emphasis>
+ <filename>/usr/src/sys</filename> könyvtár a
+ rendszerünkben, valószínűleg még
+ nem telepítettük a rendszermag
+ forráskódját. Ezt a legkönnyebben
+ úgy tudjuk megtenni, ha <username>root</username>
+ felhasználóként elindítjuk a
+ <command>sysinstall</command> programot és ott
+ kiválasztjuk a <guimenuitem>Configure</guimenuitem>
+ (Beállítások), azon belül
+ <guimenuitem>Distributions</guimenuitem> (Terjesztések)
+ menüpontot, amiben válasszuk ki a
+ <guimenuitem>src</guimenuitem>, <guimenuitem>base</guimenuitem>
+ és <guimenuitem>sys</guimenuitem> terjesztéseket.
+ Ha nem szeretnénk erre a célra a
+ <application>sysinstall</application> programot
+ használni, de rendelkezésünkre áll a
+ <quote>hivatalos</quote> &os; CD, akkor a forrásokat
+ akár parancssorból is
+ telepíthetjük:</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>Ezután lépjünk be az
+ <filename><replaceable>i386</replaceable>/conf</filename>
+ könyvtárba és másoljuk le a
+ <filename>GENERIC</filename> konfigurációs
+ állományt a kedvünk szerinti nevűre.
+ Például:</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf</userinput>
+&prompt.root; <userinput>cp GENERIC <replaceable>SAJÁT</replaceable></userinput></screen>
+
+ <para>Általában a nevet végig nagybetűkkel
+ írjuk, és ha több &os;-s gépet is
+ üzemeltetünk különböző hardverekkel,
+ hasznosnak bizonyulhat megemlíteni benne az adott
+ gép rendszerének nevét is. Ebben a
+ példában ez most a
+ <filename><replaceable>SAJÁT</replaceable></filename>
+ lesz.</para>
+
+ <tip>
+ <para>A rendszermagunk konfigurációs
+ állományát nem éppen a legjobb
+ ötlet a <filename>/usr/src</filename>
+ könyvtárban tárolni. Ugyanis könnyen
+ előfordulhat, hogy egy rosszul sikerült
+ fordítás után egyszerűen csak
+ letöröljük az egész
+ <filename>/usr/src</filename> könyvtárat és
+ onnan kezdjük újra. Azonban csak ezután
+ juthat eszünkbe, hogy vele együtt bizony
+ letöröltük a saját rendszermagunk
+ konfigurációs állományát is!
+ Ehhez hasonlóan, közvetlenül a
+ <filename>GENERIC</filename> konfigurációs
+ állomány szerkesztése sem ajánlott,
+ mivel a források egy esetleges <link
+ linkend="updating-upgrading">frissítésénél</link>
+ könnyen felülíródhat és ezzel
+ együtt elvesznek a módosításaink
+ is.</para>
+
+ <para>Tehát érdemes inkább valahol
+ máshol tárolnunk a rendszermagunk
+ konfigurációs állományát,
+ majd létrehozni rá egy szimbolikus linket a
+ <filename><replaceable>i386</replaceable></filename>
+ könyvtárban.</para>
+
+ <para>Valahogy így:</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf</userinput>
+&prompt.root; <userinput>mkdir /root/kernel</userinput>
+&prompt.root; <userinput>cp GENERIC /root/kernel/<replaceable>SAJÁT</replaceable></userinput>
+&prompt.root; <userinput>ln -s /root/kernel/<replaceable>SAJÁT</replaceable></userinput></screen>
+ </tip>
+
+ <para>Most pedig a kedvenc szövegszerkesztőnkkel
+ lássunk neki a
+ <filename><replaceable>SAJÁT</replaceable></filename>
+ átírásának! Ha nemrég
+ telepítettük csak a rendszerünket, az egyetlen
+ elérhető szövegszerkesztőnk minden bizonnyal
+ a <application>vi</application> lesz. Róla most
+ túlságosan is bonyolult lenne leírást
+ adnunk, de az <link
+ linkend="bibliography">Irodalomjegyzék</link>ben
+ található könyvek közül sokban
+ elég jól bemutatják. Ezen kívül
+ a &os; ajánl egy könnyebben megtanulható
+ szövegszerkesztőt is az <application>ee</application>
+ személyében, amely a kezdők
+ számára az ideális választás.
+ Nyugodtan átírhatjuk az elöl
+ található megjegyzéseket a saját
+ konfigurációnknak megfelelően, vagy akár
+ azt is rögzíthetjük, hogy miben
+ tértünk el a <filename>GENERIC</filename>
+ beállításaitól.</para>
+
+ <indexterm><primary>SunOS</primary></indexterm>
+
+ <para>Ha fordítottunk már rendszermagot &sunos; vagy
+ más BSD operációs rendszer alatt, ez az
+ állomány ismerősnek tűnhet. Ha viszont
+ más operációs rendszerek, mint
+ például a DOS felől érkezünk, a
+ <filename>GENERIC</filename> konfigurációs
+ állomány egy kissé terebélyesnek
+ tűnhet számunkra, ezért <link
+ linkend="kernelconfig-config">A konfigurációs
+ állomány</link> című részt
+ figyelmesen és lassan olvassuk át.</para>
+
+ <note>
+ <para>Amennyiben a forrásfánkat a &os; projekt
+ legfrissebb forrásaival <link
+ linkend="updating-upgrading">szinkronizáljuk</link>, mindig
+ olvassuk el a <filename>/usr/src/UPDATING</filename>
+ állományt, mielőtt bármilyen
+ frissítéshez is kezdenénk. Itt
+ megtalálhatóak azok a fontos érintett
+ kérdések és területek, amely
+ külön figyelmet igényelnek a frissített
+ forráskód esetén. A
+ <filename>/usr/src/UPDATING</filename> mindig a &os;
+ forrásának legfrissebb változatához
+ igazodik, és ezért sokkal naprakészebb
+ információkat tartalmaz, mint ez a
+ kézikönyv.</para>
+ </note>
+
+ <para>Most pedig le kell lefordítanunk a rendszermag
+ forráskódját.</para>
+
+ <procedure>
+ <title>A rendszermag lefordítása</title>
+
+ <step>
+ <para>Lépjünk be a <filename
+ class="directory">/usr/src</filename>
+ könyvtárba:</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
+ </step>
+
+ <step>
+ <para>Fordítsuk le a rendszermagot:</para>
+
+ <screen>&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>SAJÁT</replaceable></userinput></screen>
+ </step>
+
+ <step>
+ <para>Telepítsük az új rendszermagot:</para>
+
+ <screen>&prompt.root; <userinput>make installkernel KERNCONF=<replaceable>SAJÁT</replaceable></userinput></screen>
+ </step>
+ </procedure>
+
+ <note>
+ <para>A &os; teljes forrásfájára
+ szükség van a rendszermag
+ lefordításához.</para>
+ </note>
+
+ <tip>
+ <para>Amikor egy saját rendszermagot
+ alapértelmezés szerint fordítunk, vele
+ együtt az <emphasis>összes</emphasis> modul is
+ lefordításra kerül. Ha viszont időt
+ szeretnénk megtakarítani a rendszermag
+ frissítése során, vagy csak a saját
+ moduljainkat akarjuk lefordítani, érdemes
+ átírnunk az <filename>/etc/make.conf</filename>
+ állományt a rendszermag
+ fordításának megkezdése
+ előtt:</para>
+
+ <programlisting>MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs</programlisting>
+
+ <para>Ez a változó megadja a ténylegesen
+ lefordítandó modulok
+ listáját.</para>
+
+ <programlisting>WITHOUT_MODULES = linux acpi sound ntfs</programlisting>
+
+ <para>Ez a változó a
+ fordításból kihagyandó felső
+ szintű modulokat sorolja fel. A rendszermag
+ fordításának folyamatában
+ egyéb hasznosnak tekinthető
+ változókról a &man.make.conf.5; man
+ oldalán olvashatunk.</para>
+ </tip>
+
+ <indexterm><primary><filename class="directory">/boot/kernel.old</filename></primary></indexterm>
+
+ <para>Ezután az új rendszermag a <filename
+ class="directory">/boot/kernel</filename> könyvtárba
+ kerül <filename>/boot/kernel/kernel</filename> néven,
+ a korábbi rendszermag pedig
+ <filename>/boot/kernel.old/kernel</filename> néven
+ őrződik meg. Most állítsuk le a rendszert
+ és indítsuk újra az új rendszermag
+ aktiválásához. Ha közben valamilyen
+ hiba történt volna, nézzük meg a fejezet
+ végén található, <link
+ linkend="kernelconfig-trouble">hibakeresés</link>re
+ vonatkozó utasításokat. Mindenképpen
+ olvassuk el azt a részt, amely leírja, hogyan
+ állítsuk helyre a rendszerünket abban az
+ esetben, ha az új rendszermaggal <link
+ linkend="kernelconfig-noboot">nem indul</link>.</para>
+
+ <note>
+ <para>A rendszerindítási folyamathoz tartozó
+ további állományok, mint
+ például a rendszerbetöltő
+ (&man.loader.8;) és annak konfigurációs
+ állománya, a <filename>/boot</filename>
+ könyvtárban találhatóak. A
+ külső és saját modulok a <filename
+ class="directory">/boot/kernel</filename> a
+ könyvtárba kerülhetnek, azonban a
+ felhasználóknak nagyon ügyelniük kell
+ rá, hogy az itt található modulok
+ szinkronban legyenek a lefordított rendszermaggal.
+ Ellenkező esetben a rendszerben
+ megbízhatatlanságot, hibákat
+ észlelhetünk.</para>
+ </note>
+ </sect1>
+
+ <sect1 id="kernelconfig-config">
+ <sect1info>
+ <authorgroup>
+ <author>
+ <firstname>Joel</firstname>
+ <surname>Dahl</surname>
+ <contrib>A &os; 6.X verziójához
+ igazította: </contrib>
+ </author>
+ </authorgroup>
+ </sect1info>
+
+ <title>A konfigurációs állomány</title>
+
+ <indexterm>
+ <primary>rendszermag</primary>
+ <secondary>NOTES</secondary>
+ </indexterm>
+ <indexterm><primary>NOTES</primary></indexterm>
+ <indexterm>
+ <primary>rendszermag</primary>
+ <secondary>konfigurációs
+ állomány</secondary>
+ </indexterm>
+
+ <para>A konfigurációs állomány
+ általános formátuma igen egyszerű.
+ Minden sor tartalmaz egy kulcsszót és egy vagy
+ több paramétert. A további
+ egyszerűsítés kedvéért a
+ legtöbb sor csak egyetlen paramétert tartalmaz.
+ Bármi, ami egy <literal>#</literal> (kettőskereszt)
+ jelet követ, megjegyzésnek minősül és
+ nem számít konfigurációs elemnek. A
+ most következő részek bemutatják az egyes
+ kulcsszavakat abban a sorrendben, ahogy azokat a
+ <filename>GENERIC</filename> állományban is
+ megtalálhatjuk. <anchor id="kernelconfig-options"/>Az
+ architektúrafüggő opciók és
+ eszközök teljes listáját a
+ <filename>GENERIC</filename> állománnyal egy
+ könyvtárban levő <filename>NOTES</filename>
+ állományban találhatjuk meg. Az
+ architektúrától független
+ opciókat a <filename>/usr/src/sys/conf/NOTES</filename>
+ állományban találjuk.</para>
+
+ <para>A &os;&nbsp;5.0 megjelenése óta a
+ konfigurációs állományokban
+ használható az <literal>include</literal>
+ direktíva. Ennek segítségével egy
+ másik konfigurációs állomány
+ tartalma logikailag beilleszthető az aktuálisba,
+ így könnyebbé válik egy már
+ meglevő állományhoz tartozó kisebb
+ mennyiségű változtatás
+ karbantartása. Például ha csupán
+ pár egyszerű kiegészítést
+ szeretnénk hozzáadni a
+ <filename>GENERIC</filename> rendszermaghoz, akkor elegendő
+ a hozzá vett eltéréseket
+ nyilvántartanunk egy külön
+ konfigurációs állományban:</para>
+
+ <programlisting>include GENERIC
+ident SAJAT
+
+options IPFIREWALL
+options DUMMYNET
+options IPFIREWALL_DEFAULT_TO_ACCEPT
+options IPDIVERT
+</programlisting>
+
+ <para>Valószínűleg sok rendszergazda
+ számára jelentős előnyt jelent ez a
+ megoldás a konfigurációs
+ állományok korábbról már
+ megszokott újraírásával szemben: a
+ helyi konfigurációs állomány csak a
+ <filename>GENERIC</filename> rendszermag helyi rendszerre
+ vonatkozó eltéréseit tartalmazza. Így
+ amikor frissítjük a rendszerünket, a
+ <filename>GENERIC</filename> rendszermag összes
+ újítása elérhetővé
+ válik, kivéve ha explicit módon le nem
+ tiltottuk ezeket a <literal>noptions</literal> vagy a
+ <literal>nodevice</literal> megadásával. A fejezet
+ további részében egy átlagos
+ konfigurációs állománnyal fogunk
+ foglalkozni, mind a beállítások, mind pedig
+ az eszközök tekintetében.</para>
+
+ <note>
+ <para>Ha olyan állományt akarunk
+ készíteni, amely tartalmazza az összes
+ lehetséges opciót, például
+ teszteléshez, futtassuk le <username>root</username>
+ felhasználóként az alábbi
+ parancsot:</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf &amp;&amp; make LINT</userinput></screen>
+ </note>
+
+ <indexterm>
+ <primary>rendszermag</primary>
+ <secondary>konfigurációs
+ állomány</secondary>
+ </indexterm>
+
+ <para>Itt a <filename>GENERIC</filename>
+ rendszermag-konfigurációs állomány
+ ismertetése következik, az
+ érthetőség kedvéért
+ helyenként megjegyzésekkel kibővítve. A
+ bemutatott állománynak majdnem pontosan meg kell
+ egyeznie a rendszerünkben található
+ <filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/GENERIC</filename>
+ állománnyal.</para>
+
+ <indexterm>
+ <primary>a rendszermag beállításai</primary>
+ <secondary>machine</secondary>
+ </indexterm>
+
+ <programlisting>machine i386</programlisting>
+
+ <para>A számítógépünk
+ architektúráját adja meg. A
+ következők valamelyikének kell lennie:
+ <literal>alpha</literal>, <literal>amd64</literal>,
+ <literal>i386</literal>, <literal>ia64</literal>,
+ <literal>pc98</literal>, <literal>powerpc</literal>, vagy
+ <literal>sparc64</literal>.</para>
+
+ <indexterm>
+ <primary>a rendszermag beállításai</primary>
+ <secondary>cpu</secondary>
+ </indexterm>
+ <programlisting>cpu I486_CPU
+cpu I586_CPU
+cpu I686_CPU</programlisting>
+
+ <para>A fenti beállítás
+ segítségével megadhatjuk, milyen
+ típusú processzor található a
+ számítógépünkben. Több
+ ilyen sorunk is lehet (ha például nem lennénk
+ biztosak benne, hogy az <literal>I586_CPU</literal> vagy
+ <literal>I686_CPU</literal> értéket kellene
+ megadnunk), de a saját rendszermagunk
+ összeállításához érdemes
+ csak egyet meghagynunk. Ha nem ismerjük pontosan a
+ processzorunk típusát, vessünk egy
+ pillantást a <filename>/var/run/dmesg.boot</filename>
+ állományra és keressük ki
+ belőle.</para>
+
+ <indexterm>
+ <primary>a rendszermag beállításai</primary>
+ <secondary>ident</secondary>
+ </indexterm>
+
+ <programlisting>ident GENERIC</programlisting>
+
+ <para>Ez a rendszermag azonosítója.
+ Változtassuk meg rendszermagunk nevére, legyen
+ például
+ <literal><replaceable>SAJAT</replaceable></literal>, ha a
+ korábbi utasításokat követtük. Az
+ <literal>ident</literal> után írt sztring fog
+ megjelenni a rendszermag neve mellett a rendszer
+ indítása során, ezért fontos, hogy az
+ új rendszermagunknak más nevet adjunk, ha meg
+ akarjuk különböztetni az általában
+ használttól (például egy
+ tesztelésre szánt rendszermagot akarunk
+ készíteni).</para>
+
+ <programlisting># ha a /boot/device.hints használata helyett statikusan bele akarjuk fordítani
+#hints "GENERIC.hints" # itt szerepelnek a device hintek</programlisting>
+
+ <para>A &man.device.hints.5; használható az
+ eszközmeghajtók
+ beállítására. A &man.loader.8; a
+ rendszer indítása során
+ alapértelmezés szerint a
+ <filename>/boot/device.hints</filename> állományt
+ olvassa be erre a célra. A <literal>hints</literal>
+ beállítás használatával ezeket
+ a <quote>hinteket</quote> statikusan bele tudjuk
+ építeni a rendszermagba. Ebben az esetben nincs
+ szükségünk külön
+ <filename>device.hints</filename> állomány
+ létrehozására a <filename>/boot</filename>
+ könyvtárban.</para>
+
+ <programlisting>makeoptions DEBUG=-g # a nyomkövetéshez szükséges gdb(1) szimbólumok beépítése</programlisting>
+
+ <para>A &os; hagyományos fordításának
+ folyamata során a rendszermagot a <option>-g</option>
+ használatával készítjük el,
+ aminek köszönhetően hibakeresési
+ információkat tudunk átadni a &man.gcc.1;
+ fordítónak.</para>
+
+ <programlisting>options SCHED_ULE # ULE ütemező</programlisting>
+
+ <para>A &os; alapértelmezett rendszerütemezője. Ne
+ változtassuk meg!</para>
+
+ <programlisting>options PREEMPTION # a rendszerszálak megszakíthatóságának engedélyezése</programlisting>
+
+ <para>Ha engedélyezzük, a rendszermagban futó
+ szálakat meg tudják szakítani más,
+ magasabb prioritású szálak. Ez segít
+ növelni a rendszer válaszadási
+ sebességét és csökkenti a
+ megszakításokat kezelő szálak
+ várakozását.</para>
+
+ <programlisting>options INET # hálózatkezelés</programlisting>
+
+ <para>A hálózatkezelés
+ támogatása. Ne töröljük ki,
+ még akkor sem, ha nem tervezzük
+ hálózatra kapcsolni a rendszert. Sok programnak
+ szüksége van legalább az ún. loopback
+ típusú hálózat
+ támogatására (vagyis a
+ számítógépünkön belüli
+ hálózati kapcsolatokra), ezért ez
+ feltétlenül kötelező!</para>
+
+ <programlisting>options INET6 # IPv6 kommunikációs prokotollok</programlisting>
+
+ <para>Engedélyezi az IPv6 kommunikációs
+ protokollok használatát.</para>
+
+ <programlisting>options FFS # Berkeley Fast Filesystem</programlisting>
+
+ <para>Ez a legalapvetőbb merevlemezes
+ állományrendszer. Hagyjuk meg, ha
+ merevlemezről akarjuk indítani a
+ rendszerünket.</para>
+
+ <programlisting>options SOFTUPDATES # az FFS Soft Updates támogatása</programlisting>
+
+ <para>Ez a beállítás engedélyezi a
+ rendszermagban a Soft Updates használatát, amely
+ segít felgyorsítani a lemez írási
+ sebességét. Ha már a rendszermag ezt a
+ funkcionalitást ismeri, akkor még külön az
+ egyes lemezeken is engedélyezni kell. Nézzük
+ meg a &man.mount.8; kimenetét, hogy lássuk, a
+ rendszerünkben levő lemezek közül melyiken van
+ ténylegesen engedélyezve a Soft Updates
+ használata. Ha nem látjuk benne sehol sem a
+ <literal>soft-updates</literal> opciót, akkor azt
+ (meglevő állományrendszerek esetén) a
+ &man.tunefs.8; vagy (új állományrendszerek
+ esetén) a &man.newfs.8; parancsokkal tudjuk
+ bekapcsolni.</para>
+
+ <programlisting>options UFS_ACL # a hozzáférés-vezérlési listák (ACL) támogatása</programlisting>
+
+ <para>Ezzel a beállítással
+ engedélyezhetjük a rendszermagban a
+ hozzáférés-vezérlési
+ listák támogatását. Ez a
+ kiterjesztett attribútumok és az
+ <acronym>UFS2</acronym> használatára
+ támaszkodik. Ezt a lehetőséget
+ részleteiben a <xref linkend="fs-acl"/>ban
+ tárgyaljuk. Az <acronym>ACL</acronym>
+ alapértelmezés szerint támogatott, és
+ ha korábban már használtuk, akkor
+ semmiképpen se kapcsoljuk ki, mert ezzel az eddig
+ létrehozott
+ hozzáférés-vezérlési
+ listáink érvénytelenné, az
+ állományaink pedig védtelenné
+ válnak.</para>
+
+ <programlisting>options UFS_DIRHASH # nagyobb könyvtárak esetén gyorsulást hoz</programlisting>
+
+ <para>Ezzel a beállítással némi
+ memória feláldozása árán fel
+ tudjuk gyorsítani a nagyobb könyvtárakon
+ végzett lemezműveletek sebességét,
+ ezért ezt a beállítást érdemes
+ nagyobb szerverekre vagy interaktivitást
+ igénylő munkaállomásokra tartogatni,
+ és eltávolítani olyan esetekben, amikor a
+ &os;-t olyan kisebb számítógépeken
+ használjuk, ahol a memória kevés és a
+ lemezműveletek sebessége kevésbé fontos,
+ például egy tűzfalon.</para>
+
+ <programlisting>options MD_ROOT # tudunk memórialemezről is rendszert indítani</programlisting>
+
+ <para>Ezzel az opcióval engedélyezni tudjuk a rendszer
+ indítását memóriában
+ tárolt virtuális lemezekről.</para>
+
+ <indexterm>
+ <primary>a rendszermag beállításai</primary>
+ <secondary>NFS</secondary>
+ </indexterm>
+ <indexterm>
+ <primary>a rendszermag beállításai</primary>
+ <secondary>NFS_ROOT</secondary>
+ </indexterm>
+
+ <programlisting>options NFSCLIENT # hálózati állományrendszer (NFS) kliens
+options NFSSERVER # NFS szerver
+options NFS_ROOT # NFS használható gyökérként is, kell hozzá az NFSCLIENT</programlisting>
+
+ <para>A hálózati állományrendszer
+ támogatása. Hacsak nem akarunk TCP/IP-n
+ keresztül állományrendszereket csatlakoztatni
+ egy &unix; állományszerverről,
+ kivehetjük.</para>
+
+ <indexterm>
+ <primary>a rendszermag beállításai</primary>
+ <secondary>MSDOSFS</secondary>
+ </indexterm>
+
+ <programlisting>options MSDOSFS # MS-DOS állományrendszer</programlisting>
+
+ <para>Az &ms-dos; állományrendszer. Hacsak nem
+ akarunk DOS-ra formázott merevlemezes
+ partíciót csatlakoztatni a
+ rendszerindítás során, nyugodtan
+ elhagyhatjuk. A fentebb leírtak szerint az első olyan
+ alkalommal automatikusan betöltődik, amikor egy DOS
+ partíciót csatlakoztatni akarunk. Sőt, a
+ nagyszerű <filename
+ role="package">emulators/mtools</filename> szoftver
+ segítségével külön
+ csatlakoztatás és leválasztás
+ nélkül tudunk DOS-os floppykat olvasni (és az
+ <literal>MSDOSFS</literal>-re egyáltalán nincs is
+ szüksége).</para>
+
+ <programlisting>options CD9660 # ISO 9660 állományrendszer</programlisting>
+
+ <para>Az ISO 9660 állományrendszert a CD-k
+ használják. Vegyük ki, ha nincs a
+ számítógépben CD-ROM meghajtó,
+ vagy csak ritkán fogunk CD-ket csatlakoztatni (mivel a
+ hozzá tartozó modul magától
+ betöltődik az első adat CD csatlakoztatása
+ során). Az audio CD-k nem használják ezt az
+ állományrendszert.</para>
+
+ <programlisting>options PROCFS # a futó programok állományrendszere (szükséges hozzá a PSEUDOFS)</programlisting>
+
+ <para>A futó programok állományrendszere. Ez
+ csak a <filename>/proc</filename> könyvtárra
+ csatlakoztatott <quote>színlelt</quote>
+ állományrendszer, amelynek
+ segítségével a &man.ps.1; és
+ hozzá hasonló programok képesek több
+ információt adni a futó programokról.
+ A <literal>PROCFS</literal> használata a legtöbb
+ esetben nem indokolt, mivel a különféle
+ nyomkövető és felügyeleti eszközök
+ képesek a <literal>PROCFS</literal> használata
+ nélkül is működni:
+ alapértelmezés szerint a telepített
+ rendszerek sem csatlakoztatják ezt az
+ állományrendszer.</para>
+
+ <programlisting>options PSEUDOFS # pszeudo állományrendszerek támogatása</programlisting>
+
+ <para>A 6.X verziójú rendszermagokban a
+ <literal>PROCFS</literal> használatához
+ engedélyeznünk kell a <literal>PSEUDOFS</literal>
+ használatát is.</para>
+
+ <programlisting>options GEOM_GPT # GUID típusú partíciós táblák használata</programlisting>
+
+ <para>Ezzel a beállítással engedélyezni
+ tudjuk nagy mennyiségű partíció
+ támogatását egyetlen lemezen.</para>
+
+ <programlisting>options COMPAT_43 # kompatibilitás fenntartása a 4.3 BSD-vel [NE TÖRÖLD!]</programlisting>
+
+ <para>Kompatibilitás a 4.3BSD-vel. Ne vegyük ki, mert
+ bizonyos programok furcsán fognak viselkedni a
+ hiánya esetén.</para>
+
+ <programlisting>options COMPAT_FREEBSD4 # kompatibilitás a &os;4-el</programlisting>
+
+ <para>Ez a beállítás szükséges a
+ &os;&nbsp;5.X &i386; és Alpha rendszerein a &os;
+ korábbi verzióihoz fordított
+ alkalmazások támogatásához, melyek
+ régebbi rendszerhívásokat használnak.
+ Az összes &i386; és Alpha típusú
+ rendszeren ajánlott engedélyezni, mivel itt
+ előfordulhatnak régebbi alkalmazások. A
+ többi platform, mint például az ia64 vagy a
+ &sparc64;, támogatása csak az 5.X verzióban
+ jelent meg, ezért ott nincs szükség
+ erre.</para>
+
+ <programlisting>options COMPAT_FREEBSD5 # kompatibilitás a &os;5-el</programlisting>
+
+ <para>Ezt a beállítást a &os;&nbsp;6.X
+ és afeletti verziókban kell használni az
+ olyan &os;&nbsp;5.X verziókra fordított
+ alkalmazások futtatásának
+ támogatásához, melyek a &os;&nbsp;5.X
+ rendszerhívásait használják.</para>
+
+ <programlisting>options SCSI_DELAY=5000 # a SCSI eszközök keresése előtt késleltetés (ezredmásodpercben)</programlisting>
+
+ <para>Ezzel a beállítással a rendszermag 5
+ másodpercig várakozni fog a SCSI eszközök
+ keresése előtt. Ha kizárólag csak IDE
+ típusú merevlemezeink vannak, nyugodtan
+ kihagyhatjuk, máskülönben érdemes a
+ rendszerindítás gyorsítása
+ érdekében csökkenteni ezt az
+ értéket. Természetesen, ha így
+ teszünk és a &os; nem tudja felismerni a SCSI
+ eszközeinket, akkor növeljük meg
+ valamennyivel.</para>
+
+ <programlisting>options KTRACE # a ktrace(1) támogatása</programlisting>
+
+ <para>Engedélyezi a rendszermagban futó rutinok
+ nyomonkövetését, ami hasznos lehet a
+ hibák keresése során.</para>
+
+ <programlisting>options SYSVSHM # SYSV-szerű osztott memória</programlisting>
+
+ <para>Ezzel a beállítással engedélyezni
+ tudjuk a rendszerben a System&nbsp;V típusú osztott
+ memória használatát. Leggyakrabban az X
+ rendszer XSHM kiterjesztése használja, amelyen
+ keresztül számos műveletigényes grafikus
+ program működését fel lehet
+ gyorsítani. Ha X-et használunk, mindenképpen
+ szükségünk lehet erre.</para>
+
+ <programlisting>options SYSVMSG # SYSV-szerű üzenetsorok</programlisting>
+
+ <para>A System&nbsp;V üzenetek támogatása. Ez a
+ beállítás csupán néhány
+ száz byte-tal növeli a rendszermagot.</para>
+
+ <programlisting>options SYSVSEM # SYSV-szerű szemaforok</programlisting>
+
+ <para>A System&nbsp;V szemaforok támogatása. Nem
+ túl gyakran alkalmazzák ezeket, de ez csak
+ néhány száz byte-ot tesz hozzá a
+ rendszermaghoz.</para>
+
+ <note>
+ <para>A &man.ipcs.1; parancs <option>-p</option>
+ paraméterével ki tudjuk listáztatni azokat
+ a futó programokat, amelyek ezen System&nbsp;V
+ eszközöket használják.</para>
+ </note>
+
+ <programlisting>options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B valósidejű kiterjesztések</programlisting>
+
+ <para>A &posix; 1993-as változatában megjelent
+ valósidejű bővítések. A
+ Portgyűjteményben megjelenő egyes
+ alkalmazások használják ezeket (mint
+ például a
+ <application>&staroffice;</application>).</para>
+
+ <programlisting>options KBD_INSTALL_CDEV # CDEV bejegyzés létrehozása a /dev könyvtárban</programlisting>
+
+ <para>Ez a beállítás kell ahhoz, hogy a
+ <filename>/dev</filename> könyvtárban létre
+ tudjunk hozni eszközleírókat a
+ billentyűzethez.</para>
+
+ <programlisting>options ADAPTIVE_GIANT # adaptív Giant mutexek</programlisting>
+
+ <para>A Giant annak a kölcsönös
+ kizárási mechanizmusnak (blokkolt mutexnek) a neve,
+ amely a rendszermag erőforrásainak jelentős
+ részét védi. Manapság ez már
+ egy elfogadhatatlanul szűk keresztmetszetet képez a
+ teljesítményben, ezért a fejlesztésben
+ fokozatosan felváltják az egyes
+ erőforrásokat külön-külön
+ védő zárolások. Az
+ <literal>ADAPTIVE_GIANT</literal> beállítás
+ hatására a Giant a helyzethez igazodóan
+ forgó (spin) mutexek közé kerül. Ez azt
+ jelenti, hogy amikor egy szál zárolni akarja a Giant
+ mutexet, de ezt már megtette előtte egy másik
+ processzorról futó szál, a szál
+ tovább fut és várakozni fog a
+ zárolás feloldására. Normális
+ esetben ugyanis egy szál továbbra is blokkolt
+ állapotban marad, várakozva a futásra. Ha
+ nem tudunk dönteni, hagyjuk változatlanul.</para>
+
+ <note>
+ <para>Hozzátesszük, hogy a &os; 8.0-CURRENT és
+ későbbi változataiban az össszes mutex
+ alapértelmezés szerint adaptív, hacsak meg
+ nem adjuk a <literal>NO_ADAPTIVE_MUTEXES</literal>
+ beállítást. Ennek
+ eredményeképpen a Giant most már
+ alapból adaptív, ezért esetükben az
+ <literal>ADAPTIVE_GIANT</literal> nem szerepel a rendszermag
+ beállításai között.</para>
+ </note>
+
+ <indexterm>
+ <primary>a rendszermag beállításai</primary>
+ <secondary>SMP</secondary>
+ </indexterm>
+
+ <programlisting>device apic # I/O APIC</programlisting>
+
+ <para>Az <devicename>apic</devicename> nevű eszköz
+ engedélyezésével használhatjuk a
+ hardveres APIC-ot a megszakítások
+ vezérlésére. Az
+ <devicename>apic</devicename> alkalmazható egy- és
+ többprocesszoros rendszerek esetén is egyaránt,
+ de az SMP rendszermagoknál szükséges.
+ Több processzor támogatásánál
+ mindenképpen tegyük hozzá az <literal>options
+ SMP</literal> beállítást is.</para>
+
+ <note>
+ <para>Az apic eszköz csak az i386 architektúrán
+ létezik, ezért a többi
+ architektúrán nem szabad használnunk ezt a
+ beállítást.</para>
+ </note>
+
+ <programlisting>device eisa</programlisting>
+
+ <para>Abban az esetben engedélyezzük, ha EISA-s
+ alaplapunk van, ezzel aktiváljuk az EISA buszra
+ csatlakoztatott eszközök automatikus
+ felismerését és
+ beállíthatóságát.</para>
+
+ <programlisting>device pci</programlisting>
+
+ <para>Tegyük hozzá a konfigurációs
+ állományhoz, ha PCI-os alaplapuk van. Ezzel
+ engedélyezhetjük a PCI kártyák
+ automatikus felismerését és a PCI és
+ ISA buszok közti
+ átirányítást.</para>
+
+ <programlisting># Hajlékonylemezes meghajtók
+device fdc</programlisting>
+
+ <para>Ez a hajlékonylemezes meghajtó
+ vezérlője.</para>
+
+ <programlisting># ATA és ATAPI eszközök
+device ata</programlisting>
+
+ <para>Ez az eszközmeghajtó felelős az összes
+ ATA és ATAPI eszközért. A modern
+ számítógépeken csak egyszer kell
+ megadnunk a <literal>device ata</literal> sort a
+ beállítások között az összes
+ PCI-os ATA/ATAPI eszköz felismeréséhez.</para>
+
+ <programlisting>device atadisk # ATA lemezmeghajtók</programlisting>
+
+ <para>Az ATA lemezmeghajtók
+ támogatásához erre van még
+ szükség a <literal>device ata</literal>
+ mellett.</para>
+
+ <programlisting>device ataraid # ATA RAID-meghajtók</programlisting>
+
+ <para>Az ATA RAID-meghajtók kezeléséhez erre a
+ sorra van szükség a <literal>device ata</literal>
+ mellett.</para>
+
+ <programlisting><anchor id="kernelconfig-atapi"/>
+device atapicd # ATAPI CD-meghajtók</programlisting>
+
+ <para>Az ATAPI CD-meghajtók használatához ezt
+ is tegyük a konfigurációba a <literal>device
+ ata</literal> mellé.</para>
+
+ <programlisting>device atapifd # ATAPI floppy meghajtók</programlisting>
+
+ <para>A <literal>device ata</literal> használata mellett erre
+ van még szükségünk az ATAPI floppy
+ meghajtók kezeléséhez.</para>
+
+ <programlisting>device atapist # ATAPI szalagos meghajtók</programlisting>
+
+ <para>Az ATAPI szalagos egységek használatához
+ ezt a sort is tegyük a konfigurációba a
+ <literal>device ata</literal> mellé.</para>
+
+ <programlisting>options ATA_STATIC_ID # statikus eszközszámozás</programlisting>
+
+ <para>Ezzel a beállítással a
+ vezérlők számozása állandó
+ lesz. Nélküle az eszközszámok dinamikusan
+ kerülnek kiosztásra.</para>
+
+ <programlisting># SCSI vezérlők
+device ahb # EISA AHA1742 család
+device ahc # AHA2940 és integrált AIC7xxx eszközök
+options AHC_REG_PRETTY_PRINT # a hibák kereséséhez kiíratja a regiszterek
+ # bitmezőit. Kb. 128 KB-al növeli a méretét.
+device ahd # AHA39320/29320 és integrált AIC79xx eszközök
+options AHD_REG_PRETTY_PRINT # a hibák kereséséhez kiíratja a regiszterek
+ # bitmezőit. Kb. 215 KB-al növeli a méretét.
+device amd # AMD 53C974 (Teckram DC-390(T))
+device isp # Qlogic család
+#device ispfw # a QLogic HBA firmware-e, többnyire modul
+device mpt # LSI-Logic MPT-Fusion
+#device ncr # NCR/Symbios Logic
+device sym # NCR/Symbios Logic (újabb chipsetek, illetve az `ncr' típusúak)
+device trm # Tekram DC395U/UW/F DC315U csatolók
+
+device adv # Advansys SCSI-csatolók
+device adw # Advansys wide SCSI-csatolók
+device aha # Adaptec 154x SCSI-csatolók
+device aic # Adaptec 15[012]x SCSI-csatolók, AIC-6[23]60.
+device bt # Buslogic/Mylex MultiMaster SCSI-csatolók
+
+device ncv # NCR 53C500
+device nsp # Workbit Ninja SCSI-3
+device stg # TMC 18C30/18C50</programlisting>
+
+ <para>SCSI-vezérlők. Vegyük ki azokat, amelyekkel
+ ténylegesen nem rendelkezünk. Ha csak IDE
+ eszközeink vannak a rendszerünkben, az összeset
+ eltávolíthatjuk. A
+ <literal>_REG_PRETTY_PRINT</literal>
+ végződésű sorok a megfelelő
+ meghajtók hibakerési
+ beállításait takarják.</para>
+
+ <programlisting># SCSI-perifériák
+device scbus # SCSI-busz (kell a SCSI-hoz)
+device ch # SCSI médiumváltók (media changer)
+device da # közvetlen hozzáférés (lemezek)
+device sa # soros hozzáférés (szalag stb.)
+device cd # CD
+device pass # áteresztő eszköz (közvetlen SCSI hozzáférés)
+device ses # SCSI környezeti szolgáltatások (és SAF-TE)</programlisting>
+
+ <para>SCSI-perifériák. Itt is érvényes,
+ hogy kivehetjük azokat az eszközöket, amelyekkel
+ nem rendelkezünk. De ha csak IDE hardvereink vannak,
+ teljesen eltávolíthatjuk ezeket.</para>
+
+ <note>
+ <para>Annak ellenére, hogy valójában nem
+ igazi SCSI-eszközök, az USB-s &man.umass.4; és
+ még néhány más egyéb
+ meghajtó is használja a SCSI alrendszert. Emiatt
+ semmiképpen se távolítsuk el a SCSI
+ támogatást a rendszerünkől abban az
+ esetben, ha ilyen meghajtókat is használni
+ szándékozunk.</para>
+ </note>
+
+ <programlisting># a SCSI alrendszerhez kapcsolódó RAID-vezérlők
+device amr # AMI MegaRAID
+device arcmsr # Areca SATA II RAID
+device asr # DPT SmartRAID V, VI és Adaptec SCSI RAID
+device ciss # Compaq Smart RAID 5*
+device dpt # DPT Smartcache III, IV - lásd a NOTES állományt
+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 vezérlők
+device aac # Adaptec FSA RAID
+device aacp # SCSI áteresztő az aac-hez (kell hozzá a CAM)
+device ida # Compaq Smart RAID
+device mfi # LSI MegaRAID SAS
+device mlx # Mylex DAC960 család
+device pst # Promise Supertrak SX6000
+device twe # 3ware ATA RAID</programlisting>
+
+ <para>Az ismert RAID-vezérlők. Ha
+ közülük egyikkel sem rendelkezünk,
+ távolítsuk el ezeket a
+ konfigurációból.</para>
+
+ <programlisting># az atkbdc0 vezérli a billentyűzetet és a PS/2-es egeret
+device atkbdc # AT billentyűzet vezérlő</programlisting>
+
+ <para>A billentyűzet vezérlője
+ (<literal>atkbdc</literal>) az AT-s billentyűzet és a
+ PS/2 stílusú pozícionáló
+ eszközök vezérléséhez
+ szükséges I/O szolgáltatásokat
+ biztosítja. Erre a vezérlőre a
+ billentyűzet meghajtójának
+ (<literal>atkbd</literal>) és a PS/2
+ pozícionáló eszközök
+ eszközmeghajtójának (<literal>psm</literal>) is
+ szüksége van.</para>
+
+ <programlisting>device atkbd # AT billentyűzet</programlisting>
+
+ <para>Az <literal>atkbd</literal> meghajtó, a
+ <literal>atkbdc</literal> vezérlővel együtt, adja
+ a hozzáférést az AT billentyűzet
+ vezérlőre csatlakoztatott AT 84 és a fejlettebb
+ AT billentyűzetek felé.</para>
+
+ <programlisting>device psm # PS/2 egér</programlisting>
+
+ <para>Használjuk ezt az eszközt, ha az egerünk a
+ PS/2 portra csatlakozik.</para>
+
+ <programlisting>device kbdmux # billentyűzet multiplexer</programlisting>
+
+ <para>A billentyűzet multiplexer alapszintű
+ támogatása. Ha nem kívánunk a
+ jövőben egynél több billentyűzetet
+ csatlakoztatni a rendszerünkre, nyugodt szívvel
+ kivehetjük ezt a sort.</para>
+
+ <programlisting>device vga # VGA videokártya meghajtó</programlisting>
+
+ <para>Videokártya meghajtó.</para>
+
+ <programlisting>
+device splash # üdvözlőképernyők és képernyőkímélők támogatása</programlisting>
+
+ <para>Nyissunk egy üdvözlőképernyővel! A
+ képernyőkímélőknek is
+ szükségük van erre az eszközre.</para>
+
+ <programlisting># a syscons az alapértelmezett konzolmeghajtó, hasonlít a SCO konzolra
+device sc</programlisting>
+
+ <para>Az <literal>sc</literal> az alapértelmezett
+ meghajtó a konzolok számára, és sokban
+ hasonlít a SCO konzolra. Mivel a legtöbb
+ teljesképernyős program a <filename>termcap</filename>
+ termináladatbázis könyvtáron
+ keresztül éri el a konzolt, nem igazán
+ számít, hogy ezt vagy a
+ <literal>VT220</literal>-kompatibilis <literal>vt</literal>
+ konzolmeghajtót használjuk. Ha bármilyen
+ gondunk lenne a teljesképernyős programok
+ futtatásával ezen a konzolon, a
+ bejelentkezéskor állítsuk a
+ <envar>TERM</envar> környezeti változónkat a
+ <literal>scoansi</literal> értékre.</para>
+
+ <programlisting># ezzel tudjuk engedélyezni a pcvt (VT220-kompatibilis) konzolmeghajtót
+#device vt
+#options XSERVER # az X szerver támogatása vt konzolon
+#options FAT_CURSOR # telt kurzor használata</programlisting>
+
+ <para>Ez a VT220-kompatibilis konzolmeghajtó, amely
+ visszafelé kompatibilis a VT100/102-vel is. Remekül
+ működik olyan laptopokon, ahol a hardver nem
+ használható az <literal>sc</literal> konzollal. Itt
+ ugyanúgy érdemes egyébként a
+ <literal>vt100</literal> értékre vagy a
+ <literal>vt220</literal> értékre
+ állítani a <envar>TERM</envar> környezeti
+ változónkat. Hasznosnak bizonyulhat abban az
+ esetben is, amikor hálózaton keresztül nagy
+ mennyiségű és eltérő
+ típusú számítógépekhez
+ csatlakozunk, és ahol a <filename>termcap</filename>
+ és <filename>terminfo</filename> adatbázisokban az
+ <literal>sc</literal> bejegyzései gyakran nem is
+ érhetőek el &mdash; a <literal>vt100</literal> viszont
+ virtuálisan az összes platformon
+ elérhető.</para>
+
+ <programlisting>device agp</programlisting>
+
+ <para>Írjuk bele a konfigurációba, ha van AGP
+ kártya a rendszerünkben. Ezzel
+ engedélyezzük az AGP és az AGP GART
+ támogatását az ezeket ismerő
+ kártyák számára.</para>
+
+ <indexterm><primary>APM</primary></indexterm>
+
+ <programlisting># energiagazdálkodás támogatása (bővebben lásd: NOTES)
+#device apm</programlisting>
+
+ <para>A fejlett energiagazdálkodás
+ támogatása. Laptopok esetén hasznos,
+ habár ez alapértelmezés szerint nincs
+ engedélyezve a <filename>GENERIC</filename>
+ konfigurációban.</para>
+
+ <programlisting># az i8254 készenléti módjának támogatása
+device pmtimer</programlisting>
+
+ <para>Az energiagazdálkodási események, mint
+ például APM és ACPI
+ időzítőjének
+ eszközmeghajtója.</para>
+
+ <programlisting># PCCARD (PCMCIA) támogatás
+# PCMCIA és cardbus támogatás
+device cbb # cardbus (yenta) bridge
+device pccard # PC Card (16 bites) busz
+device cardbus # CardBus (32 bites) busz</programlisting>
+
+ <para>A PCMCIA támogatása. Mindenképpen
+ szükségünk lesz rá, ha laptopunk
+ van.</para>
+
+ <programlisting># soros (COM) portok
+device sio # 8250, 16[45]50 alapú soros portok</programlisting>
+
+ <para>Ezek azok a soros portok, amelyek az &ms-dos;/&windows;
+ világban csak <devicename>COM</devicename>
+ portokként ismernek.</para>
+
+ <note>
+ <para>Ha van egy belső modemünk a
+ <devicename>COM4</devicename>-en és egy soros portunk a
+ <devicename>COM2</devicename>-n, a modem IRQ-ját meg kell
+ változtatnunk 2-re (valamilyen homályos
+ műszaki okból kifolyólag a COM2 = IRQ9), hogy
+ hozzá tudjunk férni &os;-ből. Ha
+ többportos soros kártyánk lenne, lapozzuk fel
+ a &man.sio.4; man oldalát, és ott hozzá
+ megtaláljuk a <filename>/boot/device.hints</filename>
+ állományba írandó megfelelő
+ értékeket. Egyes videokártyák
+ (különösen az S3 chipekre
+ épülők) az I/O címeket
+ <literal>0x*2e8</literal> alakban használják,
+ és mivel rengeteg olcsó soros kártya nem
+ kódolja vissza egészében a 16 bites I/O
+ címteret, ütközni fognak ezekkel a
+ kártyákkal, és ezáltal a
+ <devicename>COM4</devicename> port gyakorlatilag
+ elérhetetlenné válik.</para>
+
+ <para>Minden egyes soros portnak egyedi IRQ-ja kell legyen (hacsak
+ nem használunk olyan többportos
+ kártyát, amely támogatja a megosztott
+ megszakításokat), ezért a
+ <devicename>COM3</devicename> és
+ <devicename>COM4</devicename> esetén
+ alapértelmezett IRQ-k nem
+ használhatóak.</para>
+ </note>
+
+ <programlisting># párhuzamos port
+device ppc</programlisting>
+
+ <para>Ez az ISA busz párhuzamos portjának
+ felülete.</para>
+
+ <programlisting>device ppbus # a párhuzamos port busza (kell)</programlisting>
+
+ <para>A párhuzamos porthoz tartozó busz
+ támogatása.</para>
+
+ <programlisting>device lpt # nyomtató</programlisting>
+
+ <para>A párhuzamos portra csatlakozó nyomtatók
+ támogatása.</para>
+
+ <note>
+ <para>A fentiek közül mind a három
+ szükséges a párhuzamos porton
+ csatlakozó nyomtatók
+ használatához.</para>
+ </note>
+
+ <programlisting>device plip # TCP/IP párhuzamos porton keresztül</programlisting>
+
+ <para>Ez a párhuzamos port hálózati
+ felületének meghajtója.</para>
+
+ <programlisting>device ppi # a párhuzamos port felületének eszköze</programlisting>
+
+ <para>Általános célú (<quote>geek
+ port</quote>) és IEEE1284 I/O.</para>
+
+ <programlisting>#device vpo # az scbus és a da kell a használatához</programlisting>
+
+ <indexterm><primary>zip meghajtó</primary></indexterm>
+
+ <para>Ez az Iomega Zip meghajtóihoz tartozó
+ eszköz. A működéséhez
+ szükség van az <literal>scbus</literal> és
+ <literal>da</literal> engedélyezésére. A
+ legjobb teljesítményt EPP 1.9 módban
+ működő portokkal lehet kihozni belőle.</para>
+
+ <programlisting>#device puc</programlisting>
+
+ <para>Tegyük bele a konfigurációba ezt az
+ eszközt, ha egy olyan <quote>buta</quote> soros vagy
+ párhuzamos PCI kártyánk van, amelyet a
+ &man.puc.4; segédmeghajtó ismer.</para>
+
+ <programlisting># PCI Ethernet kártyák
+device de # DEC/Intel DC21x4x (<quote>Tulip</quote>)
+device em # Intel PRO/1000 Gigabit Ethernet kártya
+device ixgb # Intel PRO/10GbE Ethernet kártya
+device txp # 3Com 3cR990 (<quote>Typhoon</quote>)
+device vx # 3Com 3c590, 3c595 (<quote>Vortex</quote>)</programlisting>
+
+ <para>Különféle PCI hálózati
+ kártyák meghajtói. Vegyük ki azokat,
+ amelyek nem találhatóak meg a
+ rendszerünkben.</para>
+
+ <programlisting># PCI Ethernet kártyák, melyek az MII busz vezérlőkódját használják
+# FIGYELEM: Ne töröljük ki a 'device miibus' sort, ha ilyen kártyánk van!
+device miibus # az MII busz támogatása</programlisting>
+
+ <para>Az MII busz engedélyezése elengedhetetlen
+ bizonyos 10/100-as PCI Ethernet kártyák
+ használatához, konkrétan azokéhoz,
+ amelyek az MII-vel együttműködni képes
+ adó-vevőt használnak vagy az MII-höz
+ hasonló adó-vevő vezérlő
+ felületet valósítanak meg. A <literal>device
+ miibus</literal> hozzáadása a rendszermaghoz
+ magával vonja az általános miibus API
+ és az összes PHY meghajtó
+ támogatását, beleértve azt az
+ általános PHY eszközt is, amelyet az egyes
+ eszközmeghajtók külön nem
+ támogatnak.</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 és egyéb hasonlóak
+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 integrált Ethernet hálózat
+device pcn # AMD Am79C97x PCI 10/100 (az 'lnc' előtt)
+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>Meghajtók, melyek az MII busz
+ vezérlőkódját
+ használják.</para>
+
+ <programlisting># ISA Ethernet és pccard hálózati kártyák.
+device cs # Crystal Semiconductor CS89x0 NIC
+# az 'device ed' eszközhöz kell a 'device miibus'
+device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards
+device ex # Intel EtherExpress Pro/10 és Pro/10+
+device ep # Etherlink III alapú kártyák
+device fe # Fujitsu MB8696x alapú kártyák
+device ie # EtherExpress 8/16, 3C507, StarLAN 10 stb.
+device lnc # NE2100, NE32-VL Lance Ethernet kártyák
+device sn # az SMC 9000-res sorozatú Ethernet chipjei
+device xe # Xircom pccard Ethernet
+
+# ISA eszközök, melyek a régi ISA betétet használják
+#device le</programlisting>
+
+ <para>ISA Ethernet meghajtók. A konkrétan
+ támogatott kártyák teljes
+ felsorolását lásd a
+ <filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/NOTES</filename>
+ állományban.</para>
+
+ <programlisting># vezeték nélküli hálózati kártyák
+device wlan # 802.11 támogatás</programlisting>
+
+ <para>Általános 802.11 támogatás. Erre
+ a sorra mindenképpen szükség van a
+ vezeték nélküli hálózatok
+ használatához.</para>
+
+ <programlisting>device wlan_wep # 802.11 WEP támogatás
+device wlan_ccmp # 802.11 CCMP támogatás
+device wlan_tkip # 802.11 TKIP támogatás</programlisting>
+
+ <para>A 802.11 eszközök esetén a
+ titkosítás támogatása. Ezeket a
+ sorokat akkor adjuk meg, ha titkosítást akarunk
+ használni vagy a 802.11i biztonsági
+ protokolljait.</para>
+
+ <programlisting>device an # Aironet 4500/4800 802.11 vezeték nélküli hálózati kártyák
+device ath # Atheros pci/cardbus hálózati kártyák
+device ath_hal # Atheros HAL (Hardware Access Layer)
+device ath_rate_sample # küldési mintavételi vezérlés az ath-hoz
+device awi # BayStack 660 és mások
+device ral # Ralink Technology RT2500 vezeték nélküli hálózati kártyák
+device wi # WaveLAN/Intersil/Symbol 802.11 vezeték nélküli hálózati kártyák
+#device wl # régebbi, nem 802.11 Wavelan vezeték nélküli hálózati kártyák</programlisting>
+
+ <para>A különböző vezeték
+ nélküli kártyák
+ támogatása.</para>
+
+ <programlisting># Pszeudo eszközök
+device loop # hálózati loopback</programlisting>
+
+ <para>Ez a TCP/IP általános loopback eszköze. Ha
+ telnettel vagy FTP-vel rácsatlakozunk a
+ <hostid>localhost</hostid> címére (vagyis a <hostid
+ role="ipaddr">127.0.0.1</hostid>-re), akkor rajta keresztül
+ saját magunkhoz jutunk vissza. Ennek a megléte
+ <emphasis>kötelező</emphasis>!</para>
+
+ <programlisting>device random # álvéletlenszám eszköz</programlisting>
+
+ <para>Kriptográfiai szempontból biztonságos
+ álvéletlenszám generátor.</para>
+
+ <programlisting>device ether # Ethernet támogatás</programlisting>
+
+ <para>Az <literal>ether</literal> eszközre csak abban az
+ esetben van szükség, ha Ethernet
+ kártyánk van. Ez magában foglalja az
+ általános Ethernet protokoll
+ kódját.</para>
+
+ <programlisting>device sl # belső SLIP</programlisting>
+
+ <para>Az <literal>sl</literal> a SLIP használatát
+ engedélyezi. Ez egy régi protokoll, amelyet
+ azóta már szinte teljesen kiszorított a PPP,
+ mivel azt könnyebb beállítani és sokkal
+ jobban is illik a modem-modem kapcsolatokhoz, illetve sokkal
+ erőteljesebb.</para>
+
+ <programlisting>device ppp # belső PPP</programlisting>
+
+ <para>Ez a tárcsázós kapcsolatok rendszermagon
+ belüli PPP támogatását adja meg. Van a
+ PPP-nek egy külső, a felhasználói
+ programként megvalósított változata
+ is, amely a <literal>tun</literal> eszközt használja
+ és sokkal nagyobb rugalmasságot kínál
+ fel, illetve olyan lehetőségeket, mint
+ például az igény szerinti
+ tárcsázás.</para>
+
+ <programlisting>device tun # csomag alagút</programlisting>
+
+ <para>Ezt a felhasználói PPP szoftver
+ használja. A könyv <link
+ linkend="userppp">PPP</link>-ről szóló
+ részében többet is megtudhatunk
+ róla.</para>
+
+ <programlisting><anchor id="kernelconfig-ptys"/>
+device pty # Pszeudo terminálok (telnet stb.)</programlisting>
+
+ <para>Ezek a <quote>pszeudo terminálok</quote>, vagy
+ más néven szimulált bejelentkezési
+ portok. A bejövő <command>telnet</command> és
+ <command>rlogin</command> munkamenetek használják,
+ valamint az <application>xterm</application> és a
+ hozzá hasonló alkalmazások, mint
+ például az <application>Emacs</application>.</para>
+
+ <programlisting>device md # <quote>memórialemezek</quote></programlisting>
+
+ <para>A memóriában levő pszeudo lemezes
+ meghajtók.</para>
+
+ <programlisting>device gif # IPv6 és IPv4 tunnelek használata</programlisting>
+
+ <para>Megvalósítja az IPv6 IPv4 feletti, az IPv4 IPv6
+ feletti, az IPv4 IPv4 feletti és az IPv6 IPv6 feletti
+ közvetítését. A <literal>gif</literal>
+ eszköz <quote>magától
+ másolódik</quote>, vagyis szükség
+ szerint hozza létre a megfelelő
+ eszközleírókat.</para>
+
+ <programlisting>device faith # IPv6-IPv4 közti továbbítás (fordítás)</programlisting>
+
+ <para>Ez a pszeudo eszköz elfogja a hozzá
+ küldött csomagokat és átadja ezeket az
+ IPv4/IPv6 fordítással foglalkozó
+ démonnak.</para>
+
+ <programlisting># a `bpf' eszköz használatával a Berkeley csomagszűrőt (Berkeley Packet Filter) engedélyezzük
+# Legyünk rá tekintettel, hogy ennek komoly következményei lehetnek
+# rendszeradminisztrációs szempontból!
+# A 'bpf'-re szükség van a DHCP-hez.
+device bpf # Berkeley csomagszűrő</programlisting>
+
+ <para>A Berkeley csomagszűrője. Ez egy olyan pszeudo
+ eszköz, amely lehetővé teszi, hogy a
+ hálózati csatolók forgalmát
+ megfigyeljük, mivel a (pl. Ethernet)
+ hálózatunkon minden csomagot elkap. Ezek a csomagok
+ lemezre is menthetőek vagy kielemezhetőek a
+ &man.tcpdump.1; program segítségével.</para>
+
+ <note>
+ <para>A &man.bpf.4; eszközt a &man.dhclient.8; is
+ használja többek közt az alapértelmezett
+ átjáró IP-címének
+ megszerzéséhez. Ha DHCP-t akarunk
+ használni, hagyjuk így.</para>
+ </note>
+
+ <programlisting># USB támogatás
+device uhci # UHCI PCI-&gt;USB felület
+device ohci # OHCI PCI-&gt;USB felület
+device ehci # EHCI PCI-&gt;USB felület (USB 2.0)
+device usb # USB busz (kell)
+#device udbp # USB Double Bulk Pipe eszközök
+device ugen # általános
+device uhid # <quote>Human Interface Devices</quote>
+device ukbd # billentyűzet
+device ulpt # nyomtató
+device umass # lemez/háttértároló - kell hozzá az scbus és a da
+device ums # egér
+device ural # Ralink Technology RT2500USB vezeték nélküli hálózati kártyák
+device urio # Diamond Rio 500 MP3 lejátszó
+device uscanner # lapolvasók
+# USB Ethernet, kell hozzá az mii
+device aue # ADMtek USB Ethernet
+device axe # ASIX Electronics USB Ethernet
+device cdce # általános USB, Etherneten keresztül
+device cue # CATC USB Ethernet
+device kue # Kawasaki LSI USB Ethernet
+device rue # RealTek RTL8150 USB Ethernet</programlisting>
+
+ <para>A különféle USB eszközök
+ támogatása.</para>
+
+ <programlisting># FireWire támogatás
+device firewire # FireWire buszkód
+device sbp # SCSI FireWire-ön keresztül (kell hozzá az scbus és a da)
+device fwe # Ethernet FireWire-ön keresztül (nem szabványos!)</programlisting>
+
+ <para>A különféle Firewire eszközök
+ támogatása.</para>
+
+ <para>A &os; által ismert további
+ eszközökről a
+ <filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/NOTES</filename>
+ állományból
+ tájékozódhatunk.</para>
+
+ <sect2>
+ <title>Sok memória kezelése
+ (<acronym>PAE</acronym>)</title>
+
+ <indexterm>
+ <primary>Fizikai címkiterjesztés
+ (<acronym>PAE</acronym>)</primary>
+ <secondary>sok memória</secondary>
+ </indexterm>
+
+ <para>A sok memóriával rendelkező
+ számítógépek esetén
+ szükség lehet a felhasználói
+ és rendszerszintű virtuális címek
+ (Kernel Virtual Address, <acronym>KVA</acronym>) 4 gigabyte
+ feletti használatára. Ennek a
+ korlátozásnak a
+ kiküszöbölésére az &intel;
+ külön támogatást épített
+ be a &pentium; Pro és az azt követő
+ processzorok 36 bites fizikai címzésének
+ kialakításához.</para>
+
+ <para>A Fizikai Címkiterjesztés (Physical Address
+ Extension, <acronym>PAE</acronym>) az &intel; &pentium; Pro
+ és későbbi processzoraiban
+ található meg, és lehetővé
+ teszi egészen 64 gigabyte-ig a
+ memóriahasználatot. A &os; is támogatja
+ ezt a tulajdonságot a <option>PAE</option> rendszermag
+ beállítás használatával,
+ és megtalálható a &os; összes
+ jelenlegi verziójában. Az &intel;
+ architektúrájú processzorok
+ memóriaszervezésének korlátai
+ miatt nem különböztethető meg a 4 gigabyte
+ alatti és feletti memória. A 4 gigabyte felett
+ található memóriaterületek
+ egyszerűen hozzáadódnak a
+ rendelkezésre álló
+ memóriához.</para>
+
+ <para>A rendszermagban a <acronym>PAE</acronym>
+ támogatását egyszerűen az
+ alábbi sor hozzáadásával tudjuk
+ engedélyezni:</para>
+
+ <programlisting>options PAE</programlisting>
+
+ <note>
+ <para>A &os;-ben a <acronym>PAE</acronym>
+ támogatása csak az &intel; IA-32
+ architektúrájú processzoraihoz
+ érhető el. Emellett meg kell
+ említenünk, hogy a &os;-ben
+ található <acronym>PAE</acronym>
+ támogatás nem lett szélesebb
+ körben próbára téve, ezért
+ a &os; többi megbízható elemeihez
+ képest csak béta állapotúnak
+ tekinthető.</para>
+ </note>
+
+ <para>A &os; <acronym>PAE</acronym>
+ támogatásának van néhány
+ hiányossága:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Egy futó program a virtuális
+ memóriában nem képes 4
+ gigabyte-nál többet elérni.</para>
+ </listitem>
+
+ <listitem>
+ <para>A &man.bus.dma.9; felületet nem
+ használó eszközmeghajtók
+ adathibákat okozhatnak a <acronym>PAE</acronym>-t
+ támogató rendszermagokban, és emiatt
+ nem ajánljuk a használatukat. Ebből a
+ megfontolásból
+ készítettünk egy
+ <filename>PAE</filename> nevű
+ konfigurációs állományt a
+ &os;-hez, amelyben nem szerepel egyetlen olyan
+ meghajtó sem, amely ismereteink szerint nem
+ működik együtt a <acronym>PAE</acronym>-t
+ támogató rendszermagokkal.</para>
+ </listitem>
+
+ <listitem>
+ <para>Bizonyos finomhangolási
+ beállítások a
+ memóriahasználatot a rendelkezésre
+ álló fizikai memória
+ mennyiségéből
+ számítják ki. A
+ <acronym>PAE</acronym> támogatással
+ működő rendszerek esetében
+ megjelenő sok memória miatt azonban az ilyen
+ eszközök szükségtelenül
+ több területet foglalhatnak le. Erre
+ példa lehet a <option>kern.maxvnodes</option>
+ sysctl változó, amely a rendszermag
+ által maximálisan
+ felhasználható virtuális
+ csomópontok számát korlátozza.
+ Ajánlott tehát az ilyen és ehhez
+ hasonló beállítások
+ értelmes értékre
+ történő
+ visszaállítása.</para>
+ </listitem>
+
+ <listitem>
+ <para>Szükséges lehet a rendszermag
+ virtuális címterének
+ (<acronym>KVA</acronym>) növelése vagy a
+ rendszermag által túlságosan nagy
+ méretűre foglalt címterű
+ különféle erőforrások
+ (lásd fentebb) csökkentése a
+ <acronym>KVA</acronym> kifogyásának
+ elkerülésére. A <acronym>KVA</acronym>
+ területének növelését a
+ <option>KVA_PAGES</option>
+ beállításával tehetjük
+ meg.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Ha gondjaink lennének a
+ teljesítménnyel vagy a
+ megbízhatósággal, keressük fel a
+ &man.tuning.7; man oldalt. A &man.pae.4; man oldalon pedig a
+ &os; <acronym>PAE</acronym>
+ támogatásáról találhatunk
+ naprakész információkat.</para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="kernelconfig-trouble">
+ <title>Ha valamilyen hiba történne</title>
+
+ <para>Négyféle probléma jelentkezhet egy
+ saját rendszermag készítése
+ során. Ezek:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>A <command>config</command> hibát jelez:</term>
+
+ <listitem>
+ <para>Amikor a &man.config.8; parancs hibát jelez
+ vissza a rendszermagunk konfigurációs
+ beállításainak feldolgozása
+ során, akkor minden bizonnyal csak egy apró
+ hibát vétettünk valahol.
+ Szerencsére a &man.config.8; kiírja a
+ hibás sor számát, ezért gyorsan
+ fel tudjuk kutatni a hibát tartalmazó sort.
+ Például, ha ezt látjuk:</para>
+
+ <screen>config: line 17: syntax error</screen>
+
+ <para>Akkor győződjünk meg róla, hogy
+ helyesen írtuk be az adott sorban szereplő
+ kulcsszót. Ebben segítségünkre
+ lehet, ha összevetjük a
+ <filename>GENERIC</filename> konfigurációs
+ állománnyal vagy más
+ hivatkozásokkal.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>A <command>make</command> hibát jelez:</term>
+
+ <listitem>
+ <para>Ha a <command>make</command> jelez hibát, az
+ általában arra utal, hogy az általunk
+ korábban megadott rendszermag
+ konfigurációs állományt a
+ &man.config.8; nem értette meg rendesen. Megint azt
+ tudjuk csak javasolni, hogy nézzük át a
+ konfigurációs
+ beállításainkat, és ha
+ ezután sem sikerül megoldani a
+ problémát, akkor mellékeljük egy
+ levélben a rendszermagunk konfigurációs
+ beállításait és
+ küldjük el a &a.questions; címére,
+ ahol a hozzáértők gyorsan
+ átnézik.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>A rendszermag nem indul:<anchor
+ id="kernelconfig-noboot"/></term>
+
+ <listitem>
+ <para>Ha az új rendszermagunk nem indul vagy nem
+ képes felismerni az eszközeinket, ne essünk
+ kétségbe! Szerencsére a &os;
+ tökéletes megoldással tud
+ szolgálni az összeférhetetlen
+ rendszermagok esetére: a &os;
+ rendszerbetöltőjében egyszerűen
+ válasszuk ki az indítandó
+ rendszermagot. Ezt akkor tudjuk előhívni,
+ amikor a rendszerindító menü megjelenik.
+ Válasszuk ki a hatos, vagyis az <quote>Escape to a
+ loader prompt</quote> (a betöltő
+ parancssorának előhívása)
+ menüpontot. Mikor megjelenik a parancssor,
+ írjuk be, hogy <command>unload kernel</command>, majd
+ adjuk ki a <command>boot
+ /boot/<replaceable>kernel.old</replaceable>/kernel</command>,
+ parancsot, amiben bármilyen más olyan
+ rendszermagot is megnevezhetünk, ami korábban
+ már működött. Ezért amikor
+ beállítunk egy új rendszermagot, mindig
+ érdemes a kezünk ügyében tartani
+ legalább egy olyan rendszermagot, amely
+ működik.</para>
+
+ <para>Miután sikerült elindítanunk az egyik
+ használható rendszermagot, nézzük
+ át még egyszer a konfigurációs
+ állományt és próbáljuk
+ újra lefordítani a rendszermagot. A
+ probléma megoldását segítheti a
+ <filename>/var/log/messages</filename>
+ állomány áttanulmányozása
+ is, ami többek közt rögzíti a
+ rendszermag sikeres indulása során
+ keletkező üzeneteket. Ezenkívül a
+ &man.dmesg.8; parancs is meg tudja jeleníteni az
+ aktuális rendszerindítás
+ üzeneteit.</para>
+
+ <note>
+ <para>Ha gondok merülnének fel a rendszermag
+ elkészítése során,
+ mindenképpen tartsuk meg a
+ <filename>GENERIC</filename>, vagy bármilyen
+ másik olyan rendszermagot, amelyről tudjuk,
+ hogy működik. Nevezzük át,
+ így nem fog felülíródni a
+ következő fordítás és
+ telepítés során. A
+ <filename>kernel.old</filename> állományra
+ ugyanis nem minden esetben számíthatunk,
+ mivel az új rendszermagok
+ telepítésénél a
+ <filename>kernel.old</filename> mindig
+ felülíródik a legutóbb
+ telepített rendszermaggal, amely azonban nem
+ feltétlenül lesz
+ működőképes. Sőt, amint csak
+ lehetséges, rakjuk a működő
+ rendszermagot a <filename
+ class="directory">/boot/kernel</filename>
+ könyvtárba vagy különben a
+ &man.ps.1; és a hozzá hasonló
+ parancsok nem fognak rendesen működni. Mindezek
+ elvégzéséhez egyszerűen
+ nevezzük át a jó rendszermagot
+ tartalmazó könyvtárt:</para>
+
+ <screen>&prompt.root; <userinput>mv /boot/kernel <replaceable>/boot/kernel.rossz</replaceable></userinput>
+&prompt.root; <userinput>mv /boot/<replaceable>kernel.jó</replaceable> /boot/kernel</userinput></screen>
+
+ </note>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>A rendszermag működik, a &man.ps.1; viszont
+ nem:</term>
+
+ <listitem>
+ <para>Ha olyan rendszermagot telepítettünk, aminek
+ a verziója nem egyezik meg a
+ hozzá tartozó segédprogramokéval,
+ tehát például -CURRENT rendszermagot
+ raktunk egy -RELEASE rendszerhez, egyes
+ rendszerállapotjelző parancsok, mint
+ például a &man.ps.1; vagy a &man.vmstat.8; nem
+ fognak működni. Ebben az esetben <link
+ linkend="makeworld">az egész rendszert újra
+ kell fordítanunk és
+ telepítenünk</link> a rendszermagunkkal
+ megegyező verziójú
+ forrásból. Részben ezért sem
+ különösen ajánlott, hogy az
+ operációs rendszer többi
+ részétől eltérő
+ verziójú rendszermagot
+ használjunk.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </sect1>
+</chapter>