Moduly linuxového jádra

Současné linuxové jádro je kompromisem mezi monolitickým a modulárním jádrem.

U monolitického jádra jsou veškeré ovladače zakompilovány do jednoho celku. Kdežto u modulárního jsou ovladače v modulech, které se natahují do jádra až v případě potřeby.

Nemodulární jádro editovat

Linuxové jádro je soubor uložený v adresáři /boot a má obvykle předponu "vmlinuz". V případě, že není přeložené s podporou modulů, jsou v něm všechny potřebné ovladače hardware, nezbytné pro příslušný stroj, zakompilovány natvrdo. Ve starších verzích Linuxu to byla jediná možnost, jak do jádra přidat novou funkci.

Výhody: Nedochází k časovému zpoždění při natahování modulu Neexistuje možnost infikování jádra nakaženým nebo poškozeným modulem Ideální pro embeded zařízení

Nevýhody: Pro každé nové zřízení (nový ovladač, nebo i novou funkci) je třeba jádro překompilovat. Tzn. systém vyžaduje restart pro přidání či odebrání dalšího zařízení. Jádro, které by obsahovalo všechny možné ovladače, by zabíralo příliš mnoho místa v paměti a, což je důležité vědět, paměťový prostor jádra není nikdy odswapován, sídlí v paměti neustále, přičemž drtivá většina ovladačů by se nidky nespustila.

Občas se o jádře bez podpory modulů hovoří jako o monolitickém, ale to není přesné. Termín monolitické jádro označuje skutečnost, že všechen jaderný kód sdílí stejný paměťový prostor. Linuxové jádro s podporou nahrávání modulů je stále monolitické.

Modulární jádro editovat

Může kromě vlastního jádra tvořit ještě tzv. ramdisk. Ramdisk je s soubor obvykle začínající předponou initrd, umístěný rovněž v adresáři /boot. Není to však nezbytně nutné, pokud má jádro zakompilované veškeré ovladače potřebné pro zavedení základního systému (tj., připojení disku a souborového systému s ostatními moduly jádra). Pokud jsou v jádře zakompilovány pouze nejnutnější ovladače, pak je vhodné použít ramdisk. Ten se při startu rozbalí do paměti, jádro provede autodetekci a z něj natáhne všechny potřebné moduly a pak připojí kořenový adresář a další disky.

Výhody: Pro nové zřízení není nutné jádro překompilovat, ale stačí pouze zavést příslušný modul. Systém nevyžaduje restart při přidání či odebrání zařízení. V případě problémů při startu lze provést záchrané operace, aniž by bylo nezbytně nutné použít záchrané medium (cd, floppy,..)

Nevýhody: Existuje možnost infikování jádra nakaženým nebo poškozeným modulem

Práce s moduly editovat

Velikost jádra a ramdisku je limitována množstvím zkompilovaných modulů. Tzv. generic jádra v distribucích jsou sestavována tak, aby měla alespoň základní funkčnost na většině počítačů. Nevýhodou je, že rekompilace takového jádra trvá dlouho a navíc je většina modulů stejně zbytečná. Také zavádění takového jádra trvá o něco déle, protože se při startu pokouší postupně zavést všechny dostupné moduly. Mohou se objevit i problémy. Třeba tehdy, je-li zaveden dříve modul který je v konfliktu s jiným modulem. Pak nezbývá než upravit pořadí zavedených modulů buď ručně, nebo pomocí konfiguračních souborů (V Debianu soubory v adresáři /etc/modprobe.d a soubor /code/modules)

Modulů je celá řada, navíc jsou postupem času nahrazovány jinými a tak pro začátečníka není snadné vybrat, které zakompilovat do jádra, které ponechat jako modul a které může s klidem vyhodit. Proto by měl posloužit následující přehled alespoň k hrubé orientaci.

Jak zjistím, které moduly jsou zavedené? editovat

Jaké moduly jsou právě zavedené, lze zjistit pomocí příkazu lsmod. Moduly lze zavést buď příkazem insmod, nebo příkazem modprobe. Naopak odebrat je můžete příkazem rmmod, ovšem pozor. Modul se vám nepodaří odebrat dřív, než odeberete všechny na něm závislé moduly. A to se vám také nemusí podařit, pokud se modul zrovna používá.

Jak zjistím, které moduly jsou k dispozici? editovat

Seznam modulů, které jsou k dispozici a lze je do právě běžícího jádra zavést, lze zjistit výpisem příkazu modprobe s parametrem -l

Jak zjistím, které moduly jsou zakompilované v jádře? editovat

Každé nainstalované jádro má obvykle v adresáři /boot také soubor začínající předponou config nebo může být dostupný v /proc/config.gz (pokud jádro bylo s touto vlastností zkompilováno).Je to vlastně konfigurační soubor použitý při kompilaci tohoto jádra a pomocí příkazu grep z něj můžete zjistit, co bylo zakompilováno do jádra (y), co jako modul (m) a co nebylo zakompilováno vůbec. Háček je však v tom, že konfigurační volby s názvem vlastního modulu moc nesouvisí. Ovšem když si při sestavování nového jádra pomocí menuconfig nebo jiného konfiguračního nástroje vypíšete nápovědu,tak zjistíte, o jakou konfigurační volbu se jedná, a tu pak ověřit oproti konfiguračním souboru starého jádra.

Odkazy editovat

Obsahově podobnou stránku zaměřenou na vlastní kompilaci jádra a popis jednotlivých konfiguračních voleb můžete nalézt na adrese http://www.linux-faqs.org/

Popis modulů editovat

Následující přehled pravděpodobně nikdy nebude úplný a univerzálně platný, protože vývoj hardware a jádra kráčí kupředu mílovými kroky. Proto pokud používá vaše jádro modul, který zde není uveden, a vy jste schopni jej identifikovat, tj. víte k čemu je a které konfigurační volby v jádře ovlivňují jeho kompilaci, tak jej prosím doplňte, děkuji. Pokud mohu prosit, zachovejte prosím pro snazší orientaci abecední pořadí modulů.

Pozor: Některé zavedené moduly mají v názvu podtržíto, ale když si je necháte vyhledat na disku, tak zjistíte že místo podtržítka má modul v názvu pomlčku. Mějte to prosím na paměti při jejich hledání.

ac editovat

Zařízení: napájecí zdroj

Ovladač pro monitorování stavu napájecího zdroje (součást ACPI).

ac97_bus editovat

Související moduly: ac97_codec

ac97_codec editovat

Související moduly: snd_via82xx, snd_ac97_bus

adm1021 editovat

af_packet editovat

agpgart editovat

ahci editovat

amd64_edac_mod editovat

anydata editovat

Zařízení: USB

Ovladač pro externí USB CDMA modem AnyDATA ADU-E100H od jádra 2.6.18-rc4 byl nahrazen modulem option

arc4 editovat

ata_generic editovat

ath editovat

Související moduly: ath5k

ath5k editovat

ath_pci editovat

Modul propreitálních ovladačů Madwifi. Modul pro práci a správné fungování wifi karet Atheros. Při zavádění je možné zadat parametr autocteate, který může nabývat následujících hodnot: [sta|ap|wds|adhoc|ahdemo|monitor]. Tímto parametrem se určí v jakém režimu má wifi karta pracovat. Defaultní volba je sta, kdy karta pracuje jako host. Zjímavou voblou je režim ap, kdy wifi karta vytvoří tzv. access point, ke kterému je možné se připojit jinými zařízeními v režimu host (sta).

atiixp editovat

Zařízení: disk

Ovladač diskového IDE řadiče ATI IXP.

b43 editovat

Zařízení: Wi-Fi

pokračovatel zastaralého modulu bcm43xx

Související moduly: mac80211, ssb

b44 editovat

Zařízení: Ethernet

ovladač drátových síťovek Broadcom (BCM4401)

battery editovat

Zařízení: baterie

Ovladač pro monitorování stavu baterií (notebooky)

bcm43xx editovat

Zařízení: Wi-Fi

Open source ovladač pro wi-fi karty založené na chipu Broadcom 43xx

Související moduly: bcm43xx, ieee80211softmac, ieee80211

bcm43xx_mac80211 editovat

Zařízení: Wi-Fi

Open source ovladač pro wi-fi karty založené na chipu Broadcom 43xx využívající stack mac80211

Související moduly: mac80211

Související moduly: ssb

binfmt_misc editovat

bluetooth editovat

Zařízení: bluetooth

Související moduly: bnep, btusb, l2cap, hidp, rfcomm, sco

bnep editovat

bridge editovat

bsd_comp editovat

Související moduly: ppp_generic

btaudio editovat

btcx_risc editovat

bttv editovat

Zařízení: Analogová televizní karta

Modul je určen pouze pro analogové televizní karty založené na čipsetech bt8x8. Tento čipset obsahuje velká část analogových televizních karet.

Některé parametry:
card=n typ karty
tuner=n typ tj. čip tuneru
radio=0/1 karta bez/s FM rádiem
pll=0/1/2 nastavení pll, 0=bez, 1=28 MHz, 2=35 MHz

Související moduly: btaudio

btusb editovat

button editovat

cdrom editovat

Související moduly: ssb, ide_cd_mod

cdc_acm editovat

Zařízení: USB

Ovladač pro externí USB CDMA modem Gtran GPC-6420 s chipsetem Qualcomm.

cdc_ether editovat

Zařízení: USB

Open source ovladač pro propojení telefonů na LAN přes USB. Není součástí jádra

Související moduly: rndis_host, usbnet

cfg80211 editovat

Zařízení: Wi-Fi

Související moduly: ath, ath5k, mac80211

compat_ioctl32 editovat

cpufreq_conservative editovat

Zařízení: CPU

Ovladač pro nastavení politiky procesoru.

Související moduly: powernow_k8, freq_table, cpufreq_stats

cpufreq_ondemand editovat

Zařízení: CPU

Ovladač pro nastavení politiky procesoru. V tomto případě se nastavuje frekvence procesoru "na požádání", tj. procesor jede s minimální frekvencí a teprve při zvýšení jeho zatížení procesoru, se automaticky zvýší i jeho frekvence.

Související moduly: powernow_k8, freq_table, cpufreq_stats

cpufreq_performance editovat

Zařízení: CPU

Ovladač pro nastavení politiky procesoru. V tomto případě se nastaví frekvence procesoru na maximální výkon.

Související moduly: powernow_k8, freq_table, cpufreq_stats

cpufreq_powersave editovat

Zařízení: CPU

Ovladač pro nastavení politiky procesoru. V tomto případě se nastavuje frekvence procesoru na minimum, tj. procesor jede s minimální frekvencí.

Související moduly: powernow_k8, freq_table, cpufreq_stats

cpufreq_stats editovat

Zařízení: CPU

Modul pro sledování politiky procesoru.

Související moduly: powernow_k8, freq_table

crc_ccitt editovat

crc_t10dif editovat

Související moduly: sd_mod

dm_crypt editovat

dm_mirror editovat

Související moduly: dm_mod

dm_mod editovat

Související moduly: dm_snapshot, dm_mirror

dm_snapshot editovat

Související moduly: dm_mod

drm editovat

Zařízení: grafická karta

Open source ovladač pro grafickou kartu ATI Radeon zajišťující přístup k hardwarové 3D akceleraci

Související moduly: radeon

eagle-usb editovat

Zařízení: USB modem

Ovladač pro Linux, určený pro DSL modemy s analogovým čipsetem Eagle 8051.

eeprom editovat

ehci_hcd editovat

evdev editovat

Zařízení: USB

Je modul, který poskytuje rozhraní pro zachycení událostí ze zařízení připojených přes USB - myší, klávesnic, ale mohou jím být také pro zachyceny události generované integrovanými tlačítky (u notebooků), nebo na videokameře připojené přes usb (pokud má pro to ovladač v jádře podporu) viz http://mms.sunsite.dk/doc/x80.html , apod.

Po jeho zavedení se vytvoří v adresáři /dev/input zařízení event[x] pro každé USB zařízení. Události procházející přes toto rozhraní můžete sledovat pomocí utility evtest (součást instalačních balíků lineakd či dvb-utils).

ext2 editovat

Zařízení: disk

Ovladač pro souborový systém ext2

Související moduly: mbcache

fan editovat

Zařízení: chladící větrák

Ovladač pro monitorování větráku

ff_memless editovat

fglrx editovat

Zařízení: grafická karta

Proprietární ovladač pro grafickou kartu ATI Radeon

firmware_class editovat

floppy editovat

Zařízení: disketová jednotka

Ovladač disketové jednotky

freq_table editovat

Zařízení: CPU

Ovladač zjišťující tabulka dostupných nastavení frekvencí u procesoru.

Související moduly: powernow_k8, freq_table, cpufreq_stats, cpufreq_ondemand

fuse editovat

Zařízení: disk

Virtuální disk, umožňující připojovat v zařízení, která nemusí být klasickým souborovým systémem. FTP, webDAV, SSH, NTFS...

gameport editovat

generic editovat

gspcav1 editovat

Zařízení: USB

Ovladač pro USB webkamerky s zc0321 chipsetem, (VX1000) od jádra 2.6.11 nahradil dříve používaný modul spca5xx

hci_usb editovat

hid editovat

Zařízení: periferie

Ovladač pro kombinovaná zařízení (klávesnice a myš přes jeden port)

Související moduly: usbhid, ff_memless

hidp editovat

Zařízení: bluetooth

Ovladač pro kombinovaná zařízení (klávesnice a myš přes jeden port) připojená přes bluetooth

Související moduly: l2cap, bluetooth

ide_cd editovat

ide_cd_mod editovat

ide_core editovat

Související moduly: ide_cd_mod, ide_pci_generic, atiixp

ide_disk editovat

ide_generic editovat

ieee1394 editovat

Zařízení: Fi-Wi

Ovladač pro rozhraní FireWire

Související moduly: bcm43xx,ieee80211softmac

ieee80211 editovat

Zařízení: Wi-Fi

Open source ovladač pro wi-fi karty založené na chipu Broadcom 43xx

Související moduly: bcm43xx, ieee80211softmac, ieee80211_crypt

ieee80211_crypt editovat

Zařízení: Wi-Fi

Ovladač pro bezdrátovou wi-fi kartu zajišťující kryptovaný přenos

Související moduly: ieee80211

ieee80211softmac editovat

Zařízení: Wi-Fi

Ovladač pro bezdrátovou wi-fi kartu umožňující změnu její hardwarové MAC adresy

Související moduly: bcm43xx, ieee80211

ip_conntrack editovat

Související moduly: ipt_MASQUERADE,iptable_nat, ip_nat, nfnetlink

ip_nat editovat

Související moduly: ipt_MASQUERADE,iptable_nat, ip_conntrack, nfnetlink

iptable_mangle editovat

Související moduly: ip_tables

iptable_nat editovat

Související moduly: ip_nat, ip_tables, x_tables

ip_tables editovat

Související moduly: iptable_mangle, iptable_nat, x_tables

ipt_MASQUERADE editovat

Související moduly: ip_nat, x_tables

ipv6 editovat

ir_common editovat

irda editovat

i2c_algo_bit editovat

i2c_amd8111 editovat

i2c_core editovat

Související moduly: drm, videodev, i2c_piix4

i2c_viapro editovat

i2c_piix4 editovat

joydev editovat

k8temp editovat

Zařízení: CPU

Ovladač umožňující hardwarové sledování teploty u procesorů amd64. Po jeho zavedení je vytvořeno "zařízení" /sys/class/hwmon/hwmon0 ze kterého by mělo být možné tuto teplotu načítat prostřednictvím aplikace.

kvm editovat

Zařízení: virtualizace jádra

Modul kvm (Kernel-based Virtual Machine) je určen pro virtualizaci procesů mezi hostem a hostovaným systémem. V jádře se objevil od verze 2.6.20 Vyžaduje však hardwarovou podporu v procesoru.

Související moduly: kvm-amd

kvm-amd editovat

Zařízení: virtualizace jádra

Modul kvm-amd je určen pro virtualizaci procesů mezi hostem a hostovaným systémem u procesorů AMD-V.

Související moduly: kvm

kqemu editovat

Zařízení: virtualizace jádra

Modul aplikaci qemu, který není součástí vanilla jádra a je určen pro virtualizaci procesů mezi hostem a hostovaným systémem.

led_class editovat

Související moduly: ath5k, sdhci

libata editovat

Související moduly: ata_generic, pata_atiixp, ahci

llc editovat

Související moduly: bridge, stp

loop editovat

Zarizeni: Pripojeni .iso obrazu CD
.iso soubor pripojite prikazem "mount -o loop [soubor.iso] [cilovy adresar]"

l2cap editovat

Zařízení: bluetooth

Související moduly: rfcomm, hidp, bnep, rfcomm

mac80211 editovat

Zařízení: Wi-Fi

Související moduly: bcm43xx_mac80211, ath5k

mbcache editovat

mii editovat

Související moduly: r8169

mmc_block editovat

Zařízení: čtečka paměťových karet

Související moduly: mmc_core

mmc_core editovat

Zařízení: čtečka paměťových karet

Související moduly: mmc_block, sdhci, tifm_sd

nf_conntrack editovat

nf_conntrack_ipv4 editovat

nf_nat editovat

nfnetlink editovat

Související moduly: ip_nat, ip_conntrack

nv editovat

Open source ovladač grafických karet NVIDIA. V současné době nepodporuje hardwarovou akceleraci.

nvidia editovat

Propietární ovladač grafických karet NVIDIA. Umožňuje hardwarovou akceleraci grafických operací - vysoký nárůst výkonu

ohci_hcd editovat

ohci1394 editovat

option editovat

Ovladač pro externí USB CDMA modem AnyDATA ADU-E100H nahradil dříve používaný modul anydata

Související moduly: usbserial

output editovat

Související moduly: video

parport editovat

Související moduly: parport_pc

parport_pc editovat

pata_atiixp editovat

pci_hotplug editovat

Související moduly: shpchp

pcmcia editovat

Související moduly: ssb

pcmcia_core editovat

Související moduly: ssb, pcmcia

pcmcia_core editovat

pcspkr editovat

powernow_k8 editovat

Zařízení: CPU

Ovladač pro technologii powernow u procesorů Athlon64.

Související moduly: processor, freq_table

ppp_async editovat

Související moduly: ppp_generic

ppp_deflate editovat

Související moduly: zlib_deflate, ppp_generic

ppp_generic editovat

Související moduly: ppp_deflate,bsd_comp,ppp_async, slhc

processor editovat

Zařízení: CPU

Ovladač pro nastavení politiky procesoru. V tomto případě se nastavuje frekvence procesoru "na požádání", tj. procesor jede s minimální frekvencí a teprve při zvýšení jeho zatížení procesoru, se automaticky zvýší i jeho frekvence.

Související moduly: powernow_k8, thermal

psmouse editovat

radeon editovat

Zařízení: grafická karta

Open source ovladač pro grafickou kartu ATI Radeon

Související moduly: drm

reiserfs editovat

Zařízení: disk

Ovladač pro souborový systém reiserfs

rfcomm editovat

Zařízení: bluetooth

Související moduly: l2cap, bluetooth

rfkill editovat

Zařízení: bluetooth

Související moduly: cfg80211, bluetooth

rndis_host editovat

Zařízení: USB

Open source ovladač, který vytvoří zařízení pro připojení telefonního přístroje do sítě přes USB kabel. Není součástí jádra

Související moduly: cdc_ether, usbnet

rsrc_nonstatic editovat

Související moduly: pcmcia_core

rtc editovat

rtc_cmos editovat

rtc_core editovat

Související moduly: rtc_cmos

rtc_lib editovat

Související moduly: rtc_core

r8169 editovat

sbp2 editovat

sco editovat

scsi_mod editovat

Související moduly: usb_storage, sd_mod, libata

sd_mod editovat

sdhci editovat

Zařízení: čtečka paměťových karet

Související moduly: mmc_core, sdhci_pci

sdhci_pci editovat

serio_raw editovat

sg editovat

shpchp editovat

slhc editovat

Související moduly: ppp_generic

snd editovat

Související moduly: snd_atiixp_modem, snd_atiixp, snd_ac97_codec, snd_hda_codec_realtek, snd_hda_intel, snd_hda_codec, snd_hwdep, snd_mixer_oss, snd_mpu401_uart, snd_pcm, snd_pcm_oss, snd_rawmidi, snd_seq, snd_seq_device, snd_seq_oss, snd_timer, snd_via82xx

snd_ac97_bus editovat

Související moduly: snd_ac97_codec

snd_ac97_codec editovat

Související moduly: snd, snd_atiixp, snd_atiixp_modem

snd_atiixp editovat

Související moduly: snd, snd_ac97_codec

snd_atiixp_modem editovat

Související moduly: snd, snd_ac97_codec

snd_hda_codec_atihdmi editovat

snd_hda_codec_realtek editovat

snd_hda_codec editovat

Související moduly: snd_hda_codec_atihdmi, snd_hda_codec_realtek, snd_hda_intel

snd_hda_intel editovat

snd_hwdep editovat

Související moduly: snd_hda_codec

snd_mixer_oss editovat

Související moduly: snd_pcm_oss

snd_mpu401_uart editovat

Související moduly: snd, snd_via82xx

snd_page_alloc editovat

Související moduly: snd_hda_intel, snd_pcm

snd_pcm editovat

Související moduly: snd_hda_intel, snd_hda_codec, snd_pcm_oss

snd_pcm_oss editovat

snd_rawmidi editovat

Související moduly: snd,

snd_seq editovat

Související moduly: snd,

snd_seq_device editovat

Související moduly: snd_seq_dummy, snd_seq_oss, snd_seq_midi, snd_seq, snd_rawmidi

snd_seq_dummy editovat

snd_seq_midi editovat

snd_seq_midi_event editovat

snd_seq_oss editovat

Související moduly: snd,

snd_timer editovat

Související moduly: snd_pcm

snd_via82xx editovat

Související moduly: snd,

sound editovat

soundcore editovat

Související moduly: snd

spca5xx editovat

Zařízení: USB

Ovladač pro USB webkamerky s zc0321 chipsetem, (VX1000) od jádra 2.6.11 byl nahrazen modulem gspcav1

sr_mod editovat

ssb editovat

Související moduly: ohci_hcd

stp editovat

Související moduly: bridge

tg3 editovat

Zařízení: síťová karta

Ovladač síťové karty

thermal editovat

tifm_core editovat

Zařízení: čtečka paměťových karet

Související moduly: tifm_sd, tifm_7xx1

tifm_sd editovat

Zařízení: čtečka paměťových karet

Související moduly: mmc_core

tifm_7xx1 editovat

Zařízení: čtečka paměťových karet

Související moduly: tifm_core

tsdev editovat

tuner editovat

tvaudio editovat

tveeprom editovat

uhci_hcd editovat

uinput editovat

usb_storage editovat

Zařízení: USB

Ovladač pro externí bloková zařízení (disky) připojená přes USB port. Např. USB adaptéry pro ide či sata disky, flash disky ("klíčenky"), foťáky v režimu mass_storage, mp3 přehrávače, atd.

usbcore editovat

usbhid editovat

Zařízení: USB

Ovladač pro kombinovaná zařízení (klávesnice a myš přes jeden port) připojená přes USB port

Související moduly: hid, ff_memless

usbnet editovat

Zařízení: USB

Modul pro propojení LAN a USB. Není součástí jádra

Související moduly: cdc_ether, rndis_host

usbserial editovat

Zařízení: USB

Ovladač vytváří sériové porty pro připojená USB zařízení (externí modemy, čtečky čipových karet, atp.)

Související moduly: option

uvcvideo editovat

Zařízení: Kamera

Ovladač pro web kamerky

Související moduly: videodev

via_agp editovat

via_ircc editovat

via_rhine editovat

Zařízení: Síťová karta

Ovladač pro síťové karty založené na čipu Via Rhine I až III

via82cxxx editovat

video editovat

video_buf editovat

videodev editovat

Související moduly: uvcvideo

vmblock editovat

vmci editovat

vmmon editovat

Zařízení: virtualizace jádra

Modul aplikace VMWware Workstation, který není součástí vanilla jádra a je určen pro virtualizaci procesů mezi hostem a hostovaným systémem.

vmnet editovat

Zařízení: virtualizace síťové karty

Modul aplikace VMWware Workstation, který není součástí vanilla jádra. Je určen pro virtualizaci síťové karty mezi hostem a hostovaným systémem.

vsock editovat

v4l1_compat editovat

Související moduly: uvcvideo, videodev

v4l2_compat_ioctl32 editovat

Související moduly: videodev

v4l2_common editovat

x_tables editovat

Související moduly: ipt_MASQUERADE, xt_mark, iptable_nat, ip_tables

xt_mark editovat

Související moduly: x_tables

yenta_socket editovat

Zařízení: PCMCIA

Ovladač pro PCMCIA v noteboocích.

zlib_deflate editovat

Související moduly: ppp_deflate