FreeBSD laptopon

Verzió: 43184

A FreeBSD a FreeBSD Foundation bejegyzett védjegye.

A Linux Linus Torvalds bejegyzett védjegye.

A Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media és Windows NT a Microsoft Corporation bejegyzett veacute;djegyei, vagy védjegyei az Egyesült Államokban és/vagy más országokban.

A gyártók és terjesztők által használt megnevezések közül sok védjegy jogot követel. Ahol ilyen megnevezés tűnik fel ebben a dokumentumban, és a FreeBSD Projektnek tudomása volt a védjegyről, a megnevezést a vagy a ® szimbólum követi.

2013-11-13 írta hrs.
Kivonat

A FreeBSD néhány buktatótól eltekintve remekül működik a legtöbb laptopon. A következőkben nagyító alá vesszük azokat a problémákat, amelyek a FreeBSD laptopon történő futtatását akadályozhatják, az asztali számítógépektől eltérő hardverkövetelményekre vonatkozóan.

Fordította: Páli Gábor, utolsó ellenőrzés: 2010.11.28.

[ Fejezetekre darabolt dokumentum / Teljes dokumentum ]

Tartalom
1. Xorg
2. Modem
3. PCMCIA (PC-kártyás) eszköz
4. Energiagazdálkodás

A FreeBSD-t gyakran az Internetes kiszolgálók operációs rendszerének vélik, ám éppen ugyanolyan jól alkalmazható egy asztali számítógépre is, és ha egy laptopon kívánjuk használni, továbbra is élvezhetjük a korábban megszokott előnyeit: rendszerezett felépítés, könnyű karbantarthatóság és frissíthetőség, a programok telepítéséhez kidolgozott port- és csomagkezelő rendszer, és így tovább. (Az egyéb előnyei, mint mondjuk a megbízhatóság, kiemelkedő hálózati teljesítmény, nagy terhelés alatti teljesítmény, természetesen nem feltétlenül szembetűnőek egy laptopon.) Azonban a laptopokra történő telepítése gyakran felvet olyan gondokat, amelyek az asztali számítógépek esetén nem jelennek meg, és ezért általában nem is kerülnek szóba (a laptopok ugyanis az asztali számítógépekénél jóval nagyobb mértékben Microsoft® Windows®-ra vannak tervezve). Ebben a leírásban szeretnénk megtárgyalni ezeket a problémákat. Néhányan ugyan már előzetesen feljegyezték a FreeBSD-vel kapcsolatos tapasztalataikat bizonyos modellek esetén olyan oldalakon, amelyek nem részei a FreeBSD hivatalos dokumentációjának. Emiatt könnyen előfordulhat, hogy úgy is találhatunk hasznos információkat a témában, ha egyszerűen rákeresünk valamelyik népszerű keresőben a laptopunk modelljére és a FreeBSD szóra. Ezen kívül létezik még egy külön FreeBSD-hez kialakított Internetes adatbázis, ahol a különféle laptopok hardveres problémáihoz találhatunk segítséget: ez A FreeBSD laptop kompabilitási lista.

Amennyiben szeretnénk felvenni a kapcsolatot más FreeBSD laptop felhasználókkal, érdeklődjünk a freebsd-mobile listán. Valamint megéri még ellátogatni erre a FreeBSD-s laptopokkal foglalkozó oldalra is.

1. Xorg

Az Xorg legújabb változatai képesek együttműködni a napjainkban kapható laptopok videóvezérlőivel. Habár a hardveres gyorsítás nem feltétlenül támogatott, az általános SVGA módnak használhatónak kell lennie.

Keressük meg a laptopunk kézikönyvében, hogy milyen videóvezérlő található benne, majd vessük össze ezt az Xorg dokumentációjával, amiből kiderül, mennyire támogatja. Ha kiemelten nem támogatná, használjuk az általános eszközt (generic device, de ne hagyjuk megtéveszteni magunkat semmi hasonlóval). Mellesleg szerencsét próbálhatunk az Xorg -configure paranccsal is, amely magától képes felderíteni konfigurációnk nagy részét.

A legtöbb gondot egyébként a monitor beállítása okozza. Az Xorg-ra vonatkozó források többnyire kizárólag csak katódsugárcsöves megjelenítőkre összepontosítanak, így egy folyadékkristályos megjelenítő esetén némileg trükkös lehet eltalálni a megfelelő modeline beállításokat. Elképzelhető egyébként, hogy szerencsénk van, és egyáltalán nem is kell megadni modeline-t, vagy egyszerűen csak a megfelelő HorizSync és VertRefresh értéktartományokat kell behangolni. Ha azonban ezek sem működnének, a legjobb, amit ilyenkor tehetünk, hogy további forrásokat nézünk át az Interneten a helyes beállítások után keresve (ezek gyakorta Linux®-os oldalak, de ez a mi esetünkben most nem számít, hiszen ugyanazt az Xorg-ot használja mind a két rendszer) és bemásoljuk a konfigurációs állományba a mienkhez hasonló hardverre talált modeline beállításokat.

A laptopok legtöbbjét a pozícionáló eszközeiken két gombbal szállítják, ami eléggé problémás tud lenni az X esetén (tekintettel arra, hogy a középső gombot bevett módon szövegek másolására használják), ennek feloldására be lehet állítani úgy az X-et, hogy a bal és jobb gomb egyszerre történő lenyomása helyettesítse a középső gombot. Ehhez adjuk meg a

Option "Emulate3Buttons"

sort az xorg.conf állományban, az InputDeviceszekcióban.

2. Modem

A laptopokba általában szerelnek belső (beépített, integrált) modemeket is. Sajnos, ez az esetek döntő részében valamilyen winmodem, ahol a tényleges funkciókat szoftveres úton valósítják meg és csak a Windows®-hoz fejlesztett meghajtók képesek ezeket elérhetővé tenni (ámbár néhány ilyen meghajtó már szárnyra kapott más operációs rendszerekhez is: például, ha Lucent LT chipsetes modemmel rendelkezünk, akkor előfordulhat, hogy támogatja a comms/ltmdm port). Ilyenkor kénytelenek vagyunk egy külső modemet vásárolni: erre az egyik legjobb megoldás egy PC-kártyás (PCMCIA) modem (ld. lentebb), de a soros vagy USB-s modemek esetlegesen olcsóbbnak bizonyulhatnak. Általánosságban elmondható, hogy a hagyományos modemek (a nem winmodemek) minden nehézség nélkül használhatóak.

3. PCMCIA (PC-kártyás) eszköz

A laptopokon általában találhatóak PCMCIA (vagy más néven PC-kártya) bővítőhelyek, ezek FreeBSD alatt eléggé jól támogatottak. Ellenőrizzük le a rendszerindulás során megjelenő üzenetek között (a dmesg(8) segítségével), hogy ezeket a rendszer megfelelően észlelte-e (pccard0, pccard1 stb. neveken kell megjelenniük a bővítőhelyeknek, valamint az így csatlakoztatott eszközöknek pcic0 stb. néven).

A FreeBSD 4.X a 16 bites PCMCIA-kártyákat támogatja, a FreeBSD 5.X pedig már ismeri a 16 és 32 bites (CardBus) kártyákat is. A jelenleg támogatott kártyák adatbázisa fellelhető a /etc/defaults/pccard.conf állományban. Vásárlás előtt az itt szereplő kártyákban érdemes gondolkodni. Az itt nem szereplő kártyák működhetnek általános (generic) eszközként: a legtöbb (16 bites) modem ragyogóan használható, feltéve, hogy nem winmodem (ezek gyakran PC-kártya formájában is megjelennek, legyünk óvatosak). Érdemes megemlíteni, hogy ha a kártyánkat általános modemként ismerte fel a rendszer, a pccard.conf állományban alapértelmezés szerinti található egy 10 másodperces késleltetés (hogy elkerüljük a fagyást egyes modemeken), ami sok esetben túlzott óvatosságra vall, így ha nem érezzük szükségét és van kedvünk állítgatni, csökkentsük ezt az időt vagy akár teljesen ki is kapcsolhatjuk.

Előfordulhat, hogy a pccard.conf egyes részei átírásra szorulnak. Nézzük meg, hogy rendszerünkben melyik megszakítások (IRQ) vannak már használatban és töröljük őket. Tehát ha mondjuk van egy hangkártyánk, amely az 5-ös IRQ-t használja, vegyük ki a felsorolásból a számát (máskülönben a rendszer lefagyásába futhatunk bele egy kártya behelyezése során). Ellenőrizzük továbbá a szabad memória bővítőhelyeket; ha a kártyánkat nem ismerte még fel a rendszer, próbáljuk meg átállítani egy másik megengedett értékre (ezek megtalálhatóak a pccardc(8) kézikönyvében).

Ha még nem futna, indítsuk el a pccardd(8) daemont. (Ha minden indításkor szeretnénk aktiválni, akkor tegyük bele az /etc/rc.conf állományba a

pccard_enable="YES"

sort.) Innentől kezdve minden behelyezett és kivett kártyát észlel a rendszerünk, amiről a naplóban értesítést is ad.

A FreeBSD 4.4 kiadása előtt komolyabb változások történtek a pccard forrásában (pl. a megszakítások ISA-n keresztüli közvetítése olyan számítógépek esetén, ahol a FreeBSD nem tudja használni a PCI BIOS-t). Ha ezzel kapcsolatosan felmerülne bármilyen probléma, érdemes frissíteni a rendszert.

4. Energiagazdálkodás

Sajnálatos módon ezek a funkciók egyáltalán nem mondhatóak jól támogatottnak FreeBSD alatt. Ha szerencsénk van, akkor egyes funkciók jól működnek, mások pedig egyáltalán nem.

Hogy még bonyolultabb legyen a helyzet, két szabvány is létezik az energiagazdálkodásra: az APM és az ACPI, ahol az utóbbi bővebb és kiterjedtebb szabvány, mint az előbbi, de több problémát is felvet.

Egyes laptopok az APM-et és az ACPI-t is támogatják (adott mértékig), mások pedig csak az egyik szabványt ismerik. Emiatt mind a kettővel kísérletezni kell egy elfogadható energiagazdálkodási séma kialakításához.

Megjegyzés:

Egyszerre nem lehet bekapcsolni az APM-et és az ACPI-t, még akkor sem, ha a laptop mind a kettőt támogatja.

4.1. APM

Az APM (Advanced Power Management) BIOS támogatást ad a különféle energiagazdálkodási jellemzőkhöz, mint mondjuk a készenléti állapot, hibernálás, a processzor órajelének csökkentése stb., amelyek el is érhetőek FreeBSD 4.X és FreeBSD 5.X alatt.

Az APM támogatás bekapcsolásához fordíthatunk energiagazdálkodásra felkészített rendszermagot (device apm0 FreeBSD 4.X esetén és device apm FreeBSD 5.X esetén) is, de a FreeBSD 5.X vonal rendszermagjához már létezik külön APM modul is, amelyet az indítás során tudunk betöltetni úgy, hogy /boot/loader.conf állományhoz hozzávesszük az apm_load="YES" sort.

Ezen felül FreeBSD 5.X esetén még be kell írni a hint.apm.0.disabled="0" sort is a /boot/device.hints állományba.

Az APM-et minden indítással együtt aktivizálhatjuk, ha megadjuk az apm_enable="YES" sort a /etc/rc.conf állományban. Ezen kívül még hasznos lehet elindítani a apmd(8) daemont is, méghozzá a apmd_enable="YES" sor hozzávételével. Ez a daemon felügyeli a BIOS-nak küldött különböző APM-eseményeket, így készenléti állapotba tudjuk helyezni a laptopunkat gombnyomásra, vagy akár összecsukással is.

A APM-parancsok a apm(8) kézikönyvében szerepelnek. Például, az apm -b paranccsal le lehet kérdezni az akkumulátor töltöttségét (vagy 255-öt ad vissza, ha nem támogatott ez funkció), a apm -Z energiatakarékos állapotba, ill. a apm -z (vagy a zzz) parancs készenléti állapotba helyezi a laptopot. A számítógép kikapcsolásához és áramtalanításához a shutdown -p parancsot kell használni. Még egyszer megemlítjük, hogy a tárgyalt funkciók közül nem mindegyik működik megfelelően vagy akár egyáltalán nem működik.

Esetenként tapasztalhatjuk, hogy a laptop energiatakarékos vagy készenléti állapotba helyezése ugyan működik konzolon, de X alatt viszont nem (vagyis nem kapjuk vissza a képet). Ha FreeBSD 5.X-et használunk, erre egy megoldás lehet, ha beletesszük a options SC_NO_SUSPEND_VTYSWITCH sort a rendszermagunk konfigurációs állományába és újrafordítjuk azt. Másik lehetőség, hogy átváltunk egy virtuális konzolra (a Ctrl+Alt+F1 lenyomásával, vagy ugyanígy egy másik funkcióbillentyűvel), majd elindítjuk az apm(8)-et. Ha apmd(8)-t használunk, automatizálhatjuk is ezt a rendszert a vidcontrol(1) segítségével. Ehhez nem kell mást tennünk, csupán átírni a /etc/apmd.conf állományt az alábbiak szerint:

apm_event SUSPENDREQ {
 exec "vidcontrol -s 1 < /dev/console";
 exec "/etc/rc.suspend";
}

apm_event USERSUSPENDREQ {
 exec "vidcontrol -s 1 < /dev/console";
 exec "sync && sync && sync";
 exec "sleep 1";
 exec "apm -z";
}

apm_event NORMRESUME, STANDBYRESUME {
 exec "/etc/rc.resume";
 exec "vidcontrol -s 9 < /dev/console";
}

4.2. ACPI

Az ACPI (Advanced Configuration and Power Management Interface) nem csak energiagazdálkodást tesz lehetővé, hanem hardver-felderítést is (ezzel szinte feleslegessé téve a PnP-t és a PCI BIOS-t). Az ACPI támogatása csak FreeBSD 5.X alatt érhető el, és alapértelmezés szerint aktív. Ilyenkor tehát nem kell semmit se csinálni, hogy működésre bírjuk. Az ACPI viselkedését az acpiconf(8)-al tudjuk vezérelni.

Sajnos azonban, a gyártók gyakorta hibás ACPI-implementációval szállítják a laptopokat, aminek következtében az ACPI bekapcsolása több gondot okoz, mint hasznot, egészen annyira, hogy akár a FreeBSD bizonyos gépeken képtelen elindulni aktív ACPI támogatással.

Ha az ACPI használata gondokat okoz, ajánlott érdeklődni a laptopunk gyártójánál, hogy vajon készült-e ACPI-vel kapcsolatos BIOS-frissítés az utóbbi időben. Mivel a FreeBSD ACPI implementációja is még gyerekcipőben jár, ezért érdemes még frissíteni a rendszerünket is, elképzelhető ugyanis, hogy a problémánkat azóta már megoldották.

Az ACPI kikapcsolásához egyszerűen ki kell bővíteni a /boot/device.hints állományt a hint.acpi.0.disabled="1" sorral. Ha gondunk lenne egy ACPI-t használó gép indításával, ideiglenesen ki tudjuk kapcsolni az ACPI-t az indítás során aktiválható paranccsoron keresztül is, az unset acpi_load parancs kiadásával. A FreeBSD 5.1-RELEASE kiadásától kezdve már egy rendszerindító menüben is kiválaszthatjuk, hogyan induljon a rendszer: itt az egyik menüpont az ACPI kikapcsolása. Ekkor tehát az ACPI kikapcsolásához válasszuk a 2. Boot FreeBSD with ACPI disabled (2. A FreeBSD indítása ACPI támogatás nélkül) pontot a menüben.

4.3. A monitor energiagazdálkodása

Az X ablakkezelő rendszer (Xorg) is tartalmaz energiagazdálkodást a megjelenítő eszközök számára (ajánlott ezzel kapcsolatosan megnézni a xset(1) man oldalt, rákeresve a dpms szóra). Valószínűleg ezt is hasznos lesz megismerni. Azonban vegyük figyelembe, hogy sokszor nem következetesen működik a laptopokon: előfordulhat, hogy kikapcsolja ugyan a megjelenítőt, de nem kapcsolja ki a háttérvilágítást.