2015-02-23 9 views
5

मैं लिनक्स के लिए बहुत नया हूं और अपने स्वयं के कर्नेल को बनाने/संकलित करने के लिए बहुत नया हूं। शुरुआत करने वालों के लिए, मैं बस यह पता लगाने की कोशिश कर रहा हूं कि मेरे कर्नेल की संस्करण स्ट्रिंग को कैसे बदला जाए। उदाहरण के लिए, जब मैं uname -a करता हूं, तो यह "लिनक्स localhost.localdomain 3.11.10-100.fc18.i686" प्रिंट करता है। मैं इसे अनुकूलित करना चाहता हूं, लेकिन मुझे यकीन नहीं है कि कौन सी फ़ाइल को संपादित करना है। मुझे पता है कि यह मेरी कर्नेल निर्देशिका में कुछ फाइल होना चाहिए, लेकिन मैं बिना किसी किस्मत के उनके माध्यम से जा रहा हूं। कोई भी मदद बहुत अच्छी रहेगी!कर्नेल की संस्करण स्ट्रिंग को कैसे बदलें?

उत्तर

10

उच्च-स्तरीय Makefile के शीर्ष पर, वहाँ चार लाइनें

VERSION = 3 
PATCHLEVEL = 18 
SUBLEVEL = 7 
EXTRAVERSION = 

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

इसके अतिरिक्त, एक विन्यास विकल्प CONFIG_LOCALVERSION, make menuconfig में General Setup -> Local version - append to kernel release के नीचे पाया जा सकता है कि इस के साथ जोड़ दिया जाता है।

+0

ठीक है मुझे वह फ़ाइल मिली। हालांकि कुछ कारणों से, क्या अनदेखा-शो शोफाइल शो के मुकाबले अलग है। साथ ही, क्या मैं अंत में जोड़ना चाहता हूं? – pfinferno

+1

फेडोरा लोगों ने अपने कर्नेल को 'EXTRAVERSION' सेट के साथ '100.fc18.i686' पर संकलित किया। कर्नेल स्रोत पेड़ में मेकफ़ाइल को बदलना चल रहे कर्नेल की संस्करण स्ट्रिंग को प्रभावित नहीं करेगा, यह आपके द्वारा बनाए गए कर्नेल की संस्करण स्ट्रिंग को प्रभावित करेगा। – Wintermute

+1

या उन्होंने सामान्य सेटअप -> स्थानीय संस्करण के तहत 'मेक मेन्यूकॉनफिग' में पाए जाने के लिए 'CONFIG_LOCALVERSION' का उपयोग किया होगा। – Wintermute

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