Làm thế nào để hiểu đầu ra modinfo?


11

Tôi chỉ đang cố gắng để hiểu modinfođầu ra mô tả một mô-đun hạt nhân. Ví dụ, trong trường hợp của mô-đun i915, đầu ra trông như thế này:

$ 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)
[...]

Tôi có thể hiểu một số lĩnh vực, nhưng tôi không biết ý nghĩa sau đây là gì:

  • firmware
  • alias
  • intree
  • vermagic

Có ai biết làm thế nào để giải thích chúng?

Câu trả lời:


13

phần sụn :

firmware:       i915/skl_dmc_ver1.bin

Nhiều thiết bị cần hai thứ để chạy đúng. Một trình điều khiển và phần sụn. Trình điều khiển yêu cầu phần sụn từ hệ thống tập tin tại /lib/firmware. Đây là một tập tin đặc biệt, cần thiết bởi phần cứng, nó không phải là tệp nhị phân. Sau đó, thợ lặn sẽ làm những gì cần làm để tải firmware vào thiết bị. Phần sụn không lập trình phần cứng bên trong thiết bị.


bí danh :

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

Điều này có thể được chia ra trong phần sau các ký tự:

  • v00008086: vlà viết tắt của id nhà cung cấp , nó xác định nhà sản xuất phần cứng. Danh sách đó được duy trì bởi Nhóm lợi ích đặc biệt PCI . Số 0x8086 của bạn là viết tắt của "Tập đoàn Intel".
  • d00005A84: dlà viết tắt của id thiết bị , được nhà sản xuất chọn. ID này thường được ghép nối với ID nhà cung cấp để tạo số nhận dạng 32 bit duy nhất cho thiết bị phần cứng. Không có danh sách chính thức và tôi không thể tìm thấy danh sách id thiết bị Intel để tra cứu số đó.
  • sv*, sd*: Phiên bản nhà cung cấp hệ thống conphiên bản thiết bị hệ thống con là để nhận dạng thêm thiết bị ( *cho biết rằng nó sẽ phù hợp với mọi thứ)
  • bc03: Lớp cơ sở . Nó định nghĩa loại thiết bị đó là gì; IDE interface, Ethernet controller, USB Controller, ... bc03là viết tắt của Display controller. Bạn có thể nhận thấy chúng từ đầu ra của lspci, bởi vì lspciánh xạ số đến lớp thiết bị.
  • sc*: Một lớp con cho lớp cơ sở.
  • i*: giao diện

ý định :

intree:         Y

Tất cả các mô-đun hạt nhân bắt đầu phát triển của họ như out-of-tree. Khi một mô-đun được chấp nhận để được đưa vào, nó sẽ trở thành một in-treemô-đun. Một mô-đun không có cờ đó (được đặt thành N) có thể làm hỏng kernel .


sâu bọ :

vermagic:       4.2.0-1-amd64 SMP mod_unload modversions

Khi tải một mô-đun, các chuỗi trong vermagicgiá trị được kiểm tra nếu chúng khớp. Nếu chúng không khớp, bạn sẽ gặp lỗi và kernel từ chối tải mô-đun. Bạn có thể khắc phục điều đó bằng cách sử dụng --forcecờ của modprobe. Đương nhiên, những kiểm tra này là để bảo vệ bạn, vì vậy sử dụng tùy chọn này là nguy hiểm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.