कर्नेल कॉन्फ़िगरेशन फ़ाइल कहाँ संग्रहीत की जाती है?


11

मैं वर्तमान में Angstrom Linux 2.6.32 चलाता हूं। मैं लिनक्स कर्नेल को 2.6.32 से 3.0.7 तक अपग्रेड करने का इरादा रखता हूं। इस कारण से, मुझे कर्नेल 3.0.7 रनिंग को कॉन्फ़िगर करना पड़ा make menuconfig।

अब, मैं पहले के साथ नए कर्नेल कॉन्फ़िगरेशन की तुलना करना चाहता हूं, लेकिन मुझे कर्नेल 3.0.7 कॉन्फ़िगरेशन फ़ाइल नहीं मिल रही है। कोई विचार?

जवाबों:


9

आपका नया वाला .configआपके कर्नेल स्रोत ट्री के शीर्ष स्तर पर है। यह भी /boot/config-3.0.7निर्भर करता है या इसी तरह स्थापित हो सकता है ।


दुर्भाग्य से, निर्देशिका .configपर कोई फ़ाइल नहीं है /usr/src/linux-3.0.7। पर /bootकेवल वहाँ है config-2.6.32फ़ाइल।
— dempap

@dempap ​​/usr/src/linux-3.0.7 आप कहाँ भागे हैं make menuconfig? कि एक उत्पन्न करना चाहिए था .config।
— derobert

1
मैं find -type f -name '.config'इसे खोजने का सुझाव देता हूं , फिर। मैं अपने कर्नेल स्रोत पेड़ों में निश्चित रूप से कम से कम 3.13 के माध्यम से एक है।
— derobert

@dempap ​​A .configहमेशा उस निर्देशिका में उत्पन्न होता है, जहाँ आप भागे थे make menuconfig(या किसी भी अन्य make xxxconfig)। यदि यह नहीं है, या तो आप गलत निर्देशिका में देख रहे हैं या आपने इसे हटा दिया है।
— गाइल्स एसओ- बुराई को रोकना '

1
@dapap ls -Aइसे देखने का प्रयास करें। साथ शुरू होने वाली फ़ाइलों .को छिपाना (सम्मेलन द्वारा) माना जाता है।
— अपमानजनक

11

जब भी आप चलाने make menuconfig, make xconfig, make XXX_defconfig, make oldconfig, make localmodconfigया अन्य के किसी भी make XXXconfigलिनक्स कर्नेल स्रोत पेड़ में लक्ष्य, इस (सफल होने पर) एक फ़ाइल कहा जाता है बनाता है .config। इस फ़ाइल का उपयोग कर्नेल के संकलन के दौरान किया जाता है और तब तक मिटाया नहीं जाता है जब तक कि आप इसे मैन्युअल रूप से मिटा या चला नहीं देते make mrproper।

कर्नेल स्रोत पेड़ों को रखना आम है /usr/src ; यदि आपने संकलन किया है /usr/src/linux-3.0.7तो आपकी .configफ़ाइल अंदर है /usr/src/linux-3.0.7/.config। (चूँकि यह एक डॉट फाइल है , lsकमांड इसे तब तक नहीं दिखाता है जब तक इसे -aझंडे के साथ न चलाया जाए ।)

कई वितरण .configफ़ाइल को कर्नेल वाले पैकेज में कॉपी करने की व्यवस्था करते हैं, और इसे कर्नेल के बगल में स्थापित करते हैं, जैसे /boot/config-3.0.7मिलान करने के लिए /boot/vmlinuz-3.0.7। एंबेडेड वितरण अक्सर ऐसा नहीं करते हैं; मुझे नहीं पता कि अगर एंगस्ट्रॉम करता है, और वैसे भी यदि आप कर्नेल को मैन्युअल रूप से संकलित करते हैं तो यह लागू नहीं होता है।

कर्नेल कॉन्फ़िगरेशन कभी-कभी चल रहे कर्नेल से उपलब्ध हो सकता है /proc/config.gz । इसके लिए IKCONFIGसंकलन-समय विकल्प की आवश्यकता है ।

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