में हमारे पिछली प्रविष्टि, कॉल करें "लिनक्स कर्नेल: कर्नेल की मूल बातें" हम कुछ को संबोधित करते हैं आवश्यक सैद्धांतिक आधार के बारे में ऑपरेटिंग सिस्टम कर्नेल, आमतौर पर; और यह लिनक्स कर्नेल, विशिष्ट।
और जैसा कि हमने इसमें व्यक्त किया है, इसमें हम कहा पूरा करेंगे आवश्यक सैद्धांतिक आधार दूसरों के साथ महत्वपूर्ण अवधारणाएं और जानकारी, प्राप्त करने के लिए वर्तमान प्रक्रिया दिखाने के अलावा "एक लिनक्स कर्नेल संकलित करें" शुरू से, ए पर डेबियन जीएनयू/लिनक्स 11 (बुल्सआई) वितरण या उसके आधार पर।
और, इससे पहले कि आप इस पोस्ट को पढ़ना शुरू करें "एक कर्नेल संकलित करें" लिनक्स सामान्य तौर पर, हम कुछ लिंक छोड़ देंगे पिछले संबंधित पोस्ट बाद में पढ़ने के लिए:
एक कर्नेल बनाएँ: ट्यूटोरियल बनाएँ
किसी प्रोग्राम को संकलित करने का क्या अर्थ है?
मूल रूप से यह तकनीकी प्रक्रिया (जिसे पैकेजिंग भी कहा जाता है) हासिल करने में शामिल हैं किसी प्रोग्राम के सोर्स कोड का रूपांतरण या सॉफ़्टवेयर का भाग, उसके स्रोत से (स्वयं लिखने के लिए प्रयुक्त प्रोग्रामिंग भाषा) से a . तक पठनीय उत्पाद (उच्च स्तरीय प्रोग्रामिंग भाषा व्याख्या करने योग्य) एक कंप्यूटर द्वारा।
यानी हासिल अपने स्रोत कोड से रूपांतरित करें जब तक यह एक नहीं हो जाता निष्पादन योग्य और कार्यात्मक कार्यक्रम, a . का उपयोग करके प्रोसेसर (कंपाइलर सॉफ्टवेयर) बाइनरी और असेंबलर प्रकार के कोड के लिए उपयोग की जाने वाली प्रोग्रामिंग भाषा के रूपांतरण के लिए।
और जब बात आती है विकसित और संकलित करें किसी भी तरह का पैकेज, आवेदन और कार्यक्रम, बुनियादी और देशी, जैसे कर्नेल पर डेबियन जीएनयू / लिनक्स, एक अच्छा प्राप्त करने के लिए निम्नलिखित पैकेज उपयुक्त और आवश्यक हैं विकास समर्थन आधार, और ये हैं:
apt install autoconf automake autotools-dev build-essential dh-make debhelper debmake devscripts dpkg fakeroot file gfortran git gnupg fp-compiler lintian patch pbuilder perl python quilt xutils-dev
स्क्रैच से लिनक्स कर्नेल को संकलित करने के लाभ और नुकसान
जब हम एक निश्चित कंप्यूटर के लिए एक विशिष्ट कर्नेल, स्क्रैच से कस्टम संकलन और कॉन्फ़िगर करते हैं, तो हम निम्नलिखित लाभ प्राप्त कर सकते हैं:
- बेहतर प्रदर्शन और कम CPU खपत प्राप्त करें।
- बेहतर अनुकूलन और रैम मेमोरी की कम खपत प्राप्त करें।
- ऑपरेटिंग सिस्टम की अनुकूलता और अनुकूलता में सुधार।
- ऑपरेटिंग सिस्टम की दक्षता और उत्पादकता बढ़ाएँ।
जबकि, इसके विपरीत, हम निम्नलिखित नुकसान उत्पन्न कर सकते हैं:
- परिचालन और उपलब्धता विफलता खराब कॉन्फ़िगरेशन और संकलन के दौरान होने वाली समस्याओं के कारण कंप्यूटर पर वांछित संसाधनों और सेवाओं का उपयोग किया जाता है।
- इसे उत्पन्न करने के लिए पहली बार में एक निरंतर, लंबा और थकाऊ काम, और फिर बाद में, इसे मैन्युअल रूप से अपडेट रखने के लिए। जो इस्तेमाल किए गए हार्डवेयर के आधार पर मिनटों से लेकर घंटों तक हो सकता है।
- अध्ययन और परीक्षण के लंबे घंटे, चूंकि कर्नेल में उपलब्ध कॉन्फ़िगरेशन विकल्पों और कंप्यूटर (अंतिम हार्डवेयर) के बारे में उच्च स्तर के ज्ञान की आवश्यकता होती है, जहां इसे निष्पादित किया जाएगा।
उपलब्ध कर्नेल श्रेणियाँ
पैरा एक कर्नेल संकलित करेंसबसे पहले हमें पता होना चाहिए कि कौन सा कर्नेल चुनना है। ऐसा करने के लिए, हमें जाना चाहिए आधिकारिक वेबसाइट गुठली का, और मौजूदा श्रेणियों में से किसी एक को चुनें। जो निम्नलिखित हैं:
- विकास की मुख्य लाइन (मेनलाइन): इस श्रेणी में वे कर्नेल शामिल हैं जो विकास के चरण में हैं, इसलिए, उनमें नई सुविधाएँ और कार्य शामिल हैं जिन्हें एक स्थिर संस्करण में डालने से पहले परीक्षण किया जाना चाहिए। इन्हें लिनुस टॉर्वाल्ड्स द्वारा सीधे बनाए रखा और जारी किया जाता है, और औसतन हर 2-3 महीने में जारी किया जाता है।
- स्थिर: इस श्रेणी में वे गुठली शामिल हैं, जो लंबी विकास प्रक्रिया के परीक्षणों को पारित करने के बाद स्थिर हो जाती हैं, इसलिए वे केवल एक आधिकारिक नामित अनुरक्षक के माध्यम से सुधार के अधीन हैं। साथ ही, अगली मेनलाइन उपलब्ध होने तक उनके पास केवल कुछ बग फिक्स रिलीज़ होते हैं।
- दीर्घकालिक: इस श्रेणी में वे कर्नेल शामिल हैं, जो लंबी विकास प्रक्रिया के परीक्षणों को पास करने के बाद स्थिर हो जाते हैं, लेकिन बग फिक्स और बहुत लंबे समय (वर्षों) के रखरखाव द्वारा समर्थित होते हैं। जिसके कारण, महत्वपूर्ण बग फिक्स लागू किए जाते हैं, जो बहुत बार हो सकते हैं।
जीएनयू/लिनक्स डेबियन बुल्सआई डिस्ट्रो में कर्नेल कैसे संकलित करें?
किसी एक को चुनकर विशिष्ट कर्नेल संस्करण, आधिकारिक वेबसाइट पर, और पहले से ही आपकी जानकारी (कॉपी) डाउनलोड पथ के माध्यम से टैरबॉल बटन उसी के लिए, यह केवल निम्नलिखित प्रक्रिया को पूरा करने के लिए रहता है, जिसे हम एक उदाहरण के रूप में दिखाएंगे स्थिर लिनक्स कर्नेल संस्करण 6.0.8:
चरण 1
cd /usr/src
wget -c https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.0.8.tar.xz
sudo unxz linux-6.0.8.tar.xz
sudo tar xvf linux-6.0.8.tar
sudo ln -s linux-6.0.8 linux
cd /usr/src/linux
sudo make clean && make mrproper
sudo cp /boot/config-`uname -r`* .config
make menuconfig
इस अंतिम आदेश को चलाने से प्रारंभ होता है "कर्नेल कॉन्फ़िगरेशन मेनू", जहां तुम कर सकते हो कॉन्फ़िगर (अनुकूलित) पैरामीटर आपकी पसंद या आवश्यकता के अनुसार। इसके अलावा, यहां यह नहीं भूलना जरूरी है कि यह जरूरी है 64-बिट कर्नेल विकल्प को चेक या अनचेक करें, जो वांछित या आवश्यक है उसके आधार पर। और साथ ही, किए गए सभी परिवर्तन करने के बाद, आपको अवश्य सहेजें बटन दबाएं और फिर बाहर निकलें बटन.
चरण 2
इस बिंदु पर हैं 2 संभावित रास्ते लेने के लिए:
केवल कर्नेल स्थापना
sudo make
sudo make modules_install
sudo make install
sudo update-grub; sudo update-grub2; sudo update-initramfs -u
sudo apt clean; sudo apt autoclean; sudo apt autoremove; sudo apt remove; sudo apt purge
कर्नेल स्थापना और .deb फ़ाइलों का निर्माण
इस चरण को निष्पादित करने के लिए, पैकेज की स्थापना को कहा जाना प्रासंगिक है कर्नेल-पैकेज. इसलिए, प्रक्रिया इस प्रकार है और निम्नानुसार शुरू होती है:
sudo wget -c http://ftp.us.debian.org/debian/pool/main/k/kernel-package/kernel-package_13.018+nmu1~bpo9+1_all.deb
sudo apt install ./kernel-package_13.018+nmu1~bpo9+1_all.deb
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
cd /usr/src
sudo dpkg -i *.deb
मामले में, संकलन प्रक्रिया के दौरान, आपको एक मिलता है कर्नेल प्रमाणपत्र से संबंधित त्रुटि, यह निम्नलिखित को निष्पादित करने में सक्षम होने के विकल्प के रूप में रहता है आदेश आदेश इसे स्वचालित रूप से ठीक करने के लिए:
sed -i '/CONFIG_SYSTEM_TRUSTED_KEYS/s/^/#/g' .config
हां, सब कुछ अच्छी तरह से समाप्त हो गया, यह केवल हमारे कंप्यूटर को पुनरारंभ करना और परीक्षण करना है कि हमारा ऑपरेटिंग सिस्टम नए कर्नेल के साथ कैसे बढ़ता है। जैसा कि निम्नलिखित स्क्रीनशॉट में पहले और बाद में दिखाया गया है:
कर्नेल स्थापना से पहले
कर्नेल स्थापना के बाद
सारांश
संक्षेप में, हम आशा करते हैं कि यह ट्यूटोरियल दोनों के लिए बहुत उपयोगी होगा उन्नत उपयोगकर्ता एक के रूप में Distros या Respins डेवलपर्स। जिसकी आमतौर पर आवश्यकता होती है "एक कर्नेल संकलित करें" मैं एक जीएनयू/लिनक्स ऑपरेटिंग सिस्टम पर निर्दिष्ट करता हूं जो वर्तमान में स्थापित है या एक जो स्क्रैच से उत्पन्न हो रहा है, ताकि एक को शामिल किया जा सके विशिष्ट हार्डवेयर पर बेहतर प्रदर्शन और अनुकूलन. अधिकतर, प्राप्त करने के उद्देश्य से, a कम CPU और RAM की खपत.
हालांकि, अगर कोई जानता है उक्त प्रक्रिया को करने का एक अन्य उपयोगी तरीका या क्या आप किसी को जानते हैं सुझाव, सिफारिश या सुधार यहाँ क्या प्रदान किया गया है, टिप्पणियों के माध्यम से ऐसा करने के लिए आपका स्वागत है। और हाँ, आपको बस यह प्रकाशन पसंद आया, इस पर टिप्पणी करना और इसे दूसरों के साथ साझा करना बंद न करें। इसके अलावा, हमारे पर जाना न भूलें «पेज शुरू करें» अधिक समाचार तलाशने के लिए, साथ ही साथ हमारे आधिकारिक चैनल से जुड़ें लिनक्स टेलीग्राम से, पश्चिम समूह आज के विषय पर अधिक जानकारी के लिए।