Sterowniki w Linuksie

Instalowanie sprzętu w systemie operacyjnym Linux, a zwłaszcza w dystrybucjach bazujących na starszych wersjach kernela, przypomina nieraz zabawę w kotka i myszkę. Wszystko zależy od tego, czy posiadana przez nas wersja jądra zawiera wsparcie dla danego rodzaju karty graficznej, dźwiękowej, drukarki czy aparatu cyfrowego. Jeśli nie, pozostaje nam zarzucić sieć w poszukiwaniu odpowiednich sterowników, a następnie zabrać się do ich samodzielnej kompilacji.

Od razu i na pocieszenie trzeba powiedzieć, że najnowsze wersje jądra systemu Linux z serii 2.6.x zawierają już moduły obsługujące większość sprzętu, nie tylko najpopularniejszych producentów. Dystrybucje bazujące na tym kernelu zazwyczaj nie mają problemów z poprawnym rozpoznaniem komponentów komputera, a następnie uruchomieniem dla nich odpowiednich sterowników.

Zawarte w systemie narzędzia administracyjne udostępniają bardzo szczegółowe informacje o znalezionym sprzęcie

Zawarte w systemie narzędzia administracyjne udostępniają bardzo szczegółowe informacje o znalezionym sprzęcie

Rozwijany jest również projekt o nazwie Dynamic Kernel Module Support, który ułatwia zarządzanie sterownikami. DKMS sam kompiluje sterownik, umieszcza go w nowo zainstalowanym kernelu, a na dodatek bez względu na wersję jądra zainstalowaną w naszym systemie. Jak na razie, Dynamic Kernel Module Support może być używany m.in. w dystrybucjach Mandrakelinux, Fedora Core, Suse i Debian.

O tym, czy nasza wersja systemu zawiera wsparcie dla danego typu urządzenia, często możemy się przekonać już na etapie instalacji, podczas której kreator instalacji powinien automatycznie rozpoznać, a następnie skonfigurować urządzenie. Można również skorzystać z polecenia modinfo, które pokaże nam informacje o załadowanych przez kernel modułach lub skorzystać z jednego z graficznych narzędzi administratora, wyświetlających szczegółowe informacje o znalezionym sprzęcie. Warto również zajrzeć do katalogu dev/, w którym tworzone są foldery dla poszczególnych urządzeń oraz do katalogu /lib/modules/wersja_jadra/kernel/drivers/, w którym można znaleźć moduły ze sterownikami. Jednak w przypadku wystąpienia problemów, w momencie gdy system nie rozpozna poprawnie naszego sprzętu, musimy sami zadbać o dostarczenie mu odpowiednich sterowników.

Podstawowe polecenia/komendy

Kompilacja jądra:

make menuconfig - uruchomienie graficznego menu

make dep - tworzenie zależności

make clean - usunięcie poprzedniej kompilacji

make bzImage - tworzenie obrazu jądra

make modules - tworzenie modułów

make modules_install - instalacja modułów

Instalacja sterowników/bibliotek:

./configure - uruchomienie instalacji, konfiguracja programu

make - kompilacja programu

make install - instalacja programu

modinfo - pokazuje szczegółowe informacje o załadowanym module

lsmod - wypisuje listę załadowanych modułów

modprobe nazwa_modułu - ładuje odpowiedni sterownik

Przejmujemy sterowanie

Do instalacji potrzebujemy źródeł - najlepiej najnowszych - jądra naszego systemu oraz sterowników, pobranych ze strony producenta. Oczywiście, o ile ten zadbał o dostarczenie takowych dla systemu operacyjnego Linux. W niektórych przypadkach potrzebne będą również dodatkowe biblioteki, bądź narzędzia, ułatwiające późniejszą konfigurację sprzętu.

Wszystkie niezbędne informacje, w tym m.in. rodzaj obsługiwanego sprzętu, modele kart, wykaz plików, które należy zainstalować, powinniśmy znaleźć na stronie producenta. Na pewno zaś będą one w pliku Readme lub Install dostarczanym w spakowanym pliku sterownika. Na początek jednak musimy przekompilować jądro systemu Linux. Na szczęście sprowadza się to wyłącznie do uaktywnienia (zaznaczenia) odpowiednich modułów, np. obsługi danego chipsetu płyty głównej czy karty graficznej.

Informacje na ten temat znaleźć można zazwyczaj w plikach Install (moduły, które należy wkompilować w jądro zależą od typu sprzętu i rodzaju sterownika). Następnie możemy już rozpakować i zainstalować pobrane od producenta pliki sterowników. Ostatnim krokiem będzie edycja pliku /etc/modules.conf, w którym dodamy linie informujące system o zainstalowanym przez nas sprzęcie, a następnie ponowne uruchomienie sprzętu. To oczywiście jedynie podstawy. Instalacja sterowników przebiega odmiennie, w zależności od typu instalowanego sprzętu. Największe i najważniejsze różnice dotyczą oczywiście samego jądra (modułów, które należy wkompilować) oraz wpisów w plikach konfiguracyjnych (modules.conf). Na szczęście, producenci linuksowych sterowników starają się wraz z nimi dostarczać dokumentację, dzięki której każdy użytkownik powinien bez problemów samodzielnie zainstalować wybrany sprzęt.

Centrum Sterowania YaST2 umożliwia konfigurację sprzętu, m.in. drukarki, w wygodnym i prostym w obsłudze środowisku graficznym

Centrum Sterowania YaST2 umożliwia konfigurację sprzętu, m.in. drukarki, w wygodnym i prostym w obsłudze środowisku graficznym

Mądry przed szkodą

Pomimo, że instalacja sterowników urządzeń w systemie Linux nie jest specjalnie skomplikowana, warto zaoszczędzić sobie kłopotu, zawczasu stosując się do kilku prostych zasad. Przede wszystkim warto zapoznać się z listą kompatybilnego, obsługiwanego przez system Linux sprzętu. Kupując model znajdujący się na liście, uznanego producenta, możemy mieć pewność, że sterownik do niego zawarty jest już w jądrze systemu. Sprawdzajmy także, czy sam producent zadbał o dostarczenie wraz z urządzeniem sterowników przeznaczonych dla systemu Linux. Zdecydowanie nie opłaca się kupowanie sprzetu typu no name.

Warto również zaopatrzyć się w najnowszą wersję kernela, zawierającą wsparcie dla większej ilości urządzeń, a nawet konkretnych modeli. I na koniec już, edytując pliki konfiguracyjne, np. modules.conf, dobrze jest dodawać własne komentarze, ułatwiające późniejsze rozeznanie się we wpisach lub wprowadzanie zmian. Dla przykładu, może to wyglądać w ten sposób:

#ponizej wpis dla karty dzwiekowej

alias char-major-116 snd

alias snd-card-0 snd-via8233

#koniec wpisu

Przydatne odnośniki

http://rpmfind.net - wyszukiwarka pakietów RPM

http://www.xfree86.org - strona domowa systemu Xfree86 z obszerną dokumentacją

http://hardware.linuxnews.pl - baza sprzętu i artykuły związane z tematem w języku polskim

http://www.linuxhardware.org - serwis poświęcony urządzeniom i problemom związanym ze sprzętem w systemie Linux

http://www.alsa-project.org - sterowniki dźwięku ALSA

http://www.nvidia.com/object/linux.html - sterowniki kart graficznych NVIDIA

http://www.ati.com/support/drivers/linux/radeon-linux.html - sterowniki ATI

http://bytesex.org/bttv - sterownik bttv dla kart TV

http://www.linux.org/vendor/hardware/ - lista sprzętu obsługiwanego w systemie Linux


Zobacz również