Bagaimana memahami keluaran modinfo?

11

Saya hanya mencoba memahami modinfokeluaran yang menjelaskan modul kernel. Sebagai contoh, dalam kasus modul i915, outputnya terlihat seperti ini:

$ modinfo i915
filename:       /lib/modules/4.2.0-1-amd64/kernel/drivers/gpu/drm/i915/i915.ko
license:        GPL and additional rights
description:    Intel Graphics
author:         Intel Corporation
[...]
firmware:       i915/skl_dmc_ver1.bin
alias:          pci:v00008086d00005A84sv*sd*bc03sc*i*
[...]
depends:        drm_kms_helper,drm,video,button,i2c-algo-bit
intree:         Y
vermagic:       4.2.0-1-amd64 SMP mod_unload modversions
parm:           modeset:Use kernel modesetting [KMS] (0=DRM_I915_KMS from .config, 1=on, -1=force vga console preference [default]) (int)
[...]

Saya dapat memahami beberapa bidang, tetapi saya tidak tahu apa artinya yang berikut:

  • firmware
  • alias
  • intree
  • vermagic

Adakah yang tahu bagaimana menafsirkannya?

Mikhail Morfikov
sumber

Jawaban:

13

firmware :

firmware:       i915/skl_dmc_ver1.bin

Banyak perangkat membutuhkan dua hal untuk berjalan dengan baik. Driver dan firmware. Pengemudi meminta firmware dari sistem file di /lib/firmware. Ini adalah file khusus, yang dibutuhkan oleh perangkat keras, ini bukan biner. Penyelam kemudian melakukan apa yang perlu dilakukan untuk memuat firmware ke dalam perangkat. Firmware tidak memprogram perangkat keras di dalam perangkat.


alias :

alias:          pci:v00008086d00005A84sv*sd*bc03sc*i*

Ini dapat dipisah pada bagian setelah karakter:

  • v00008086: vsingkatan dari id vendor , ini mengidentifikasi produsen perangkat keras. Daftar itu dikelola oleh Kelompok Minat Khusus PCI . Nomor Anda 0x8086 adalah singkatan dari "Intel Corporation".
  • d00005A84: dsingkatan dari id perangkat , yang dipilih oleh pabrikan. ID ini biasanya dipasangkan dengan ID vendor untuk membuat pengidentifikasi 32-bit yang unik untuk perangkat keras. Tidak ada daftar resmi dan saya tidak dapat menemukan daftar id perangkat Intel untuk mencari nomor itu.
  • sv*, sd*: Versi vendor subsistem dan versi perangkat subsistem adalah untuk identifikasi lebih lanjut dari suatu perangkat ( *menunjukkan bahwa ia akan cocok dengan apa pun)
  • bc03: Kelas dasar . Ini mendefinisikan perangkat apa itu; IDE interface, Ethernet controller, USB Controller, ... bc03singkatan Display controller. Anda dapat melihatnya dari output lspci, karena lspcimemetakan nomor ke kelas perangkat.
  • sc*: Sub kelas ke kelas dasar.
  • i*: antarmuka

Intree :

intree:         Y

Semua modul kernel memulai pengembangannya sebagai out-of-tree. Setelah modul diterima untuk dimasukkan, in-treemodul itu menjadi modul. Modul tanpa flag itu (diatur ke N) dapat mencemari kernel .


vermagic :

vermagic:       4.2.0-1-amd64 SMP mod_unload modversions

Saat memuat modul, string dalam vermagicnilai diperiksa jika cocok. Jika tidak cocok Anda akan mendapatkan kesalahan dan kernel menolak memuat modul. Anda dapat mengatasinya dengan menggunakan --forcebendera modprobe. Secara alami, pemeriksaan ini ada untuk perlindungan Anda, jadi menggunakan opsi ini berbahaya.

kekacauan
sumber