मैं हाल ही में अनपैकिंग कर्नेल-सोर्स rpm ऑफ-सिस्टम (OpenSuse) के माध्यम से गया ? ; और जैसा कि मेरे मशीन पर 10 घंटे लगते हैं, मेरे आश्चर्य की कल्पना करें कि वहां वर्णित प्रक्रिया करने के बाद, मुझे Module.symvers
कहीं भी नहीं मिला !
जब मैं "मॉड्यूल मॉड्यूल उत्पन्न करता हूं" खोजता हूं, तो मुझे यह मिलता है:
ध्यान दें:
CONFIG_MODVERSIONS सेट होने पर भी "मॉड्यूल_प्रकार" मॉड्यूल का निर्माण नहीं करेगा । इसलिए,
मॉड्यूल वर्जनिंग कार्य करने के लिए एक पूर्ण कर्नेल बिल्ड को निष्पादित करने की आवश्यकता है ।
( लिनक्स कर्नेल डॉक्यूमेंटेशन :: kbuild: मॉड्यूल.txt )
... लेकिन मैं वास्तव में इसे प्राप्त नहीं करता हूं - कर्नेल पिछले चरण में नहीं बनाया गया था (ऊपर दिए गए लिंक में वर्णित है? मुझे यकीन है कि यह पता चला कि CC के लिए 10 h * का पूरा गुच्छा उत्पन्न करने में 10 घंटे लगते हैं।) फाइलें, और एलडी उन्हें लिंक करने के लिए, इसलिए कुछ बनाया गया होगा। लेकिन यदि हां, तो कहां है Module.symvers
?
अधिक स्पष्ट शब्दों में, Module.symvers उत्पन्न करने के लिए मुझे वास्तव में किस कमांड पर कॉल करना चाहिए? मुझे पता है कि make prepare
काम नहीं करेगा - लेकिन वह कौन सी आज्ञा है?
Module.symvers
द्वाराzypper install kernel-source
, और अन्य linux distro पर समान। फ़ाइल में स्थित हैlib/modules/xxx/build
।