2008-10-19 35 views
13

से बूट करने में सक्षम करने के लिए मैं एक ऑपरेटिंग सिस्टम के लिए कर्नेल विकसित कर रहा हूं। इसे निष्पादित करने के लिए, मैंने GRUB का उपयोग करने का निर्णय लिया है। वर्तमान में, मेरे पास GRUB के stage1, stage2, एक पैड फ़ाइल और कर्नेल स्वयं एक साथ जुड़ी एक स्क्रिप्ट है जो इसे बूट करने योग्य बनाता है।GRUB को स्वचालित रूप से कर्नेल

kernel 200+KERNELSIZE 
boot

KERNELSIZE ब्लॉकों में गिरी के आकार है: केवल समस्या है जब मैं इसे चलाने के लिए, आप GRUB पता जहां गिरी है यह बताने के लिए है कि और कितना बड़ा इसे मैन्युअल रूप से है और फिर इसे बूट, इस तरह है । यह शुरुआत के लिए ठीक है और ठीक है, लेकिन क्या इन मानों को बाइनरी में प्राप्त करना संभव है और GRUB को कर्नेल को स्वचालित रूप से बूट करना संभव है? इसे पूरा करने के तरीके पर कोई सुझाव?

+1

पारंपरिक दृष्टिकोण अपने कर्नेल को फाइल सिस्टम सिस्टम ग्रब पर पढ़ना है; कोई विशेष कारण आप ऐसा नहीं कर रहे हैं? –

+0

मैं यहां चार्ल्स से सहमत हूं। अपने ओएस को एक मौजूदा फाइल सिस्टम तब तक रखें जब तक आपके ओएस की फाइल सिस्टम न हो। –

+0

खैर, परीक्षण के लिए, हमारे पास एक अंतिम एमुलेटर में उपयोग की जाने वाली डिस्क पर फ़ाइल के रूप में अंतिम बाइनरी (GRUB सहित) है। मैं एक डिस्क छवि कैसे बना सकता हूं जिसमें उस पर एक फाइल सिस्टम है? –

उत्तर

2

मुझे लगता है कि आप बस अपना खुद का मेनू बना सकते हैं। Lst conf फ़ाइल, "configfile /path/to/menu.lst" के साथ ग्रब खोल पर लोड करें और फिर "सेटअप (hd0)" को आवश्यकतानुसार मानों को प्रतिस्थापित करें । मैं बस अनुमान लगा रहा हूं .. कोई फर्क नहीं पड़ता कि आपके कस्टम सेटअप पर मतभेद क्या हैं।

+0

यह पता चला है कि हम एक पुराने ट्यूटोरियल का उपयोग कर रहे थे जिसने हमें बताया था कि हम जिस तरह से थे। हमने बाद में चार्ल्स की सलाह ली और बूट करने योग्य छवि को आईएसओ में ले जाया। –

3

http://www.gnu.org/software/grub/manual/grub.html#Embedded-data GRUB में ब्लॉक सूची संग्रहण के बारे में कुछ सामान्य जानकारी देता है। सबसे महत्वपूर्ण बात यह है कि यह उल्लेख करता है कि ब्लॉक सूचियों को चरण 2 में अच्छी तरह से परिभाषित स्थानों में संग्रहीत किया जाता है।

शायद आप सटीक स्थान को जानने के लिए GRUB स्रोत कोड देखना चाहते हैं।