यदि आप पूछ रहे हैं कि क्या आप अन्य प्रोग्रामों का एक गुच्छा स्थापित किए बिना एक मौजूदा सिस्टम पर "कर्नेल" को बस स्थापित या अपग्रेड कर सकते हैं?
लिनक्स कर्नेल एक द्विआधारी फ़ाइल है जिसे आमतौर पर निर्देशिका vmlinuz-x.x.x-x-nameमें नाम दिया गया है boot(जो आमतौर पर हार्ड ड्राइव की शुरुआत में एक अलग छोटा विभाजन है) जहां x एक संस्करण संख्या है। "नाम" कर्नेल के लिए सिर्फ एक चुना हुआ नाम है जिसे संकलन समय पर सेट किया जा सकता है, आप इसका उपयोग यह पहचानने के लिए कर सकते हैं कि कर्नेल किस प्रकार की मशीन या वास्तुकला के लिए है।
इसे बूटलोडर द्वारा बूटटाइम पर लोड किया जाता है, GRUBजो आमतौर पर एमबीआर में बूट कोड द्वारा लगाया जाता है जो कि BIOS रोम द्वारा लगाया जाता है। एक बार लोड होने के बाद यह "खुला नहीं" या विशेष रूप से संरक्षित होता है। तो आप उस फाइल को दूसरे काम करने वाले कर्नेल से बदल सकते हैं। लेकिन, GRUBएक शांत सुविधा है जो आपको बूट करने के लिए कई कर्नेल का चयन करने देती है। तो उस सूची में अपने अतिरिक्त कर्नेल को जोड़ने के लिए यह बहुत ही स्मार्ट है, लेकिन मूल ज्ञात कार्य कर्नेल को केवल तभी रखें जब चीजें गलत हो जाएं।
लगभग सभी वितरण मेरा मानना है कि एक "मॉड्यूलर" कर्नेल बनाते हैं जहां डिवाइस ड्राइवर अलग-अलग फाइलों में होते हैं। इसलिए अधिकांश कर्नेल को एक फाइल सिस्टम की आवश्यकता होती है जिसमें बूट समय पर ड्राइवर उपलब्ध होते हैं और जो कि एक "initrd" (प्रारंभिक रैम डिस्क) या "initramfs" के लिए है। GRUBस्मृति में एक स्थान पर कर्नेल को लोड करेगा, और एक अलग स्थान पर initrd, और कर्नेल पर जा कर बताएगा कि यह initrd कहां है, लिनक्स शुरू कर रहा है।
ड्राइवर को कर्नेल में "निर्मित" भी किया जा सकता है और इसलिए बूटलोडर vmlinuzछवि को लोड करने पर स्वचालित रूप से लोड और उपलब्ध होता है । कर्नेल जो विविध प्रणालियों पर काम करने के लिए होते हैं (जैसे कि अधिकांश वितरण) आमतौर पर जो कर्नेल में निर्मित होता है उसे कम से कम किया जाता है क्योंकि उपलब्ध हार्डवेयर को बाद में बूट प्रक्रिया में स्कैन किया जाएगा और केवल वर्तमान हार्डवेयर का प्रतिनिधित्व करने वाले मॉड्यूल लोड किए जाएंगे।
Initrds को संशोधित करने और बनाने के लिए उपकरण हैं। डेबियन के पास अच्छे उपकरण हैं और मुझे लगता है कि अन्य वितरण भी करते हैं।
इसलिए, यदि आप kernel.org से हाल ही में कर्नेल डाउनलोड करते हैं और इसे एक नई कर्नेल बाइनरी इमेज बनाने के लिए संकलित करते हैं, तो आपको उस कर्नेल के साथ काम करने वाले ड्राइवर्स के साथ इनरिट बनाने या अपडेट करने की आवश्यकता है। पुराने initrd काम नहीं करेगा क्योंकि ड्राइवरों को चलने वाले कर्नेल के संस्करण के साथ मेल खाना है।
Initrd फ़ाइल को initrd.img-x.x.x.x-nameकर्नेल के समान नाम दिया गया है, और कर्नेल की तरह बूट के बाद प्रतिस्थापित किया जा सकता है, और सबसे अच्छा अभ्यास आपको इंगित करता है कि आप एक ज्ञात कामकाजी initrd को तब तक नहीं हटाते हैं जब तक कि आप नहीं जानते कि आप अपने नए कर्नेल + initrd को सफलतापूर्वक बूट कर सकते हैं।
मुझे उम्मीद है कि कुछ संदर्भ प्रदान करता है।
यदि आप एक "बेयरबोंस" लिनक्स इंस्टॉल की तलाश में हैं जिसके पास कोई अतिरिक्त प्रोग्राम स्थापित नहीं है, तो मेरा पसंदीदा विकल्प हमेशा डेबियन netinstछवि को स्थापित करना रहा है । बहुत ज्यादा आपके पास कमांड लाइन टेक्स्ट कंसोल और nanoटेक्स्ट एडिटर के रूप में चलाने के लिए केवल सबसे बुनियादी उपकरण हैं ।