विज्ञापन

साथ में Gentoo स्थापित करना Gentoo: एक लिनक्स वितरण जहाँ आप अपने खुद के अनुकूलित सॉफ्टवेयर संकलित करते हैंलिनक्स को चलाने के विभिन्न तरीकों की सरासर संख्या आश्चर्यजनक है, क्योंकि चारों ओर जाने के लिए बहुत सारे विकल्प हैं। जबकि वितरण के बहुत सारे हैं जो या तो पर निर्भर हैं। अधिक पढ़ें , अपने खुद के लिनक्स कर्नेल को संकलित करना उन चीजों में से एक है जिन्हें बहुत ही गीकी और तकनीकी माना जाता है। हम पहले से ही हैं कुछ कारणों को शामिल किया गया 3 कारण क्यों आप अपनी खुद की गिरी [लिनक्स] संकलित करना चाहते हैंलिनक्स सिस्टम इतने हास्यास्पद रूप से लचीले और विन्यास योग्य हैं, यह सर्वथा पागल है। लिनक्स इतना लचीला क्यों है इसका एक बड़ा हिस्सा इसकी मॉड्यूलर संरचना के कारण है। हर एक सिस्टम कंपोनेंट और प्रोग्राम अलग हो जाता है ... अधिक पढ़ें आप ऐसा क्यों करना चाह सकते हैं। इससे पहले कि हम आपको चरणों के माध्यम से चलें, यहां कुछ महत्वपूर्ण अवधारणाओं पर एक संक्षिप्त अवलोकन दिया गया है।

एक कर्नेल क्या है?

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

instagram viewer
गुठली लिनक्स में एक कर्नेल क्या है और आप अपने संस्करण की जांच कैसे करते हैं?लिनक्स एक ऑपरेटिंग सिस्टम है, है ना? खैर, बिल्कुल नहीं! यह वास्तव में एक कर्नेल है। लेकिन लिनक्स कर्नेल क्या है? अधिक पढ़ें जो वास्तव में इन सभी नौकरियों को पूरा करता है।

लिनक्स कर्नेल इस मायने में खास है कि यह आपके द्वारा खुद के हार्डवेयर को फिट करने के लिए बनाया जा सकता है। विंडोज एनटी कर्नेल के साथ इसका विरोध करें, जो आमतौर पर हर कंप्यूटर पर समान होगा। ऐसा करने के लिए, कर्नेल को संकलन नामक एक प्रक्रिया से गुजरना होगा।

अधिक जानकारी के लिए, देखें लिनक्स में गुठली के लिए हमारा परिचय लिनक्स में एक कर्नेल क्या है और आप अपने संस्करण की जांच कैसे करते हैं?लिनक्स एक ऑपरेटिंग सिस्टम है, है ना? खैर, बिल्कुल नहीं! यह वास्तव में एक कर्नेल है। लेकिन लिनक्स कर्नेल क्या है? अधिक पढ़ें .

संकलन क्या है?

आम तौर पर, प्रोग्राम एक मानव पठनीय प्रारूप में लिखे जाते हैं। इससे लोगों के लिए सॉफ्टवेयर बनाना आसान हो जाता है। उदाहरण के लिए, लिनक्स कर्नेल मुख्य रूप से प्रोग्रामिंग भाषा में लिखा जाता है सी. हालाँकि, कंप्यूटर इसे समझ नहीं सकते हैं। वे केवल एक जटिल भाषा को पहचानते हैं जिसे कहा जाता है मशीन कोड. ऐसा करने के लिए, पाठ की पंक्तियों का होना आवश्यक है अनुवाद उबंटू लिनक्स में TAR GZ और TAR BZ2 फ़ाइलों को कैसे संकलित और स्थापित करें अधिक पढ़ें सॉफ्टवेयर के एक विशेष टुकड़े का उपयोग करके एक कहा जाता है संकलक.

विभिन्न प्रोग्रामिंग भाषाओं को परिवर्तित करने के लिए विभिन्न कंपाइलरों का उपयोग किया जाता है। उदाहरण के लिए, जीसीसी एक संकलक है जो C कोड को मशीन कोड (दूसरों के बीच) में अनुवादित करता है। लेकिन यह सब वे नहीं करते - संकलक भी कर सकते हैं अनुकूलन विशिष्ट मशीनों के लिए अनुवादित कोड। इसके साथ ही, वे ऐसा करते हुए कार्यक्रमों से अवांछित सुविधाओं को भी हटा सकते हैं।

आमतौर पर, यह प्रक्रिया पहले से ही बहुत सारे सॉफ़्टवेयर के लिए की जाती है। इसके बजाय, लोग रूपांतरित डाउनलोड करते हैं बाइनरी निर्देश, जो बॉक्स से बाहर काम करते हैं। उदाहरण के लिए, वेब ब्राउज़र क्या आप 2016 में लिनक्स के लिए सर्वश्रेष्ठ वेब ब्राउज़र का उपयोग कर रहे हैं?"गलत" ब्राउज़र का उपयोग करने से बहुत सारे अनावश्यक सिरदर्द, व्यर्थ उत्पादकता और यहां तक ​​कि खोए हुए डेटा को जन्म दिया जा सकता है। तो आपके लिनक्स कंप्यूटर के लिए कौन सा ब्राउज़र सबसे अच्छा है? चलो पता करते हैं। अधिक पढ़ें आप अभी चल रहे हैं पहले से ही संकलित हैं। ऐसा इसलिए है क्योंकि किसी चीज को संकलित करना थोड़ा जटिल और समय लेने वाला हो सकता है। इसे ऐसे समझें जैसे किसी बड़ी किताब को विदेशी भाषा में अनुवाद करना।

संक्षेप में, कर्नेल को संकलित करने का मतलब है कि उसके कोड को किसी ऐसी चीज़ में बदलना जो वास्तव में आपके कंप्यूटर पर चलेगी.

कर्नेल स्रोत प्राप्त करना

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

sudo apt-get update। sudo apt-get install लाइनक्स-सोर्स। 
अपने खुद के लिनक्स कर्नेल डेबियन लिनक्स स्रोत को कैसे संकलित करें

आप इस पैकेज के विभिन्न संस्करण भी स्थापित कर सकते हैं (उदा। लिनक्स स्रोत 4.8.0) यदि आप चाहते हैं। आपको इसमें स्थापित फ़ाइलें मिलेंगी /usr/src/ निर्देशिका, इसलिए वहां नेविगेट करें, और सामग्री देखें:

सीडी / यूएसआर / src / ls।

आपको एक फ़ाइल दिखाई देगी जो समाप्त होती है .tar.bz2. यह वह स्रोत है जिसका आप उपयोग कर रहे हैं। इसे इस आदेश के साथ निकालें:

सुडो टार xjvf linux-source-4.4.0.tar.bz2 

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

वैकल्पिक तरीका

यदि आप चाहें, तो आप अपने स्रोतों से प्राप्त कर सकते हैं आधिकारिक लिनक्स कर्नेल वेबसाइट. मैं इसे केवल तभी सुझाता हूं जब आपका लिनक्स ऑपरेटिंग सिस्टम उन्हें प्रदान नहीं करता है। इच्छित संस्करण का चयन करें और डाउनलोड करें। यदि आप इस मार्ग से गुजरते हैं, तो आपको इसे एक खाली फ़ोल्डर में डाउनलोड करना चाहिए। इस तरह, यदि आप भविष्य में अधिक कर्नेल संकलित करना चाहते हैं, तो आपके पास उन्हें व्यवस्थित रखने के लिए एक अच्छा फ़ोल्डर होगा।

कैसे अपनी खुद की लिनक्स कर्नेल वेनिला कर्नेल स्रोतों को संकलित करने के लिए

ऐसा करने के बाद, इस कमांड के साथ फाइल निकालें:

tar xJvf linux-4.9.11.tar.xz
अपने खुद के लिनक्स कर्नेल वेनिला लिनक्स स्रोत को कैसे संकलित करें

सुनिश्चित करें कि आप उस फ़ाइलनाम का उपयोग कर रहे हैं जो आपके द्वारा डाउनलोड किए गए संस्करण से मेल खाता है!

कर्नेल को अनुकूलित करें

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

आवश्यक शर्तें

आगे बढ़ने से पहले, आपको कुछ प्रोग्राम स्थापित करने होंगे जो आपको इसे अनुकूलित और संकलित करने देंगे।

डेबियन-आधारित प्रणालियों पर, आपको इसकी आवश्यकता है निर्माण आवश्यक पैकेज, दूसरों के बीच में:

sudo apt-get install बिल्ड-एसेंशियल gcc libncurses5-dev libssl-dev। 

libncurses5-देव पैकेज कर्नेल को कॉन्फ़िगर करना आसान बना देगा, इसलिए इसे स्थापित करना सुनिश्चित करें। अन्य लिनक्स ऑपरेटिंग सिस्टम में एक समान कार्यक्रम होगा, लेकिन यह एक अलग नाम के तहत हो सकता है। उदाहरण के लिए, यदि आप उपयोग कर रहे हैं फेडोरा शुद्ध ओपन सोर्स डिस्ट्रो, फेडोरा का उपयोग करने के 5 कारणफेडोरा उबंटू के रूप में अच्छी तरह से ज्ञात नहीं है, और इसका उपयोग करने के लिए कठिन होने के लिए एक प्रतिष्ठा है। लेकिन अगर यह सच है, तो बहुत सारे लोग फेडोरा का उपयोग क्यों करते हैं? अधिक पढ़ें , इसे कहते हैं ncurses.

यदि यह पहले से स्थापित नहीं है, तो आपको इसकी भी आवश्यकता होगी GNU संकलक संग्रह (जीसीसी)। यह एक ऐसा स्रोत है जो कच्चे स्रोत कोड को कंप्यूटर के लिए समझने योग्य चीज़ के रूप में अनुवाद करने के लिए ज़िम्मेदार है। यह कहना है, संकलन।

इन कार्यक्रमों को स्थापित करने के बाद, अपने टर्मिनल को खोलें ताकि आप हों के भीतर निकाले गए लिनक्स स्रोत फ़ोल्डर। उदाहरण के लिए, यदि आपने उपयोग किया है लिनक्स स्रोत विधि, आप ऐसा करेंगे:

cd /usr/src/linux-source-4.4.0

कर्नेल कॉन्फ़िगरेशन फ़ाइल

कर्नेल को संकलित करने से पहले, आपको जीसीसी को यह बताना होगा कि आप इसे कैसे चाहते हैं। आप कमांड लाइन टूल का उपयोग करके ऐसा करते हैं बनाना. इस कमांड में टाइप करें:

सुडो लोकलमोन्डकफिग बनाते हैं। 

यह नामक एक फाइल बनाता है .config, जो GCC को बताता है कि कर्नेल स्रोतों से क्या संकलित किया जाना है। localmodconfig बनाएं आदेश वर्तमान में कर्नेल घटक चला रहा है, और उन्हें संकलन के लिए चिह्नित करता है। यदि कर्नेल आपके स्वयं के फ़ोल्डर के अंदर है, तो आप सूडो की जरूरत नहीं है इसके लिए काम करना है।

आप नीचे दिए गए कुछ संदेशों की तरह आ सकते हैं। बस दबाएं दर्ज उन्हें छोड़ने की कुंजी - वे आम तौर पर सिर्फ नई कर्नेल विशेषताएं हैं।

कैसे अपनी खुद की लिनक्स कर्नेल संकलन करने के लिए Localmodconfig नया

हालाँकि, localmodconfig सही नहीं है! यदि आप वर्तमान में अपने कंप्यूटर के कुछ हिस्सों का उपयोग नहीं कर रहे हैं, तो यह उन सभी चीजों का पता नहीं लगा सकता है जो इसका समर्थन करती हैं। जैसे, आपको उन्हें मैन्युअल रूप से सक्षम करने की आवश्यकता है। वैकल्पिक रूप से, आप इस चरण को पूरी तरह से छोड़ सकते हैं और इसके बजाय अगले कमांड का उपयोग कर सकते हैं। यह नए कर्नेल को उन्हीं विकल्पों के साथ संकलित करेगा जो आप वर्तमान में उपयोग कर रहे हैं।

यदि आप इसे पसंद करते हैं, लेकिन इससे पहले localmodconifg कमांड का उपयोग करते हैं, तो यह करें:

सूद साफ करते हैं। 

यह आपको एक साफ निर्माण देगा। यदि आपने पहले इन स्रोतों के साथ कर्नेल संकलित किया है, तो आपको इस आदेश का भी उपयोग करना चाहिए।

आगे विन्यास

कर्नेल स्रोत फ़ोल्डर के अंदर, एक फ़ाइल होती है जिसे कहा जाता है .config. यह वह है जो जीसीसी संकलन करने के लिए उपयोग करेगा। इसे मैन्युअल रूप से संपादित करने (अनुशंसित नहीं) के बजाय, आप इसके बजाय कुछ टर्मिनल टूल का उपयोग करेंगे। यह संकलन विकल्पों को बहुत आसान बना देगा।

ऐसा करने के बाद, इसे और बेहतर बनाएं:

सुडो नोंकफिग करें। 

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

कैसे अपनी खुद की लिनक्स कर्नेल Nconfig संकलन करने के लिए

आप उन मेनू प्रविष्टियों को टॉगल कर सकते हैं जिनके पास है <> या [] स्पेस बार दबाकर उनके बगल में साइन करें। यह विभिन्न मेनू विकल्पों के माध्यम से चक्र होगा। अगर आप एक * या अंदर, उस विशिष्ट कर्नेल घटक को संकलित किया जाएगा। उनके बीच एकमात्र अंतर यह है कि जरूरत पड़ने पर विकल्प लोड किया जाएगा। यह उपयोगी हो सकता है यदि आप उदाहरण के लिए ड्राइवर का संकलन कर रहे हैं, जिसका उपयोग अक्सर नहीं किया जाता है।

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

कैसे अपनी खुद की लिनक्स कर्नेल संकलित करें Nconfig F2

एक बार जब आप पूरा कर लें, तो दबाएं F9 बचाने और बाहर निकलने के लिए बटन।

कैसे अपनी खुद की लिनक्स कर्नेल संकलित करें Nconfig सहेजें

संकलन और कर्नेल स्थापित करना

अब जब आपने एक कस्टम मेक फ़ाइल बनाई है, तो आपको इसकी आवश्यकता होगी संकलन उबंटू लिनक्स में TAR GZ और TAR BZ2 फ़ाइलों को कैसे संकलित और स्थापित करें अधिक पढ़ें कर्नेल। इस कमांड में टाइप करें:

सूद मेक -j $ (nproc --all)

आप सूडो की जरूरत नहीं यदि आपने वेब से कर्नेल स्रोतों को डाउनलोड किया है। आदेश का दूसरा भाग आपके सभी का लाभ उठाकर कर्नेल संकलन समय को गति देने में मदद करता है सीपीयू कोर एक प्रोसेसर कोर क्या है? [MakeUseOf बताते हैं]हर कंप्यूटर में एक प्रोसेसर होता है, चाहे वह एक छोटी दक्षता प्रो या एक बड़ा प्रदर्शन पावरहाउस हो, या फिर यह कार्य करने में सक्षम नहीं होगा। बेशक, प्रोसेसर, जिसे सीपीयू या सेंट्रल प्रोसेसिंग भी कहा जाता है ... अधिक पढ़ें . आप इससे छुटकारा पा सकते हैं, या संख्या को कुछ और बदल सकते हैं (उदा। -j2), यदि आप अपने कंप्यूटर का उपयोग अन्य कार्यों के लिए बहुत अधिक हिचकी के बिना करना चाहते हैं। हालाँकि, यह भी संकलन धीमा कर देगा!

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

बाद में, कर्नेल के बाकी हिस्सों को संकलित करने के लिए इस कमांड को टाइप करें:

sudo बनाने के लिए mod_install। 

वास्तव में इस कर्नेल का उपयोग करने के लिए, आपको इस आदेश को दर्ज करना होगा:

सुडोल बनाते हैं। 

यह अपने आप ही कर्नेल को कॉपी कर देगा /boot फ़ोल्डर और यह काम करने के लिए उपयुक्त फ़ाइलों को उत्पन्न।

GRUB का उपयोग करके कर्नेल को स्विच करना

यदि आप अपना नया कर्नेल स्थापित करने के बाद रिबूट करते हैं, आपका सिस्टम काम नहीं कर सकता है! यह आमतौर पर एक अनुचित रूप से संकलित कर्नेल (जो आपके कंप्यूटर को पर्याप्त रूप से समर्थन नहीं करता है) के कारण होता है। बिंदु में मामला, मेरा अपना लैपटॉप। बस ऐसा होने पर, मैं सलाह देता हूं GRUB का संपादन BURG [Ubuntu] का उपयोग करके GRUB बूट लोडर को कैसे अनुकूलित करें अधिक पढ़ें ताकि यह पुरानी गुठली पर वापस जा सके। ऐसा करने के लिए, इस कमांड का उपयोग करें:

सुडो नैनो / आदि / डिफ़ॉल्ट / ग्रब। 
कैसे अपनी खुद की लिनक्स कर्नेल Ubuntu GRUB संकलन करने के लिए

के सामने एक # चिन्ह रखें GRUB_HIDDEN_TIMEOUT तथा GRUB_HIDDEN_TIMEOUT_QUIET लाइनों। बाद में, इस आदेश को चलाकर इन परिवर्तनों को सहेजें:

सुडो ग्रब-एमकॉन्फिग -ओ / बबुट / ग्रैब / ग्रैब।सीएफजी। 
कैसे अपनी खुद की लिनक्स कर्नेल GRUB मेनू संकलन करने के लिए

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

क्या आप अधिक गुठली संकलन में रुचि रखते हैं? अन्य कार्यक्रम? क्या आप इसे सार्थक पाते हैं?

चित्र साभार: चंबोसन / शटरस्टॉक

वर्तमान में एक बीआईटी के लिए अध्ययन, ऑस्टिन लुओंग एक शौकीन चावला लिनक्स उत्साही है जो मुफ्त सॉफ्टवेयर के बारे में मुकदमा चलाना पसंद करता है। वह विज्ञान-फाई लिखना भी पसंद करता है, लेकिन केवल अपनी हार्ड डिस्क ड्राइव की गोपनीयता में।