จะเข้าใจเอาต์พุต modinfo ได้อย่างไร?


11

ฉันแค่พยายามที่จะเข้าใจmodinfoผลลัพธ์ที่อธิบายถึงโมดูลเคอร์เนล ตัวอย่างเช่นในกรณีของโมดูลi915เอาต์พุตจะมีลักษณะดังนี้:

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

ฉันสามารถเข้าใจบางฟิลด์ได้ แต่ฉันไม่รู้เลยว่าต่อไปนี้คืออะไร:

  • firmware
  • alias
  • intree
  • vermagic

ไม่มีใครรู้วิธีการตีความพวกเขา?

คำตอบ:


13

เฟิร์มแวร์ :

firmware:       i915/skl_dmc_ver1.bin

อุปกรณ์จำนวนมากต้องการสองสิ่งเพื่อให้ทำงานได้อย่างถูกต้อง ไดรเวอร์และเฟิร์มแวร์ /lib/firmwareคนขับรถขอเฟิร์มจากระบบแฟ้มที่ นี่เป็นไฟล์พิเศษที่ฮาร์ดแวร์ต้องการไม่ใช่ไบนารี นักดำน้ำจะทำสิ่งที่จำเป็นในการโหลดเฟิร์มแวร์ลงในอุปกรณ์ เฟิร์มแวร์ทำการเขียนโปรแกรมฮาร์ดแวร์ภายในอุปกรณ์


นามแฝง :

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

สามารถแยกส่วนได้หลังจากตัวละคร:

  • v00008086: vย่อมาจากid ผู้ขายจะระบุผู้ผลิตฮาร์ดแวร์ รายการที่มีการปรับปรุงโดยPCI กลุ่มสนใจพิเศษ หมายเลขของคุณ0x8086หมายถึง "Intel Corporation"
  • d00005A84: dย่อมาจากid อุปกรณ์ซึ่งผู้ผลิตเลือกไว้ โดยปกติ ID นี้จะจับคู่กับ ID ผู้ขายเพื่อสร้างตัวระบุ 32 บิตที่ไม่ซ้ำกันสำหรับอุปกรณ์ฮาร์ดแวร์ ไม่มีรายการทางการและฉันไม่สามารถค้นหารายการรหัสอุปกรณ์ของ Intel เพื่อค้นหาหมายเลขนั้น
  • sv*, sd*: รุ่นผู้จัดจำหน่ายระบบย่อยและรุ่นอุปกรณ์ระบบย่อยสำหรับการระบุเพิ่มเติมของอุปกรณ์ ( *บ่งชี้ว่ามันจะตรงกับอะไร)
  • bc03ที่: ชั้นฐาน มันกำหนดประเภทของอุปกรณ์มันเป็น; IDE interface, Ethernet controller, USB Controller... ย่อมาจากbc03 Display controllerคุณอาจสังเกตเห็นพวกเขาจากผลลัพธ์ของlspciเพราะlspciแผนที่หมายเลขไปยังคลาสอุปกรณ์
  • sc*: คลาสย่อยไปยังคลาสพื้นฐาน
  • i*: อินเตอร์เฟซ

ภายใน :

intree:         Y

out-of-treeทุกโมดูลเคอร์เนลเริ่มต้นการพัฒนาของพวกเขาเป็น เมื่อโมดูลได้รับการยอมรับให้รวมมันจะกลายเป็นin-treeโมดูล โมดูลที่ไม่มีแฟล็กนั้น (ตั้งค่าเป็นN) อาจทำให้เคอร์เนลเสีย


สีแดง :

vermagic:       4.2.0-1-amd64 SMP mod_unload modversions

เมื่อโหลดโมดูลสตริงในvermagicค่าจะถูกตรวจสอบว่าตรงกันหรือไม่ หากพวกเขาไม่ตรงกันคุณจะได้รับข้อผิดพลาดและเคอร์เนลปฏิเสธที่จะโหลดโมดูล คุณสามารถเอาชนะโดยใช้ธงชาติ--force modprobeการตรวจสอบเหล่านี้มีไว้เพื่อการป้องกันของคุณดังนั้นการใช้ตัวเลือกนี้จึงเป็นอันตราย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.