उबंटू पर एक कस्टम कर्नेल कैसे बनाएं
अपने स्वयं के कर्नल संकलित करने का विचार नए लिनक्स उपयोगकर्ताओं के दिल में डरता है। यह डरावना लगता है, स्क्रैच से आपके सिस्टम का सबसे महत्वपूर्ण हिस्सा बना रहा है। सच्चाई यह है कि, लिनक्स कर्नेल का निर्माण करना वास्तव में आसान है।
लिनक्स कर्नेल बिल्डिंग प्रोग्रामिंग की आवश्यकता नहीं है। दुनिया के कुछ बेहतरीन प्रोग्रामर पहले से ही सभी कोड लिखे हैं। आपको बस अपनी इच्छित सुविधाओं को चुनना होगा और इसे सभी एक साथ रखना होगा।
निर्भरता प्राप्त करना
एक कर्नेल को छूने से पहले, आपको इसे बनाने के लिए सही टूल की आवश्यकता होती है। उबंटू के भंडारों से उन्हें डाउनलोड करने के लिए एप का उपयोग करें।
sudo apt इंस्टॉल गिट बिल्ड-आवश्यक कर्नेल-पैकेज स्थापित करें fakeroot libncurses5-dev libssl-dev ccache
कर्नेल स्रोत प्राप्त करना
अब आप उस स्रोत को पकड़ सकते हैं जिसे आप बनाना चाहते हैं। सभी कर्नल आधिकारिक लिनक्स भंडारों से उपलब्ध हैं। आप अपने गिट भंडार में नवीनतम स्थिर रिलीज को देख सकते हैं। इस आलेख के समय नवीनतम 4.11 है। वह शाखा लिनक्स-4.11.ई के रूप में सूचीबद्ध है, और वह वह है जिसे नीचे दिए गए आदेश से क्लोन किया जाएगा।
सीडी ~ mkdir kernelbuild सीडी कर्नेलबिल्ड गिट क्लोन -बी लिनक्स-4.11.y गिट: //git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
कर्नेल को क्लोन करने में कुछ समय लगेगा, इसलिए धैर्य रखें।
आपके निर्माण के लिए सेट अप
नई क्लोन निर्देशिका में निर्देशिका बदलकर अपना सेटअप शुरू करें। फिर, अपने मौजूदा कर्नेल की कॉन्फ़िगरेशन को कॉपी करें।
सीडी लिनक्स-स्थिर सीपी / बूट / config-`uname -r` .config
अब आपको पुराने कर्नेल को नए कर्नेल में अनुकूलित करना होगा।
हाँ '' | oldconfig बनाओ
आम तौर पर लिपि आपको पूछेगी कि हर नई सुविधा के साथ क्या करना है। इस तरह डिफ़ॉल्ट को स्वीकार करता है। अगर आपसे पूछा जाना है, तो बस पुराने make oldconfig
उपयोग करें।
कर्नेल को कॉन्फ़िगर करना
आप अपनी कॉन्फ़िगरेशन को जिस तरह से छोड़ सकते हैं, और आप शायद ठीक हो जाएंगे। यदि आप इसे अनुकूलित करने के लिए नहीं जा रहे हैं, तो कस्टम कर्नेल बनाने में कोई बात नहीं है।
अपनी कॉन्फ़िगरेशन को कस्टमाइज़ करने के लिए, make menuconfig
।
एक नीली मेनू श्रेणियों की एक सूची के साथ खुल जाएगा। उन श्रेणियों में वे विशेषताएं हैं जिन्हें आप अपने कर्नेल में बनाने के लिए चुन सकते हैं।
उदाहरण के लिए, यदि आप वास्तव में कर्नेल में बीटीआरएफएस फ़ाइल सिस्टम के लिए समर्थन बनाना चाहते हैं और अन्य सुविधाओं को सक्षम करना चाहते हैं, तो आप "फाइल सिस्टम ->" पर जायेंगे। फिर, जहां आप "Btrfs फाइल सिस्टम समर्थन" देखते हैं वहां स्क्रॉल करें। इच्छित विकल्प का चयन करें और स्पेस बार दबाएं। "एम, " "*, " और खाली के बीच स्पेस बार चक्र। "एम" इंगित करता है कि सुविधा मॉड्यूल के रूप में बनाई जाएगी जो उबंटू शुरू होने पर आवश्यक होने पर लोड की जाएगी। "*" का अर्थ है कि सुविधा कर्नेल में बनाई जाएगी और हमेशा लोड हो जाएगी। स्क्रिप्ट में अंतिम उत्पाद में खाली विकल्प शामिल नहीं हैं।
जब आप चीजों को सेट अप करते हैं, तो निर्देशिका को साफ करें।
साफ करो
अब आपका कर्नेल बनाने के लिए तैयार है।
कर्नेल संकुल का निर्माण
उबंटू द्वारा उनके कर्नल बनाने के लिए उपयोग की जाने वाली एक विधि है, लेकिन यह आपको पुराने संस्करणों के लिए लिखी गई स्क्रिप्ट का उपयोग करने के लिए मजबूर करती है। कभी-कभी यह ठीक है; दूसरों को यह भयंकर रूप से तोड़ता है। इसलिए, आमतौर पर जीएनयू बनाने के साथ अधिक सामान्य लिनक्स विधि का उपयोग करना बेहतर होता है।
make -j `getconf _NPROCESSORS_ONLN` deb-pkg LOCALVERSION = -ustom
वह सभी पंक्ति कर्नेल को आपके सिस्टम पर एक साथ CPU कोर की मात्रा का उपयोग करके .deb संकुल में संकलित करती है। यह दूसरों से अपने कस्टम कर्नेल को अलग करने के लिए पैकेज संस्करण के अंत में "कस्टम" भी जोड़ता है।
नोट : कर्नेल को संकलित करने में घंटे लग सकते हैं। धैर्य रखें।
कर्नेल स्थापित करना
आपको अपना नया कर्नेल पैकेज एक निर्देशिका मिल जाएगा। वे अपने संस्करण संख्या से आसानी से पहचाने जा सकेंगे। आप उन्हें स्थापित करने के लिए dpkg
का उपयोग कर सकते हैं।
सीडी .. sudo dpkg -i linux-firmware-image-4.11.1-custom_4.11.1-custom-1_amd64.deb sudo dpkg -i linux-libc-dev_4.11.1-custom-1_amd64.deb sudo dpkg -i linux-headers -4.11.1-custom_4.11.1-custom-1_amd64.deb sudo dpkg -i linux-image-4.11.1-custom-dbg_4.11.1-custom-1_amd64.deb sudo dpkg -i linux-image-4.11.1-custom_4 .11.1-कस्टम 1_amd64.deb
जब इंस्टॉलेशन समाप्त हो जाए, तो अपने कंप्यूटर को पुनरारंभ करें। उबंटू स्वचालित रूप से आपके नए कर्नेल में बूट हो जाएगा। आप डबल-चेक कर सकते हैं कि यह टर्मिनल में शुरू होने पर uname -r
किया जाता है। यदि आप अपना संस्करण देखते हैं, बधाई हो! आप अपना खुद का कस्टम कर्नेल चला रहे हैं।