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 के लिए खड़ा है , यह एक हार्डवेयर निर्माता की पहचान करता है। पीसीआई स्पेशल इंटरेस्ट ग्रुप द्वारा उस सूची का रखरखाव किया जाता है । आपका नंबर 0x8086 "इंटेल कॉर्पोरेशन" के लिए है।
  • d00005A84: डिवाइस आईडीd के लिए खड़ा है , जिसे निर्माता द्वारा चुना गया है। इस आईडी को आमतौर पर हार्डवेयर डिवाइस के लिए एक विशिष्ट 32-बिट पहचानकर्ता बनाने के लिए विक्रेता आईडी के साथ जोड़ा जाता है। कोई आधिकारिक सूची नहीं है और मैं उस नंबर को देखने के लिए एक इंटेल डिवाइस आईडी सूची खोजने में सक्षम नहीं था।
  • 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। स्वाभाविक रूप से, ये चेक आपकी सुरक्षा के लिए हैं, इसलिए इस विकल्प का उपयोग करना खतरनाक है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.