V tomto dílu se budeme zabývat rozcházením většiny hardware v počítači.
10.10.2005 06:00 | Petr Houštěk | přečteno 14953×
O správnou funkčnost hardware je v linuxovém systému odpovědný kernel. Budeme se tedy hlavně zabývat konfigurací kernelu.
Jako všude jinde i pro linux platí fakt, že pro správnou funkci nejnovějších součástek potřebujete relativně aktuální jádro. To ale neznamená, že vezmete nejnovější vývojovou verzi a bez dostatečné orientace v jeho vlastnostech ho nainstalujete -- to by mohlo vést k mnoha problémům.
V mnoha případech se vyplatí používat jádro připravené od vašeho distributora. Ten je v mnoha případech stabilnjší díky úpravám od distributorů a může obsahovat i podporu pro zařizení, která se objevuje až v novějších verzích vanilly. Pro tento článek předpokládejme kernel řady 2.6. V tomto díle se nebudeme zabývat kompletním postupem při kompilaci jádra. Tento článek se bude hlavně zabývat správnými volbami, které jsou třeba pro srávný chod hardware ve vašem počítači. Pro samotnou kompilaci jádra a pro vysvětlivky ostatních voleb se obraťte na příslušné HOWTO.
Většina voleb, které nás budou zajímat se nacházejí v menu Device
Drivers
. Budeme tedy nejdříve probírat zařízení, jejichž ovladače
najdeme zde.
Pro podporu SCSI řadiče je třeba zapnout SCSI device support
ve
stejnojmenném podmenu. Zde můžeme vybírat z podpory pro disky, páskové
mechaniky, cdrom (převážně se používá pro emulaci při vypalování staršími
verzemi programu cdrecord
), ... Dále je třeba zapnout podporu pro
příslušný řadič v menu SCSI low-level drivers
.
Pro ATA řadiče postupujeme obdobně - tentokrát v menu ATA/ATAPI/MFM/RLL
support
. Zde opět zapneme podporu pro disky, cdrom, případně emulaci
SCSI (opět pro vypalování pomocí starších verzí cdrecord
). Pro
samotný řadič je třeba zapnout PCI IDE chipset support
,
Generic PCI IDE Chipset Support
a Generic PCI bus-master
DMA SUPPORT
. Pro použití DMA je volba Use PCI DMA by default wgen
available
. Nyní už zbývá samotný ATA řadič.
Pokud nekompilujete kernel s initrd je třeba zahrnout podporu pro diskové řadiče přímo do jádra a ne jako modul. Kernel by totiž bez těchto součástí nebyl schopen přistupovat k filesystému a potřebné moduly nahrát.
Pro podporu zařízení jako je disketová mechanika je třeba zapnout volbu
Normal floppy disk suppert
. V tomto menu je také dobré zapnout
Loopback device support
pro loopback zařízení (pro připojení
iso obrazů, při použití volby Cryptoloop Support
i pro šifrování
diskových oddílů). Další zajímavou volbou je RAM disk support
.
Pro zmenšení rizika ztráty dat při zkolabování disku se používá technologie
RAID
. Ta spočívá ve vytvoření virtuálního disku (např.
/dev/md0). Při zápisu na tento virtuální disk pak kernel zapisuje stejná data
na více disků a data pak zůstanou zachována při výpadku jednoho z disků. RAID
se dá implementovat dvěma způsoby - hardwarový RAID a softwarový RAID. U
hardwarového RAIDu se nemusíme starat o žádné nastavení v kernelu - RAIDové
pole se připojí a chová se jako jeden disk
Pro podporu softwarového RAIDu je třeba v menu Multi-device
support
zapnout volbu RAID support
(opět je třeba tuto
možnost zakompilovat přímo do kernelu, obdobně jako u ovladačů řadičů disků).
Nyní máme možnost výběru z RAID-1 (RAID-0 není možno použít pro zvýšení
odolnosti vůči havarování disku) a RAID-4/RAID-5. RAID-4/5 je vhodný pro větší
množství disků - při použití A disků o kapacitě B dokáže vytvořit virtuální
disk o kapacitě B * (A - 1) při zachování dat při ztrátě jedno z disků. RAID-1
při použití A disků o kapacitě B vytváří pole o kapacitě B, které je odolné
vůči výpadku A - 1 disků (vytvoří A identických kopií jednoho disku).
Podpora sítě je zahrnuta v menu s příznačným názvem Networking
support
. V tomto menu se nachází podpora jak pro samotné síťové
adaptéry, tak pro softwarovou stránku síťových systémů. Pro hardwarovou
podporu je třeba nejdříve zapnout volbu Network device support
.
Ovladače pro ethernetové síťové adaptéry jsou pak v menu Ethernet (10 or
100Mbit)
, 1000 Mbit
a 10000 Mbit
. Pro
bezdrátové adaptéry (wifi) je zde menu Wireless LAN
.
Uživatelé PPP (propojení počítačů pomocí modemu) potřebují zapnout volbu
PPP support
. Dále je potřeba volba PPP support for async
serial ports
pro použití PPP přes sériové porty jako COM1 nebo COM2.
Softwarové zázemí sítí ponecháme na jiné články.
O správnou funkci myši, touchpadu, ... se starají drivery v menu Input
device support
. První volbou, kterou potřebujeme zapnout je
Provide legacy /dev/psaux device
. Tato volba umožní přístup k
myši (touchpadu, ...) přes character device /dev/psaux
. Dále je
pro touchpady třeba mít povolenou volbu Event interface
. Dále je
zde přímo položka pro podporu myší (Mice
) s možností výběru PS/2,
sériových, ... myší.
Podpora USB se konfiguruje v menu s odpovídajícím názvem - USB
support
. Pro aktivaci usb subsystému je třeba zvolit základní volbu
Support for Host-side USB
. Další doporučenou volbou je USB
device filesystem
- to umožní listing připojených zařízení v
/proc/bus/usb/devices
a přímé propojení pomocí souboru
/proc/bus/usb/xxx/yyy
(za xxx a yyy dosaďte bus number a device
number). K dosažení těchto výsledků je třeba připojit usb filesystém pomocí
# mount -t usbfs none /proc/bus/usb
Dále je třeba vybrat správný driver - existují dva standardy pro USB 1.1 a
jeden pro USB 2.0. Pro USB 2.0 vybereme driver EHCI. UHCI standard používá
většina chipsetů od IBM a VIA a OHCI zbytek chipsetů. Oba standardy UHCI a
OHCI podporují pouze USB 1.1. Po zvolení odpovídajícího driveru máme nyní na
výběr moduly pro podporu speciálních zařízení. Mezi ně patří např. tiskárny
(USB Printer support
), USB mass storage - USB disky, USB
klíčenky, tento modul je nutný i pro stahování fotek z digitálního
fotoaparátu.
V současné době se ale USB nejčastěji využívá na připojení myši. Ke správné
funkčnosti je třeba zapnout USB Human Interface Device support
s
podvolbami HID input layer support
a /dev/hiddev raw HID
device support
. Toto umožní přenášet data z myši (klávesnice,
joisticku) do /dev/input/mouse, ...
V jádrech řady 2.4 se používal pro podporu zvukových karet Open Sound System
(OSS). V řadě 2.6 (přestože je stále k dispozici) je ale označen za zastaralý
a je doporučeno použití Advanced Linux Sound Architecture (ALSA). Pro zpětnou
kompatibilitu dokáže ALSA emulovat interface OSS. V menu Sound
tedy zvolíme ALSA
, pak je vhodné zvolit moduly pro kompatibilitu
s OSS a nakonec v PCI (přípdně USB) devices zvolíme odpovídající zvukovou
kartu. Pokud máte zvukovou kartu připojenou přes USB, není nutné mít zvolenou
podporu i v USB menu. Ta je nutná pouze při použití OSS ovladačů, ALSA má své
vlastní. K plnému zrovoznění zvuku je pak nutné nainstalovat user-space ALSA
utility.
V tomto menu lze zvolit podporu pro mnoho zařízení a portů. Např. sériové
porty, paralelní porty, ... Podporu pro sériové porty zvolíme v odpovídajícím
menu, obdobně s paralelním portem. Další zajímavou volbou je Enhanced
Real Time Clock Support
. Tento modul umožní použití hardwarového
časovače.
Další volby v tomto menu se dotýkají podpory grafickýh karet. Nejprve je třeba
mít správně nastavený ovladač pro AGP (toto není třeba pro grafické karty
připojené přes PCI). Po vybrání možnosti /dev/agpgart
pak zvolíte
správný ovladač pro váš AGP port.
Nyní je AGP v provozu. Pro většinu moderních grafických karet je ale také
nutné mít v kernelu umožnenou podporu pro DRI
(Direct Rendering
Manager). Tento modul pak umožní XFree86 přímé zapisování do paměti grafické
karty. Pro karty NVidia neexistuje open source driver pro DRI
, je
nutné využít driver od výrobce.
Některý hardware se dá zprovoznit jak ovladačem z jádra, tak ovladačem od výrobce, někdy je ale ovladač od výrobce nutností. Jako příklad první možnosti můžeme uvést např. gigabitové síťové karty s čipem Broadcom Tigon3. Ovladače od výrobce existují v různých variantách. Můžete dostat zdrojový kód, který musíte jenom zkompilovat proti odpovídajícím hlavičkovým souborům jádra nebo binární modul určený pro určitou verzi jádra. Těmto driverům je obvykle dobré se vyhnout, protože není zaručena jejich spolehlivita a jsou často příčinou kolapsu systému.
V příštím dílu se zaměříme na testy hardware a jeho monitorování.