2012-02-24 13 views
8

मैं एक ड्राइवर को संकलित करने की कोशिश कर रहा हूं जो हमारे पास स्रोत से है और मैं नए लक्ष्य वातावरण के साथ मुद्दों के माध्यम से काम कर रहा हूं। थोड़ा परेशान बातें मैं देख रहा हूँ निम्न में से एक चेतावनी है:क्या मुझे परवाह है कि प्रतीक संस्करण डंप गुम है? मैं यह कैसे प्राप्त करूं?

 WARNING: Symbol version dump /usr/src/linux-2.6.38/Module.symvers 
      is missing; modules will have no dependencies and modversions. 

मैं समय का एक उचित राशि खर्च की वेब पर देख रही है और इस उत्पादन में दिखाया गया है अक्सर जब अन्य प्रश्न पूछे जाते हैं, लेकिन मैं नहीं देखा इस बारे में कोई टिप्पणी है कि यह एक मुद्दा है या नहीं।

किसी भी मामले में, मैं मॉड्यूल.symvers उत्पन्न करने के लिए linux/ubuntu कैसे बताऊंगा?

उत्तर

8

Module.symvers तब उत्पन्न होता है जब कर्नेल स्वयं संकलित होता है और कर्नेल बिल्ड पर्यावरण पैकेज के हिस्से के रूप में उपयोगकर्ता को प्रदान किया जाना चाहिए, हालांकि उबंटू (शायद वहां टूटा हुआ?) फेडोरा और ओपनएसयूएसई देख सकता है उदाहरण के लिए जहाज एक या अधिक "कर्नेल-डेवेल" (और/या समान नामित) पैकेज जो इस बिल्ड वातावरण को शिप करते हैं और फ़ाइल को /lib/modules/<version>/build/Module.symvers के माध्यम से पहुंचने योग्य बनाते हैं। एक स्व-संकलित कर्नेल का उपयोग करते समय, substitue/lib/मॉड्यूल/संस्करण/निर्माण निर्देशिका के उपयुक्त पथ के लिए निर्माण (जहां सभी .o फ़ाइलें हैं)।

+0

क्या इसका मतलब यह है कि जब मैं स्रोत को पूरी तरह से संकलित करने के लिए स्रोत प्राप्त कर चुका हूं तो चेतावनी दूर हो जाएगी? – sage

+0

आपके पास Module.symvers (चेतावनी के बाद प्रत्येक symvers फ़ाइल कर्नेल और चयनित कॉन्फ़िगरेशन के लिए विशिष्ट है) चेतावनी दूर हो जाएगी। आप या तो कर्नेल को संकलित करके इस फ़ाइल को प्राप्त कर सकते हैं (अधिकांश के लिए यह केवल ओवरकिल और रखरखाव ओवरहेड है) या, यदि आप एक distro कर्नेल का उपयोग करते हैं, तो Module.symvers वाले सही पैकेज को स्थापित करते हैं। –

+0

यह चाल है। धन्यवाद! – sage

संबंधित मुद्दे