2009-06-19 20 views
6

के लिए तर्क क्या कर्नेल को बूट लोडर से प्राप्त करने की आवश्यकता है। आम तौर पर कर्नेल स्क्रैच से सिस्टम लाने में सक्षम है, तो बूट बूटर से कुछ भी क्यों चाहिए? मैंने इस तरह कर्नेल से बूट संदेश देखे हैं।कर्नेल

"Fetching vars from bootloader... OK" 

तो क्या बिल्कुल चर पारित कर दिया जा रहा है? बूट-लोडर से चर को कैसे पारित किया जा रहा है? क्या यह ढेर के माध्यम से है?

+0

क्या यह सर्वरफॉल्ट पर नहीं होना चाहिए? –

उत्तर

2

कर्नेल तथाकथित कमांड लाइन विकल्पों को स्वीकार करता है, जो टेक्स्ट आधारित हैं। यह बहुत उपयोगी है, क्योंकि आप अपने कर्नेल को पुन: संकलित किए बिना बहुत सी चीजें कर सकते हैं। बहस के गुजरने के लिए, यह वास्तुकला निर्भर है। एआरएम पर यह स्मृति में किसी स्थान के लिए पॉइंटर या स्मृति में एक निश्चित स्थान के माध्यम से किया जाता है।

यह है कि यह ARM पर कैसे किया जाता है। आमतौर पर एक कर्नेल मशीन को स्क्रैच से बूट करने में सक्षम नहीं है। बायोस से हो सकता है, लेकिन फिर यह खरोंच से नहीं है। इसे कुछ प्रारंभिकरण की आवश्यकता है, यह बूटलोडर का काम है।

2

कुछ पैरामीटर हैं जो लिनक्स कर्नेल बूटलोडर से स्वीकार करता है, जिसमें से मुझे अब याद है vga पैरामीटर है। उदाहरण के लिए:

kernel /vmlinuz-2.6.30 root=/dev/disk/by-uuid/3999cb7d-8e1e-4daf-9cce-3f49a02b00f2 ro vga=0x318 

जो आम parametres के कुछ बताते हैं 10 boot time parameters you should know about the Linux kernel पर एक नज़र डालें।

0

लिनक्स बूट लोडर से चर को स्वीकार करता है ताकि कुछ विकल्पों का उपयोग किया जा सके। मुझे पता है कि आप जो कुछ कर सकते हैं वह यह है कि आपको लॉग-इन (पुनर्प्राप्ति मोड) की आवश्यकता नहीं है और कई अन्य विकल्प हैं। यह मुख्य रूप से बस कुछ करने या पासवर्ड बदलने के लिए कोई समस्या होने पर फिक्स को करने की अनुमति देता है। यदि आप किसी अन्य विकल्प का उपयोग करने के लिए चुनते हैं तो उबंटू लाइव-सीडी लिनक्स बूट करता है।

2

लिनक्स कर्नेल के लिए, बूटलोडर को कर्नेल को बताना कई चीजें हैं। इसमें कर्नेल कमांड लाइन जैसी चीजें शामिल हैं (जैसा कि पहले से उल्लिखित कई अन्य लोगों के रूप में है), जहां मेमोरी में initrd लोड हो चुका है और इसका आकार, अगर एक initrd का उपयोग किया जा रहा है (कर्नेल इसे स्वयं लोड नहीं कर सकता है, अक्सर एक initrd का उपयोग करते समय , स्टोरेज उपकरणों को एसेस करने के लिए आवश्यक मॉड्यूल इनिटर्ड के भीतर हैं, और स्टोरेज तक पहुंचने में सक्षम होने से पहले इसे कुछ जटिल सेटअप भी करना पड़ सकता है), और कई मिश्रित बाधाएं और सिरों।

पारंपरिक x86 आर्किटेक्चर (32-बिट और 64-बिट दोनों) के लिए अधिक जानकारी के लिए Documentation/x86/boot.txt (2.6.30 संस्करण से लिंक) देखें, जिसमें ये चर कर्नेल सेटअप कोड को कैसे पारित किया गया है।

1

बूटलोडर कर्नेल को तर्क पास करने के लिए एक स्टैक का उपयोग नहीं करता है। कम से कम लिनक्स के मामले में, एक जटिल स्मृति संरचना है कि बूटलोडर भरता है कि कर्नेल जानता है कि कैसे पार्स करना है। इस प्रकार बूटलोडर कर्नेल को इसकी कमांड लाइन पर इंगित करता है। अधिक जानकारी के लिए Documentaion/x86/boot.txt देखें।

0

आम तौर पर कमांड लाइन पैरामीटर नामक पैरामीटर, जिसे बूट लोडर से कर्नेल मॉड्यूल में पास किया जाता है। बूटलोडर उपयोग BIOS के कई पता लगाने के लिए व्यवधान,

memory 
HDD 
Processor 
Keyboard 
Screen 
Mouse 
ETC... 

और सभी harwares विवरण बूट समय पर पता लगाया जा करने जा रहे हैं, कि असली मोड में है, तो कर्नेल को यह पैरामीटर पास है।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^