[OpenBSD]

[FAQ Index] [4. Fejezet - Telepítési Útmutató] [6. Fejezet - Hálózat]

5 - Rendszer Építése Forrásból


Tartalom



5.1 - az OpenBSD ízek

Az OpenBSD-nek három kiadása (flavor = íz, aroma, illat, ahogy az OpenBSD-sek hívják) létezik: Grafikusan az ízek fejlődése valahogy így néz ki:
       ,------o-----------o----X                    3.3 Stable
       |      .           .
       |      .    ,------o---------o----X          3.4 Stable
       |      .    |      .         .
       |      .    |      .    ,----o----------o--> 3.5 Stable
       |      .    |      .    |    .          .
       |      .    |      .    |    .    ,-----o--> 3.6 Stable
       |      .    |      .    |    .    |     .
       |      .    |      .    |    .    |     .
 -->3.3Rel----->3.4Rel----->3.5Rel----->3.6Rel----> Current 

       Idő --->


A kód fa minden hatodik hónapban ágazik el -current, -release és -stable ágakra -- -release (kiadás) egy befagyott pont (egy "Jelzés") a forrás fa történelmében - sosem változik meg és ez az ami fenn van a CD-ken és az FTP kiszolgálókon. A -Current amelyben az aktív munka folyik, és amelyből az OpenBSD következő kiadása (-release) lesz.

A -stable (avagy más néven a "Folt ág - Patch branch") a -release kiadáson alapul, és mint ahogy ez jól látható egy újabb ág az OpenBSD fejlesztési útján. Amint fontos javítások kerülnek a -current ágba, ezek belekerülnek ("back port") a -stable ágakba is. A fenti ábrán látható függőleges pontvonalak azok a hibajavítások, amelyeket beleépítettek a -stable ágba. Ezen kívül az is látható a fenti példában, hogy a 3.3-stable ág befejeződik a 3.5-release kiadásakor, a 3.4-stable ág pedig a 3.6-release kiadásakor -- régebbi kiadások általában további két kiadásig vannak támogatva. Sok erőforrásba és időbe kerül a régebbi kiadások támogatását fenntartani és habár szeretnénk a régebbi kiadásokat is támogatni, mégis inkább az új szolgáltatásokra koncentrálunk. A -stable ágat a tervezése miatt igen könnyű felépíteni az ugyanolyan verziójú -release-ből (azaz pl. a 3.6-release-ből 3.6-stable-re).

A -stable ág egy -release plusz az errata oldalon megtalálható foltok és néhány olyan egyszerűbb javítás, amelyből nem érdemes errata feljegyzést készíteni. Általában a -stable működése megegyezik az alapjául szolgáló -release működésével. Ha a kézikönyvet (man pages) át kell írni egy változás miatt, akkor az valószínűleg nem fog belekerülni a -stable-be. Más szavakkal, új eszköz támogatása NEM lesz hozzáadva a -stable-hez és új szolgáltatás is csak akkor ha feltétlenül szükséges.

Vigyázat: -current egy mozgó célpont. Percről percre változik és többször megváltozhat az alatt az idő alatt is, amíg letöltöd a forráskódot. Mint ezt már korábban említettük, nincs arra semmi garancia, hogy a rendszer lefordítható, sem arra, hogy működik (persze van rá remény). Teljesen lehetséges, mint ahogy gyakran megtörténik, hogy a -current forrását nem lehet lefordítani, majd öt perccel későbbi állapot teljesen rendben működik. Ha nem akarsz ilyen dolgokkal foglalkozni, akkor jobb, ha távol maradsz a -current-től.

A legtöbb felhasználónak a -stable vagy a -release verzió a megfelelő. Elmondható, hogy sok ember használja "éles" rendszeren a -current-et, mivel fontos, hogy legyenek akik megtalálják a hibákat és tesztelik az új szolgáltatásokat. Ha azonban nem tudod, hogy hogyan kell megfelelően a hibákkal bánni, jelenteni, elemezni, akkor ne mondd magadnak (és másnak sem), hogy azzal segíted a projektet, hogy -current-et futtatsz. A "Nem működik!" nem egy használható hibajelentés. "A pciide meghajtó legutolsó változtatása nem kompatibilis a Slugchip-alapú IDE csatolómmal, a működő és a hibás rendszerem dmesg-je itt van..." lehet egy használható jelentés.

Előfordulhat azonban, hogy "normál" felhasználók is szeretnének a penge élén táncolni és -current-rendszert futtatni. A leggyakoribb ok, hogy a felhasználónak van olyan eszköze amelyet nem támogat a -release (és így a -stable sem), illetve a -current valamely új szolgáltatását kívánja használni. Ebben az esetben két választás lehet: a -current használata, illetve hogy nem használja az eszközt. És valószínűleg a -current használata a kisebbik rossz. De azt ne várja, hogy a fejlesztők elkényeztetik majd.

Snapshot-ok

Az OpenBSD hivatalos kiadásai között úgynevezett pillanatképeket (snapshot) lehet letölteni az FTP siteok-ról. Mint azt a neve is mutatja ezek olyan kiadások, amelyek a kód egy aktuális pillanatában készültek, és amit a fejlesztő kivett a forrás fából és egy adott platformra felépített. Bizonyos platformokon akár NAPOK is eltelhetnek, amíg a snapshot felépül, elkészül és készen áll a terjesztésre. Nincs semmi biztosíték arra, hogy egy snapshot teljesen működőképes vagy egyáltalán lehet telepíteni. Gyakran egy tesztelésre váró változtatás váltja ki egy snapshot elkészítését. Bizonyos platformokon majdnem naponta készülnek snapshotok, másokon sokkal ritkábban. Ha -current-et akarsz futtatni, akkor gyakran a legutolsó snapshot az amire szükséged van, és egy snapshotra frissíteni jó kiinduló pont lehet azelőtt, mielőtt megkísérelsz -current-et építeni.

Gyakran felteszik a kérdést, hogy meg lehet-e szerezni a forráskódnak pontosan azt a másolatát, amelyből a snapshot készült. A válasz az, hogy nem. Először is ennek nincs igazán semmi haszna. Másodszor, snapshotok akkor készülnek ha van rá valami igény, ha az idő megengedi, illetve ha van rá elég erőforrás. Gyors platformokon számos snapshot is készülhet egy nap. Lassabbakon akár egy hétig vagy tovább is tarthat amíg elkészül. Különböző jelölések vagy megjegyzések elhelyezése a forrásban minden egyes snapshot készítésekor pedig nem igazán praktikus.

A dolgok szinkronban tartása

Fontos megérteni, hogy az OpenBSD egy Operációs Rendszer, egy egységként kell kezelni, nem pedig egy rendszermag egy csomó segédprogrammal összeragasztva. Mindig meg kell róla győződnöd, hogy a rendszermag (kernel), a "userland" (a szükséges segédprogramok és fájlok) és a ports fa szinkronban van-e, mert ha nem, akkor kellemetlen dolgok történhetnek. Más szóval (mivel az emberek állandóan elkövetik ezt a hibát), nem futtathatod a vadonatúj portokat egy több hónapos rendszeren, vagy nem teheted meg, hogy felépítesz egy rendszermagot a -current forrásából és elvárod, hogy működjön egy -release userland-el. Igen, ez azt jelenti, hogy frissítened kell kell az egész rendszered, ha egy olyan programot akarsz használni, amit csak ma adtak hozzá a ports fához. Elnézést ezért, de az OpenBSD erőforrásai eléggé korlátozottak.

Azt is meg kell érteni, hogy amikor forrásból frissíted a rendszert, akkor a frissítés (aktualizálás) csak egy irányba működik: régebbiről az újabb felé, illetve a -stable-től a -current felé. Nem teheted meg, hogy ha mondjuk 3.6-current-et (vagy snapshot-ot) futtatsz, majd rájössz, hogy túlságosan veszélyesen élsz és inkább visszalépsz a 3.6-stable-re. Magadra maradsz hogyha más módszert választasz mint ami támogatott arra, hogy újraépítsd a rendszered a semmiből, és ne várj segítséget az OpenBSD fejlesztői csapattól.

Igen, ez azt jelenti, hogy nagyon jól meg kell gondolnod mielőtt ráveszed magad a -current használatára.

5.2 - Miért van szükségem egyedi (custom) rendszermagra?

Valójában valószínűleg nincs.

Az egyedi rendszermag egy olyan rendszermag, amelyet nem az adott "gyári" ún. GENERIC konfigurációs fájl segítségével építettek. Az egyedi rendszermag alapja lehet a -release, -stable vagy -current kód, ugyanúgy ahogy a GENERIC rendszermagé is lehet. Amíg az egyedi GENERIC rendszermagod fordítását támogatja az OpenBSD csapat, addig a custom rendszermagét nem.

A szabvány OpenBSD rendszermag konfigurációt (GENERIC) arra tervezték, hogy megfeleljen a legtöbb embernek. Többen megbontják a rendszerüket azzal, hogy megpróbálják a rendszermagot állítgatni, hogy ezzel javítsa a rendszere teljesítményét. Néhányan azt hiszik, hogy mindenképpen testre kell szabni a rendszermagot és a rendszert a megfelelő teljesítményhez, de ez nem igaz az OpenBSD-re. Csak a megfelelően képzett és hozzáértő felhasználóknak és csak nagyon szükséges esetekben, bizonyos alkalmazásoknál kell az egyedi, testreszabott rendszermaggal vagy rendszerrel.

Néhány ok amiért akarhatsz, illetve szükséged lehet egyedi rendszermag építésére:

Néhány ok, amiért nem kéne egyedi rendszermagot építened:

Az eszközmeghajtók eltávolítása gyorsíthatja a rendszerindítást, viszont megnehezítik a helyreállítást hardver hiba esetén, sőt gyakran ez nem is sikerül. Az eszközmeghajtók eltávolításától nem lesz észrevehetően gyorsabb a rendszered, habár a rendszermag mérete kisebb lesz. A debug és hibaellenőrzés eltávolítása számottevően javíthatja a teljesítményt, viszont lehetetlenné teszi a hibakeresést, ha valami mégis elromlik.

Tehát még egyszer: a fejlesztők nem foglalkoznak az olyan hibajelentésekkel, amelyek egyedi rendszermagról szólnak, kivéve akkor, ha a hibát elő lehet állítani a GENERIC rendszermaggal is. Mi szóltunk.

5.3 - Rendszermag konfigurációs fájlok

Az OpenBSD rendszermag előállítását a konfigurációs fájlok határozzák meg, amelyek a /usr/src/sys/arch/<arch>/conf/ katalógusban találhatók alapértelmezésben. Minden architektúrának saját GENERIC fájlja van, amellyel elkészíthető a szabvány OpenBSD rendszermag az adott platformra. Lehetnek egyéb konfigurációs fájlok, melyekkel egyéb célra szánt rendszermagok készíthetők, pl. kevés RAM-hoz vagy lemez nélküli munkaállomásokhoz.

A konfigurációs fájlt a config(8) dolgozza fel, amely elkészíti és feltölti a fordítási katalógust a ../compile alatt, amely egy tipikus telepítésben az /usr/src/sys/arch/<arch>/compile/ katalógusban van. A config(8) ezen kívül elkészíti a Makefile-t és egyéb fájlokat, amelyek szükségesek a rendszermag sikeres felépítéséhez.

Rendszermag Konfigurációs Opciók azok az opciók, amelyeket hozzáadsz a rendszermag konfigurációhoz, hogy benne legyenek bizonyos szolgáltatások a saját rendszermagodban. Ennek segítségével pontosan csak azok a támogatások lesznek belefordítva, amiket akarsz a felesleges támogatások nélkül. Rengeteg opció van, amelyekkel testre szabhatod a rendszermagod. Itt most csak azokról lesz szó, amelyek a leggyakrabban használatosak. Az opciók teljes listájához nézd meg az options(4) kézikönyv (man) oldalt. Mivel ezek változhatnak időről időre, ezért bizonyosodj meg arról, hogy a man oldal verziója ugyan az, mint az OpenBSD-jé, amelyet építesz. Ezen kívül tanulmányozhatod az architektúrádhoz tartozó példa konfigurációs fájlt is. Ne adj hozzá, törölj vagy változtass meg opciókat a rendszermagban, hacsak nincs rá igazán jó okod! Az egyetlen konfiguráció amit az OpenBSD csapat támogat a GENERIC, az /usr/src/sys/arch/<arch>/conf/GENERIC és az /usr/src/sys/conf/GENERIC fájlokban lévő opciók kombinációja, abban a formában, ahogy az OpenBSD csapat szállította (azaz NINCS átszerkesztve). Egy átszerkesztett rendszermag hibajelentésekor szinte mindig azt mondják, hogy próbáld reprodukálni a hibát egy GENERIC rendszermaggal. Nem minden opció kompatibilis egymással és bizonyos opciókra mindenképp szükség van a rendszer működéséhez. Arra sincs garancia, hogy ha sikerül is lefordítanod egy egyedi rendszermagot az tényleg futni is fog.

Itt láthatók a platform specifikus konfigurációs fájlok:

Ha jól megnézed ezeket a fájlokat, akkor észrevehetsz egy ehhez hasonló sort a fájl tetejéhez közel:

     include "../../../conf/GENERIC"
Ez egy hivatkozás egy másik konfigurációs fájlra, amely a platform független opciókat tartalmazza. Amikor elkészíted a saját Rendszermag Config-od, mindenképpen nézd át a sys/conf/GENERIC fájlt.

A rendszermag konfigurációs opcióknak a következő formában kell lenniük a konfigurációs fájlban:

option     név
Például a "DEBUG" opció engedélyezéséhe a rendszermagban a következő sort kell beírni:
     option      DEBUG
Az OpenBSD rendszermagban lévő opciók le lesznek fordítva compiler előfeldolgozó (preprocessor) opciókká, így egy olyan opciót mint a DEBUG meg lehetett volna adni fordításkor a -DDEBUG kapcsolóval, ami viszont egyenértékű egy #define DEBUG-gal a rendszermag forrásban.

Előfordulhat, hogy ki akarsz kapcsolni egy olyan opciót, amely korábban engedélyezett volt, tipikusan a "src/sys/conf/GENERIC" fájlban. Ugyan tudnád szerkeszteni ennek a fájlnak egy másolatát is, de sokkal jobb megoldás lehet az rmoption utasítás használata. Például ha tényleg ki akarod kapcsolni a a rendszermagban lévő hibakeresőt - debugger - (ami nem ajánlott!), akkor hozzáadhatsz egy ilyen sort mint ez

     rmoption DDB
a rendszermag konfigurációs fájlhoz. A option DDB definiálva van a src/sys/conf/GENERIC fájlban, de a fenti rmoption sor inaktiválja.

Még egyszer kérünk, nézd meg a options(4) kézikönyv (man) oldalt további információkért az opciók leírásával kapcsolatban. Ezen kívül sok olyan opció van, amelyeknek van saját man oldaluk -- mindig olvass el mindent egy opcióról mielőtt hozzáadod vagy eltávolítod a rendszermagból.

5.4 - Egyedi rendszermag építése

Az egyedi rendszermag készítésének teljes leírása megtalálható a afterboot(8) man oldalon.

A rendszermag lefordításához először is szükséged van a forráskódra. Ez megtalálható mind a hivatalos CD-ROM-on (3. lemez) és az FTP helyeken. A következő példa feltételezi, hogy a CD3 fel van csatolva az /mnt katalógusba:

# cd /usr/src
# tar xvzf /mnt/src.tar.gz
Megjegyzés: Ha FTP-n keresztül töltesz le, akkor KÉT fájlt fogsz találni, az src.tar.gz-t és a sys.tar.gz-t. Az első az ún. "userland" -- a rendszermagon kívül minden, a második maga a rendszermag forrása. Töltsd le és csomagold ki mindkettőt, mivel a legtöbb felhasználónak mindkettőre szüksége van. A CD-ROM-on ezek egy fájlban vannak.

Ezek után a saját rendszermag készítéséhez a legegyszerűbb a GENERIC rendszermag használata. Ez a /usr/src/sys/arch/$ARCH/conf/GENERIC katalógusban található, ahol az $ARCH a te architektúrád. Egyéb konfigurációs fájl páldák is vannak ugyanebben a katalógusban. Most nézzünk két példát a rendszermag fordításra. Az első egy rendszermag fordítás csak olvasható forrásfa esetén. A második pedig egy írható forrásfa fordítása.

# cd /akarhova
# cp /usr/src/sys/arch/$ARCH/conf/VALAMIFILE .
# vi VALAMIFILE   (a kívánt változtatások elvégzése)
# config -s /usr/src/sys -b . VALAMIFILE
ezután vagy:
    # make depend
         - VAGY -
    # make clean && make depend
# make
Akkor kell futtatnod a 'make depend' parancsot, ha valamit változtattál a forrásfában (ebbe beletartozik a rendszerfrissítés és a foltozás is), más szavakkal, szinte mindig. Ha a config azt mondja, hogy futtasd a 'make clean'-t is, akkor azt a 'make depend' futtatása előtt kell megtenned.

Ha megváltoztattad a rendszermag konfigurációs beállításokat, és/vagy jelentősebb változtatásokat végeztél a forrásfában, akkor a 'make clean' parancsot kell használnod a fenti 'make depend' helyett. Mindig biztonságos a 'make clean' használata, habár hosszabb fordítási időt eredményez, mivel sokkal többet kell újrafordítani.

Egy írható forrásfában való rendszermag fordításhoz a következőt kell tenni:

# cd sys/arch/$ARCH/conf
# vi VALAMIFILE (a kívánt változtatások elvégzése)
# config VALAMIFILE (itt olvashatsz róla többet: config(8))
# cd ../compile/VALAMIFILE
# make

Ahol az $ARCH az általad használt architektúra (pl. i386). Ezen kívül csinálhatsz egy make depend -et is, hogy beállítsd a függőségeket a következő rendszermag fordításhoz.

A rendszermag elhelyezése a megfelelő helyre:

# cp /bsd /bsd.old
# cp /sys/arch/$ARCH/compile/VALAMIFILE/bsd /bsd
Ha a régi rendszermaggal akarsz indítani rendszerindításkor, akkor írd be a boot promptnál:
boot> bsd.old
és a régi rendszermag töltődik be a /bsd helyett.

Néha, ha új rendszermagot építesz szükséges lehet új bootblokkokat telepíteni. Ehhez olvasd el a FAQ 14, Bootblokkok Telepítése oldalt, amely elmagyarázza az OpenBSD Bootloader használatát.

5.5 - Konfigurálás Rendszerindításkor

Néha azt veheted észre, hogy a rendszermag ugyan megtalálja az eszközöd, de nem jó IRQ-n. Viszont azonnal szeretnéd használni az eszközt. Semmi gond. Anélkül, hogy újra kellene fordítani a rendszermagot megoldhatod a problémát az OpenBSD rendszermag rendszerindításkori konfigurálásával. Ez csak egyetlen alkalomra segít ki, ha újraindítod a gépet akkor meg kell ismételned az eljárást. Tehát ez csak egy átmeneti megoldás, később ki kell javítanod és újrafordítanod a rendszermagot. Ehhez a rendszermagban benne kell lennie a option BOOT_CONFIG opciónak. Ez benne van a GENERIC rendszermagban.

Ennek a dokumentumnak a nagy része megtalálható a boot_config(8) kézikönyv oldalon.

A Felhasználói Rendszermag Konfigurációhoz (User Kernel Config - UKC) a -c opciót kell használni rendszerindításkor.

boot> boot hd0a:/bsd -c
Illetve az a rendszermag amit be akarsz tölteni. Ekkor feljön az UKC prompt. Itt kiadhatsz parancsokat közvetlenül a rendszermagnak, amelyekkel meghatározhatsz eszközöket, amelyeket meg akarsz változtatni, letiltani vagy akár engedélyezni.

Itt a listája a legáltalánosabb UKC parancsoknak:

Miután bekonfiguráltad az eszközeidet, használd a quit vagy az exit parancsot a rendszerindítás folytatásához. Majd ezután ezt a változást véglegesítsd a rendszermag image -ben, A rendszermag megváltoztatása a config(8) segítségével fejezetben leírt módon.

5.6 - Hogyan kapjunk még bővebb kimenetet rendszerindítás során

A bőségesebb kimenet nagyon hasznos lehet a rendszerindításkori problémák megoldásához. Ha például az a probléma, hogy a rendszer nem indul el egy rendszerindító flopiról és több információra van szükséged, akkor egyszerűen csak indítsd újra a rendszert. Amikor megkapod a boot promptot akkor add meg a -c opciót. Ekkor bekerülsz az UKC-be, ahol a következőt írd be:
UKC> verbose
autoconf verbose enabled
UKC> quit

Most már rendkívül bőséges kimenetet fogsz kapni.

5.7 - A rendszermag megváltoztatása a config(8) segítségével

Az -e és az -u opciók a config(8) használatakor nagyon hasznos lehet és megtakaríthatjuk vele a rendszermag újrafordításának idejét. Az -e flag engedélyezi, hogy beléphessünk az UKC-be (Felhasználói Rendszermag Konfiguráció - User Kernel Config) egy futó rendszeren. Ezek a változások azután a következő rendszerindításkor lépnek életbe. Az -u flag leteszteli, vajon történt-e valamilyen változás a futó rendszermagban rendszerindításkor, azaz használtad a boot -c kapcsolót, hogy belépj az UKC-ba mikor indult a rendszered.

A következő példa megmutatja hogyan kell letiltani az ep* eszközöket a rendszermagban. A biztonság kedvéért használd a -o opciót, amely egy általad megadott fájlba írja ki a változtatást. Például: config -e -o bsd.new /bsd a bsd.new fájlba írja a változásokat. A következő példa nem használja az -o opciót, ezért a változások figyelmen kívül maradnak és nem kerülnek kiírásra a rendszermag binárisába. A hiba és figyelmeztető üzenetekkel kapcsolatos további információkért olvasd el a config(8) man oldalt.

$ sudo config -e /bsd
OpenBSD 3.6 (GENERIC) #59: Fri Sep 17 12:32:57 MST 2004
    deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
warning: no output file specified
Enter 'help' for information
ukc> ?
        help                            Command help list
        add         dev                 Add a device
        base        8|10|16             Base on large numbers
        change      devno|dev           Change device
        disable     attr val|devno|dev  Disable device
        enable      attr val|devno|dev  Enable device
        find        devno|dev           Find device
        list                            List configuration
        lines       count               # of lines per page
        show        [attr [val]]        Show attribute
        exit                            Exit, without saving changes
        quit                            Quit, saving current changes
        timezone    [mins [dst]]        Show/change timezone
        nmbclust    [number]            Show/change NMBCLUSTERS
        cachepct    [number]            Show/change BUFCACHEPERCENT
        nkmempg     [number]            Show/change NKMEMPAGES
        shmseg      [number]            Show/change SHMSEG
        shmmaxpgs   [number]            Show/change SHMMAXPGS
ukc> list
  0 audio* at sb0|sb*|gus0|pas0|sp0|ess*|wss0|wss*|ym*|eap*|eso*|sv*|neo*|cmpci*
|clcs*|clct*|auich*|autri*|auvia*|fms*|uaudio*|maestro*|esa*|yds*|emu* flags 0x0
  1 midi* at sb0|sb*|opl*|opl*|opl*|opl*|ym*|mpu*|autri* flags 0x0
  2 nsphy* at aue*|xe*|ef*|gx*|stge*|bge*|nge*|sk*|ste*|sis*|sf*|wb*|tx*|tl*|vr*
|ne0|ne1|ne2|ne*|ne*|ne*|dc*|dc*|rl*|fxp*|fxp*|xl*|xl*|ep0|ep0|ep0|ep*|ep*|ep*|e
p*|ep* phy -1 flags 0x0
  3 nsphyter* at aue*|xe*|ef*|gx*|stge*|bge*|nge*|sk*|ste*|sis*|sf*|wb*|tx*|tl*|
vr*|ne0|ne1|ne2|ne*|ne*|ne*|dc*|dc*|rl*|fxp*|fxp*|xl*|xl*|ep0|ep0|ep0|ep*|ep*|ep
*|ep*|ep* phy -1 flags 0x0
  4 qsphy* at aue*|xe*|ef*|gx*|stge*|bge*|nge*|sk*|ste*|sis*|sf*|wb*|tx*|tl*|vr*
|ne0|ne1|ne2|ne*|ne*|ne*|dc*|dc*|rl*|fxp*|fxp*|xl*|xl*|ep0|ep0|ep0|ep*|ep*|ep*|e
p*|ep* phy -1 flags 0x0
  5 inphy* at aue*|xe*|ef*|gx*|stge*|bge*|nge*|sk*|ste*|sis*|sf*|wb*|tx*|tl*|vr*
|ne0|ne1|ne2|ne*|ne*|ne*|dc*|dc*|rl*|fxp*|fxp*|xl*|xl*|ep0|ep0|ep0|ep*|ep*|ep*|e
p*|ep* phy -1 flags 0x0
  6 iophy* at aue*|xe*|ef*|gx*|stge*|bge*|nge*|sk*|ste*|sis*|sf*|wb*|tx*|tl*|vr*
|ne0|ne1|ne2|ne*|ne*|ne*|dc*|dc*|rl*|fxp*|fxp*|xl*|xl*|ep0|ep0|ep0|ep*|ep*|ep*|e
p*|ep* phy -1 flags 0x0
  7 eephy* at aue*|xe*|ef*|gx*|stge*|bge*|nge*|sk*|ste*|sis*|sf*|wb*|tx*|tl*|vr*
|ne0|ne1|ne2|ne*|ne*|ne*|dc*|dc*|rl*|fxp*|fxp*|xl*|xl*|ep0|ep0|ep0|ep*|ep*|ep*|e
p*|ep* phy -1 flags 0x0
  8 exphy* at aue*|xe*|ef*|gx*|stge*|bge*|nge*|sk*|ste*|sis*|sf*|wb*|tx*|tl*|vr*
|ne0|ne1|ne2|ne*|ne*|ne*|dc*|dc*|rl*|fxp*|fxp*|xl*|xl*|ep0|ep0|ep0|ep*|ep*|ep*|e
p*|ep* phy -1 flags 0x0
[...snip...]
ukc> disable ep
 67 ep0 disabled
 68 ep* disabled
 69 ep* disabled
155 ep0 disabled
156 ep0 disabled
157 ep* disabled
158 ep* disabled
210 ep* disabled
ukc> quit
not forced
  

A fenti példában minden ep* eszköz le van tiltva a rendszermagban és nem is lesznek lepróbálva. Bizonyos esetekben amikor az UKC-t használod rendszerindításkor a boot -c segítségével, szükséges lehet, hogy a változásokat véglegesen kiírd. Ehhez a -u opciót kell használnod. A következő példában belépünk az UKC-be, letiltjuk a wi(4) eszközt. Mivel ezeket a változásokat a boot -c segítségével csináltuk, ezért NEM véglegesek, csak akkor lesznek azok, ha külön kiírjuk. Ez a példa kiírja a boot -c használatával végzett változtatásokat egy új rendszermag binárisba, a bsd.new-ba.

$ sudo config -e -u -o bsd.new /bsd
OpenBSD 3.6 (GENERIC) #59: Fri Sep 17 12:32:57 MST 2004
    deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
Processing history...
105 wi* disabled
106 wi* disabled
Enter 'help' for information
ukc> quit

5.8 - Fordításkor és Építéskor Tapasztalható Általános Problémák

5.8.1 - Az építés megáll "Signal 11" hibával

OpenBSD és más programok építése forrásból sokkal jobban leterheli a hardvert mint más feladatok, erőteljesebben használva a CPU-t, a merevlemezt és a memóriát. Ezért, ha a hardverednek van valamilyen problémája, ekkor sokkal nagyobb valószínűséggel fog előjönni mint máskor. Signal 11 hibák tipikusan hardver problémából erednek, gyakran memória hibából, de lehet CPU, alaplap, vagy túlmelegedés is az oka. Lehet, hogy a rendszered egyébként stabilan működik, mégsem tudsz vele lefordítani programokat.

A leghelyesebb ha kijavítod vagy kicseréled azokat az alkatrészeket, amelyek a hibát okozzák, mivel ezek később is okozhatnak akár másmilyen problémákat is. Ha mégis van olyan hardvered amit mindenképpen szeretnél használni és egyéb más problémát nem okoz, akkor telepíts egy kiadás (release) vagy pillanatkép (snapshot) verziót.

További információkért nézd meg a Sig11 FAQ oldalt.

5.8.2 - "make build" megáll "cannot open output file snake: is a directory" üzenettel

Ez két különböző hiba eredménye lehet: Fontos, hogy figyelmesen kövesd az utasításokat, amikor megszerzed és frissíted a forráskódot és amikor építed a rendszert.

5.9 - Hogyan építsek egy OpenBSD kiadást?

Miután felépítetted a rendszered, elkészíthetsz egy OpenBSD fájlkészletet amit ezután arra használhatsz, hogy más gépekre is feltelepítsd ugyanazt a rendszert.

Ennek részletei megtalálhatók a release(8) oldalon.

[FAQ Index] [4. Fejezet - Telepítési Útmutató] [6. Fejezet - Hálózat]


[back]www@openbsd.org
$ $OpenBSD: faq5.html,v 1.3 2005/01/20 18:33:26 jufi Exp $