Jak proběhne načtení ovladačů v Linuxu?

anonym

Jak proběhne načtení ovladačů v Linuxu?
« kdy: 19. 01. 2017, 12:38:09 »
Zasunu do USB v počítači nějaké zařízení, třeba klávesnici nebo wifi dongle. Pokud mám štěstí a funguje to, co způsobilo automatické rozpoznání a přidělení správného ovladače? Přímo kernel to rozpozná a připojí to do /dev, nebo je to nějaká aplikace mimo kernel, která nějak sleduje dmsg nebo co a podle toho načte odpovídající modul do jádra?

Pokud to dělá jádro, potom se mi jako uživateli vyplácí udržovat jádro v distribuci aktuální, aby vše fungovalo co nejvíc automaticky?

Jsou verze jádra kompatibilní? apokud nějaká aplikace potřebuje jádro 2.4, bude fungovat i na jádře 4.0?

Jaký je rozdíl, pokud k zařízení musím načíst modul automaticky a pokud je obsažen přímo b jádře, jen v komfortu?

Můžu jádro pouze aktualizovat na bázi balíku všech možných aktuálních modulů, abych pak nemusel něco zavádět ručně?

« Poslední změna: 19. 01. 2017, 12:47:06 od Petr Krčmář »


Re:Jak proběhne načtení ovladačů v Linuxu?
« Odpověď #1 kdy: 19. 01. 2017, 12:48:33 »
Doporučuji začít čtením článku Jak události mění Linux. Je staršího data, ale princip zůstává stejný.

j

Re:Jak proběhne načtení ovladačů v Linuxu?
« Odpověď #2 kdy: 19. 01. 2017, 18:59:37 »
Zlehka ... jadro ma moduly (ovladac), ten muze byt bud integralni soucasti jadra, nebo se muze nacitat az podle potreby (to se da prevazne zmenit pri kompilaci). Zdaleka ne vsechny moduly se kompilujou (nema to smysl, kdyz ten HW nemas), ale bezny distra obsahujou ty bezne pouzivany.

O pripojeni HW se nestara primo kernel, ale obsluhujici servisy kolem (udev a dalsi), narozdil od widli ale nepotrebujes znova instalovat driver kdyz z USBcka neco vytahnes a strcis to do jinyho portu. Jednoduse proto, ze uz ho mas v pameti, a vyvojari tuxe nejsou takovy tupci jako ti u M$.

Pokud ti vse funguje, tak je jedno jaky mas jadro, je velice nepravdepodobny, ze bys narazil na nejakej problem kvuli jadru mladsimu nez 5 let.

Ano i ne, aplikacne ano, ale binarne ne. Tzn, na jadre v obrovskym rozpalu verzi ti zcela jiste budou fungovat aplikace, ale pokud mas hw ke kterymu mas binarni modul od vyrobce, tak ten bude fungovat jen na konkretni verzi jadra (a nekdy jen na zcela konkretni revizi).

Rozdil v tom neni funkcne vubec zadnej, usetris neco ram kdyz ten modu nepouzivas, usetris neco milisekund pri startu mensiho jadra, zaplatis za to par ms pri nacitani modulu. Externi modul muzes pri splneni nejakych podminek vymenit za novejsi bez rekompilace nebo vymeny jadra a to pochopitelne i za behu. (ono se da vymenit za behu i jadro, jen to neni zrovna oneclick akce).

Muzes, ale zaplatis zdraze. Stejne se v mnoha pripadech nevyhnes rucni konfiguraci.