Moduly a jadro

Martin Machacek mm at i.cz
Fri Feb 4 09:50:28 CET 2000


On 04-Feb-00 Cejka Rudolf wrote:
> Prakticky nema smysl slozite urcovat, ktery modul chci zkompilovat nebo
> nechci - to by byla jen zbytecna ztrata casu a zdroj komplikaci (treba
> v pripade, ze by nekdo pouzival vic ruznych jader najednou, ale to ted
> nema cenu rozepisovat). Proto je ve FreeBSD zvykem kompilovat a instalovat
> vzdy vsechny moduly. Staci tedy udelat:
>       cd /usr/src/sys/modules ; make ; make install ; make clean

Coz ma cenu delat pouze v pripade, ze jsem "nejak" modifikoval zdrojaky jadra
(vlastni zasahy, cvsup ...). Ve vetsine pripadu toto neni nikdy potreba.
Vsechny existujici moduly, ktere jsou soucasti distribuce, jsou ve zkompilovane
podobe v adresari /modules.
 
>> modulu? Nebo to vsechno zajistuje jadro samo? Jak dlouho je modul zaveden do
>> pameti kdyz se mi tam zavede automaticky?
> 
> Doporucuji prostudovat /boot/defaults/loader.conf a radky s XXX_load.
> Vlastni modifikace se pak delaji do /boot/loader.conf (stejne jako
> u /etc/rc.conf).

Domnivam se, ze primarnim uzivatelskym rozhranim pro dynamicke zavadeni modulu
je kldload (viz man 8 kldload). Prikaz kldload <jmeno souboru s modulem> zavede
modul do jadra (napr. kldload /modules/green_saver.ko zavede modul pro jeden z
konzolovych screensaveru). Prikaz kldstat (man 8 kldstat) vypisuje seznam
dynmaicky zavedenych modulu. Moduly se deaktivuji prikazem kldunload (viz man 8
kldunload). Pokud neni modul explicitne deaktivovan, tak zustava v pameti az do
rebootu. Takze s vyjimkou pripadu, kdy je modul potreba pro nabootovani systemu
(napr. modul pro filesystem), je postacujici pridat prikaz pro jeho zavedeni
do vhodneho startup scriptu, napr. /etc/rc.local. Dulezite je, aby byl modul
zavedeny drive, nez bude nektera z jeho funkci potreba. Nektere programy, ktere
vyzaduji specialni moduly, si je v pripade, ze modul neni jiz zavedeny,
zavedou do pameti automaticky. V pripade, ze je modul potreba pro bootovani,
tak je obecne lepsi ho staticky zakompilovat do jadra.

> [Kdyby nekdo jazyk loaderu ovladal nebo vedel, z ceho je mozne se ho
> naucit, tak uvitam kazdou radu.]

Zkousel si se podivat na man loader. Ne, ze by tam bylo vsechno, ale neco se
tam docist da.

> Volby neni treba znat nazpamet. Nejlepsi je asi vzit GENERIC, ten
> zkopirovat do sveho souboru - napriklad do USER a v tomto souboru
> zacit provadet editace. Ve vi si pak do druheho okenka zobrazim LINT
> (:E LINT a mezi okenky lze prechazet pomoci ^W - kdyby nahodou...).
> A jelikoz v LINTu jsou vsechny mozne volby i s komentari, proste
> si procitam LINT a sem tam nejaky radek v USER zakomentuji, sem tam
> nejaky z LINTu prekopiruji. Neni to tak slozite.

Hlavne, pokud nevim presne co chci dosahnout (a system mi na danem hardwaru
funguje), je lepsi se v jadre nehrabat. Pokud vim co chci dosahnout, tak
obycejne vim i kam se podivat :-).



        Martin 

---
[PGP KeyID F3F409C4]



More information about the Users-l mailing list