ऊपर से...
make
संकलन और कर्नेल छवि को जोड़ता है। यह एक सिंगल फाइल है जिसका नाम है vmlinuz
।
make modules
M
कर्नेल कॉन्फ़िगरेशन के दौरान आपके द्वारा पूछे गए प्रत्येक प्रश्न के लिए अलग-अलग फ़ाइलों को संकलित करता है । ऑब्जेक्ट कोड आपके हौसले से बनाए गए कर्नेल के खिलाफ जुड़ा हुआ है। (सवालों के जवाब के लिए Y
, ये पहले से ही का हिस्सा हैं vmlinuz
, और सवालों के जवाब के लिए N
उन्हें छोड़ दिया जाता है)।
make install
आपके द्वारा निर्मित कर्नेल को स्थापित करता है /vmlinuz
।
make modules_install
करने के लिए अपने कर्नेल मॉड्यूल स्थापित करता है /lib/modules
या /lib/modules/<version>
।
उपलब्ध कर्नेल की सूची में इसे जोड़ने के लिए, कि बूट लोडर द्वारा ध्यान रखा गया है। यह प्रत्येक बूट लोडर के लिए अलग है, लेकिन grub
x86 और amd64 पर सबसे आम है इसलिए मैं इसका वर्णन करूंगा। यह वास्तव में काफी सरल है। ग्रब में दिखता है /
, /boot
और /lib/modules
किसी भी चीज के लिए जो दिखता है कि यह एक कार्यशील कर्नेल हो सकता है और इसे जोड़ता है। और हाँ, यह एक सुस्पष्ट विवरण है।
उबंटू प्रलेखन में अतिरिक्त "भयानक सामान" एक deb
पैकेज बनाने के लिए अतिरिक्त सामान है । जब आप इसे अपने से अधिक के लिए कर रहे हैं तो इसे पैकेज करना कहीं बेहतर है। आप समय में बदल देंगे।
कर्नेल और मॉड्यूल का निर्माण अलग रखा जाता है क्योंकि जिन लोगों को (यानी, कर्नेल डेवलपर्स) की आवश्यकता होती है, वे अक्सर केवल एक मॉड्यूल में बदलाव कर रहे हैं। वे अपने परिवर्तन लागू कर सकते हैं, पुनर्निर्माण कर सकते हैं और बस मॉड्यूल स्थापित कर सकते हैं। यह बहुत समय बचाता है जब इसे दिन में 20 बार करना पड़ता है। यह एक भी make everything
आदेश के लिए अद्यतन नहीं किया जाएगा । आप इसके बजाय, make && make modules && make install && make modules_install
जैसे दस्तावेज़ कहते हैं , वैसे ही चलाएं । निर्माण प्रक्रिया कर्नेल डेवलपर्स का पक्षधर है, आप नहीं। और यही तरीका होना चाहिए।
वास्तव में कर्नेल डेवलपर्स या डिस्ट्रो पैकर्स को छोड़कर किसी भी व्यक्ति के पास कर्नेल संकलित करने का कोई कारण नहीं है। लगभग किसी भी परिस्थिति में आप जो कर्नेल सुविधा चाहते हैं, वह आपके लिए पहले से ही निर्मित है और पूर्व-पैक कर्नेल में से एक में उपलब्ध है। अपवाद हैं, लेकिन वे इन दिनों अत्यधिक दुर्लभ हैं।
ऐसा नहीं है कि मैं आपको अपना कर्नेल बनाने से रोक रहा हूं, मैं वास्तव में आपको इसे करने के लिए प्रोत्साहित करता हूं। मुझे लगता है कि खरोंच से अपने कर्नेल का निर्माण करना सीखने के लिए एक अमूल्य अभ्यास है कि यह कैसे काम करता है। भाग में, क्योंकि शायद एक दिन तुम जाएगा अपवाद है कि करने की जरूरत हो। लेकिन यह आपको सामान्य रूप से कर्नेल और बूट प्रक्रिया के बारे में बहुत कुछ सिखाता है। आप इसे करने के लिए एक बेहतर व्यक्ति होंगे।