Detectando e categorizando drivers de dispositivo em um sistema em execução

2

Como posso obter quais drivers de dispositivos são incorporados em um kernel em execução?

Mais do que isso, como posso categorizar esses drivers de dispositivo?

Por exemplo, este é um mapa conceitual do kernel do Linux, da Wikipedia:

Como posso distribuir drivers de dispositivos detectados na área correspondente no mapa acima?

Minha impressão é que tal informação poderia ser obtida dos arquivos de configuração do kernel.

(não estou esperando que a resposta esteja em uma forma gráfica. A categorização textual seria suficiente, mas com as categorias apropriadas que podem ser, em geral, compatíveis com as áreas da imagem.)

    
por VividD 05.02.2015 / 17:30

1 resposta

2

Você pode listar os drivers carregados usando lsmod . Por exemplo,

[root@vm bin]# lsmod Module Size Used by coretemp 13435 0 crc32_pclmul 13113 0 ghash_clmulni_intel 13259 0 aesni_intel 69884 0 lrw 13286 1 aesni_intel gf128mul 14951 1 lrw glue_helper 13990 1 aesni_intel ablk_helper 13597 1 aesni_intel cryptd 20359 3 ghash_clmulni_intel,aesni_intel,ablk_helper sg 40721 0 ppdev 17671 0 pcspkr 12718 0 vmw_balloon 13415 0 parport_pc 28165 0 parport 42348 2 ppdev,parport_pc vmw_vmci 67106 0 i2c_piix4 22106 0 shpchp 37032 0 ip_tables 27240 0 xfs 939662 3 libcrc32c 12644 1 xfs sr_mod 22416 0 cdrom 42556 1 sr_mod sd_mod 45497 3 crc_t10dif 12714 1 sd_mod ata_generic 12910 0 crct10dif_generic 12647 0 pata_acpi 13038 0 mptspi 22542 2 scsi_transport_spi 30732 1 mptspi mptscsih 40150 1 mptspi vmwgfx 176029 1 drm_kms_helper 125008 1 vmwgfx crct10dif_pclmul 14289 1 crct10dif_common 12595 3 crct10dif_pclmul,crct10dif_generic,crc_t10dif ttm 93441 1 vmwgfx crc32c_intel 22079 1 ata_piix 35038 0 drm 349210 4 ttm,drm_kms_helper,vmwgfx mptbase 105960 2 mptspi,mptscsih serio_raw 13462 0 libata 218730 3 pata_acpi,ata_generic,ata_piix vmxnet3 53833 0 i2c_core 40582 3 drm,i2c_piix4,drm_kms_helper floppy 69417 0 dm_mirror 22135 0 dm_region_hash 20862 1 dm_mirror dm_log 18411 2 dm_region_hash,dm_mirror dm_mod 113292 11 dm_log,dm_mirror

Depois, para entender melhor a que cada driver se relaciona, use modinfo

[root@vm bin]# modinfo coretemp filename: /lib/modules/3.10.0-327.el7.x86_64/kernel/drivers/hwmon/coretemp.ko license: GPL description: Intel Core temperature monitor author: Rudolf Marek <[email protected]> rhelversion: 7.2 srcversion: 39EE385A7A807BDCB75C480 alias: x86cpu:vendor:0000:family:*:model:*:feature:*00E7* depends:
intree: Y vermagic: 3.10.0-327.el7.x86_64 SMP mod_unload modversions signer: CentOS Linux kernel signing key sig_key: 79:AD:88:6A:11:3C:A0:22:35:26:33:6C:0F:82:5B:8A:94:29:6A:B3 sig_hashalgo: sha256 parm: tjmax:TjMax value in degrees Celsius (int)

Você pode usar essas informações e categorizar onde cada driver pertence.

    
por 14.09.2016 / 15:51