Opis jądra Linux-a, jego instalacji itp.: Moduły.
Następna
strona Poprzednia strona
Spis treści
9. Moduły.
Ładowalne moduły jądra mogą zaoszczędzić trochę pamięci i ułatwić
konfigurację. Obszar działania modułów urósł już do tego, że zawierają one
systemy plików, sterowniki do kart Ethernet, do taśm, do drukarek i wiele
innych.
9.1 Instalacja narzędzi modułowych.
Narzędzia te sa dostępne stamtąd, skąd masz źródła jądra. Nazywają się
modutils-x.y.z.tar.gz; wybierz najwyższą wersję równą, albo
mniejszą od wersji twojego jądra. Rozpakuj poleceniem tar zxvf
modutils-x.y.z. Wejdź do stworzonego katalogu i poczytaj plik README.
Wypełnij dokładnie instrukcje na temat instalacji (jest ona z reguły bardzo
prosta: make install lub coś podobnego). Powinieneś mieć teraz
programy: insmod, rmmod, ksyms, lsmod, genksyms, modprobe i depmod
w katalogu /sbin. Jeśli chcesz przetestować narzędzia z przykładowym
sterownikiem "hw" w insmod; przejrzyj plik INSTALL w
tym katalogu.
insmod ładuje moduł do uruchomionego jądra. Moduły mają z reguły
roszerzenie .o; przykładowy moduł wspomniany wyżej nazywa się
drv_hello.o, a więc aby go załadować, napisz: insmod
drv_hello.o. Aby zobaczyć jakie moduły są aktualnie używane przez jądro
użyj lsmod. Powinien wyświetlić coś takiego
blah# lsmod
Module: #pages: Usedby:
drv_hello 1
drv_hello jest nazwą modułu, używa jednej strony (4kB) pamięci i żadne inne
moduły nie zależą od niego w tej chwili. Aby usunąć ten moduł z jądra użyj
rmmod drv_hello. Zauważ, że rmmod chce nazwy modułu a
nie pliku. Weź ją z polecenia lsmod. Inne narzędzia modułowe są
opisane w podręczniku man.
9.2 Moduły dystrybuowane z jądrem.
Jeśli chodzi o wersję 2.0.30 większość sterowników dostępna jest w postaci
modułów. Aby ich użyć, najpierw upewnij się czy nie skonfigurowałeś ich jako
stałe części jądra. To znaczy: nie odpowiadaj "y" na pytania ich dotyczące
podczas konfiguracji, ale "m" jeśli jest taka możliwość. Po skompilowaniu jądra
napisz make modules i make modules_install. Pierwsze
polecenie skompiluje wszystkie sterowniki wyspecyfikowane jako moduły, a drugie
zainstaluje je w katalogu /lib/modules/x.y.z, gdzie x.y.z jest
wersją jądra. Po zainstalowaniu tych modułów wejdź do katalogu
/lib/modules/x.y.z i napisz modprobe -a, jeśli masz
ten program.
$lsqb;Od tłumacza] Jeśli kompilujesz jądro o wersji takie samej jak to które
używasz obecnie, to na wszleki wypadek przed poleceniem make
modules_install, zrób w katalogu /lib/modules/ kopię katalogu o nazwie
takiej samej jak wersja obecnego jądra.
Moduły są szczególnie przydatne do systemów plików albo sterowników urządzeń,
których rzadko używasz. Np. jeśli chcesz użyć dyskietki msdos, to najpierw
piszesz insmod /lib/modules/x.y.z/fs/msdos.o i używasz tej
dyskietki. Po skończeniu piszesz rmmod msdos. Operacja ta
zaoszczędza jakieś 50 kB RAM-u - niby nic ale jak się uzbiera kilka takich
sterowników to docenisz tę zaletę. Co do systemu plików minix to powinien
on być zawsze wkompilowany w jądro na stałe, w razie użycia dyskietki
startowej. Na dyskietkach jest właśnie minix.
------------------------------------------------------------------Od
tłumacza: Znowu facet skomplikował sprawę. Jest narzędzie, które zajmuje się za
ciebie ładowaniem i usuwaniem odpowiednich modułów do i z pamięci. Nazywa się
kerneld czyli kernel daemon. Jeśli użyjesz czegoś co wymaga
sterownika w module, kerneld załaduje za ciebie ten moduł, a potem go wyrzuci
jak już przestaniesz tego używać. Aby go użyć musisz odpowiedzieć na pytanie
konfiguracyjne dotyczące kerneld "Kernel daemon support" "y".
Przedtem jeszcze odpowiedz "y" na pytanie "Modules support" czy jakoś tak, żeby
móc w ogóle używać modułów. Po kompilacji jądra wszystko idzie tak samo jak
opisane powyżej. Jeszcze jedno: jeśli masz dystrybucję RH to sprawdź czy w pliku
/etc/rc.d/rc.sysinit jest uruchamiany /sbin/kerneld. Jeśli nie, to
sprawdź czy uruchamia się tam program depmod. jeśli też nie to
dopisz te linijki:
/sbin/depmod -a
if [ -x /sbin/kerneld ]; then
/sbin/kerneld
fi
za linijką która wygląda mniej więcej tak:
mount -n -o remount,rw /
Jeśli masz Slackware sprawdź czy w pliku /etc/rc.d/rc.M jest
uruchamiany /sbin/kerneld. Jeśli nie, to sprawdź czy uruchamia się tam program
depmod. Jeśli też nie, to dopisz te linijki
/sbin/depmod -a
if [ -x /sbin/kerneld ]; then
/sbin/kerneld
fi
za linijką która wygląda mniej więcej tak:
mount -n -o remount,rw /
Jeśli masz dystrybucję Debian to: 1) sprawdź czy jest plik
/etc/init.d/kerneld, jeśli tak to 2) sprawdź czy w
/etc/rcX.d/ jest dowiązanie do tego pliku (będzie to plik
SYYkerneld), jeśli jest, to wszystko jest w porządku. X - numer runlevel-u który
standardowo uruchamiasz. (sprawdź w pliku /etc/inittab linijkę
initdefault)Jeśli któryś z tych warunków jest niespełniony to:
ad 1) załóż plik /etc/init.d/kerneld o treści:
#!/bin/bash
# source function library
. /etc/rc.d/init.d/functions
case "$1" in
start)
echo -n "Starting kerneld "
if [ -f "/sbin/kerneld" ]; then
/sbin/kerneld
/sbin/depmod -a
fi
touch /var/lock/subsys/kerneld
;;
stop)
echo -n "Shutting down kerneld: "
killproc kerneld
rm -f /var/lock/subsys/kernled
echo
;;
*)
echo "Usage: kerneld {start|stop}"
exit 1
esac
exit 0
ad 2) napisz
cd /etc/rcX.d/
ln -s /etc/init.d/kerneld SYYkerneld
YY musi być numerem przed ładowaniem modułów; najlpiej jak najwcześniej.
------------------------------------------------------------------
Następna strona
Poprzednia
strona Spis
treści
Wyszukiwarka
Podobne podstrony:
Opis jadra Linux a, jego instalacji itp Jak własciwie skonfOpis jadra Linux a, jego instalacji itp Latanie jadra (patcOpis jadra Linux a, jego instalacji itp Niektore pulapkiOpis jadra Linux a, jego instalacji itp Sztuczki i wskazowkOpis jadra Linux a, jego instalacji itp Sztuczki i wskazowkOpis jadra Linux a, jego instalacji itp Pakiety dodatkoweOpis jadra Linux a, jego instalacji itp Kompilacja jadrausing linux to install windows xp with network bootingopis gaznika motocykla i jego regulacjaKerberos opis systemu i instalacja w OS LinuxOpis instalacjiOPIS INSTALACJIGAP 7 5 opis instalacjiprzyklady instalacji kilku systemow linux 5ElsaWin 2011 v3 90 Opis instalacjiwięcej podobnych podstron