CentOS7 . पर Linux कर्नेल संकलित करें

Compile Linux Kernel Centos7



इस लेख में मैं आपको दिखाऊंगा कि आधिकारिक वेबसाइट से नवीनतम लिनक्स कर्नेल स्रोत कैसे डाउनलोड करें लिनक्स कर्नेल , स्रोत से लिनक्स कर्नेल संकलित करें और CentOS 7 पर संकलित कर्नेल का उपयोग करें। आइए शुरू करें।

वर्तमान में प्रयुक्त कर्नेल की जाँच करना:

आप निम्न स्क्रीनशॉट से देख सकते हैं कि मैं CentOS 7 का उपयोग कर रहा हूँ।









और वर्तमान कर्नेल संस्करण 3.10 . है







पूर्वापेक्षाएँ स्थापित करना:

CentOS 7 पर स्रोत से नवीनतम लिनक्स कर्नेल को संकलित करने के लिए, आपके पास एक बिल्ड टूल और कुछ अन्य पैकेज आपके CentOS 7 ऑपरेटिंग सिस्टम पर स्थापित होना चाहिए।

इससे पहले कि आप कुछ भी स्थापित करें, पैकेज कैश को अपडेट करने के लिए निम्न कमांड चलाएँ:



$सुडो यम मेककैश

अब आप निम्न कमांड के साथ कर्नेल को संकलित करने के लिए आवश्यक कंपाइलर और लाइब्रेरी स्थापित कर सकते हैं:

$सुडो यम इंस्टालncurses-विकासबनाना जीसीसी बीसीओपनएसएल-डेवलप

'Y' दबाएं और फिर जारी रखने के लिए दबाएं।

निर्माण उपकरण स्थापित किए जाने चाहिए।

अब आपको elfutils package इंस्टॉल करना होगा। इसे स्थापित करने के लिए निम्न आदेश चलाएँ:

$सुडो यम इंस्टालelfutils-परिवाद-विकास

'y' दबाएं और जारी रखने के लिए दबाएं।

'elfutils' स्थापित किया जाना चाहिए।

अब आपको निम्न आदेश के साथ rpm-build स्थापित करना होगा:

$सुडो यम इंस्टालआरपीएम-बिल्ड

'Y' दबाएं और फिर जारी रखने के लिए दबाएं।

'आरपीएम-बिल्ड' पैकेज स्थापित किया जाना चाहिए।

लिनक्स कर्नेल स्रोत डाउनलोड करना:

लिनक्स कर्नेल की आधिकारिक वेबसाइट पर जाएं https://www.kernel.org और आपको निम्न पृष्ठ होना चाहिए।

नीचे दिए गए स्क्रीनशॉट के अनुसार नवीनतम स्थिर कर्नेल बटन पर क्लिक करें।

आपके ब्राउज़र को फ़ाइल को सहेजने के लिए आपको संकेत देना चाहिए। बस सेव फाइल पर क्लिक करें और ओके पर क्लिक करें।

आपका डाउनलोड शुरू होना चाहिए।


कर्नेल का संकलन:

एक बार डाउनलोड पूरा हो जाने के बाद, उस निर्देशिका पर जाएँ जहाँ आपने फ़ाइल डाउनलोड की थी। मेरे मामले में यह मेरे उपयोगकर्ता की होम निर्देशिका में डाउनलोड निर्देशिका है।

$सीडी~/डाउनलोड

'Ls' के आउटपुट से आप देख सकते हैं कि डाउनलोड की गई फ़ाइल 'linux-4.14.10.tar.xz' है। जो एक कंप्रेस्ड टार फाइल है।

अब कंप्रेस्ड टार फाइल को निम्न कमांड से निकालें:

$टारएक्सवीएफ लिनक्स-4.14.10.tar.xz

tar संपीड़ित फ़ाइल निकाल रहा है।

एक बार फ़ाइल निकालने के बाद, आपको निम्न विंडो देखनी चाहिए।

निष्कर्षण के बाद, आपको नीचे स्क्रीनशॉट में लाल रंग में चिह्नित एक नई निर्देशिका दिखाई देनी चाहिए। निम्न आदेश के साथ निर्देशिका में नेविगेट करें।

$सीडीलिनक्स-४.१४.१०

यदि आप निम्न कमांड चलाते हैं, तो आपको कर्नेल द्वारा उपयोग की जाने वाली कॉन्फिग फाइलों की एक सूची देखनी चाहिए जो आपके सिस्टम पर संस्थापित हैं। आपको जो चाहिए, उसे खोजने के लिए आप 'uname -r' कमांड चला सकते हैं। फ़ाइल नाम 'uname -r' कमांड के आउटपुट से मेल खाना चाहिए।

फिर निम्न आदेश के साथ कॉन्फ़िगरेशन फ़ाइल को linux-4.14.10 निर्देशिका में कॉपी करें:

$सुडो सीपी -वी /बीओओटी/कॉन्फिग-3.10.0-693.el7.x86_64 .config

अब निम्न आदेश चलाएँ:

$बनानामेन्यूकॉन्फिग

आपको निम्न विंडो देखनी चाहिए। यह वह जगह है जहां आप कुछ कर्नेल सुविधाओं को सक्षम या अक्षम करते हैं। यदि आप नहीं जानते कि यहां क्या करना है, तो डिफ़ॉल्ट को छोड़ दें।

एक बार जब आप कर लें, तो कई बार बटन दबाएं और नीचे स्क्रीनशॉट में दिखाए अनुसार जाएं। फिर दबायें ।

फिर दोबारा दबाएं।

फिर से दबाएं।

अब नेविगेट करें और दबाएं

.config फ़ाइल नए कर्नेल के लिए अद्यतन की जाती है।

इससे पहले कि आप नए कर्नेल को संकलित करना शुरू करें, सुनिश्चित करें कि आपके पास फाइल सिस्टम पर 20GB से अधिक खाली स्थान है जहाँ आप कर्नेल को संकलित कर रहे हैं।

आप निम्न आदेश के साथ जांच सकते हैं कि आपके पास कितनी जगह उपलब्ध है:

$डीएफ -एच

अब संकलन प्रक्रिया शुरू करने के लिए निम्न कमांड चलाएँ:

$बनानाआरपीएम-पीकेजी

कर्नेल को ठीक से संकलित किया जाना चाहिए। इसमें लंबा समय लगना चाहिए।

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

उत्पन्न आरपीएम पैकेज फाइलें।

अब आप rpm संकुल को संस्थापित करने के लिए निम्न कमांड चला सकते हैं:

$सुडोआरपीएम-आईयूवी~/आरपीएमबिल्ड/आरपीएमएस/x86_64/ *आरपीएम

स्थापना पूर्ण होने के बाद, अपने कंप्यूटर को पुनरारंभ करने के लिए निम्न आदेश चलाएँ।

$रीबूट

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

$आपका नाम -आर

आपको देखना चाहिए कि यह वह संस्करण है जिसे आपने अभी स्थापित किया है। मेरे लिए, यह '4.14.10' है।

तो इस प्रकार आप स्रोत से नवीनतम कर्नेल को संकलित करते हैं और इसे CentOS 7 पर उपयोग करते हैं। इस लेख को पढ़ने के लिए धन्यवाद।