GRUB2 स्रोत कोड में कर्नेल कोड को हैंडओवर / जंप कहां किया जाता है?


11

मैं कोड की लाइन की तलाश कर रहा हूं, जहां GRUB2 आखिरकार कर्नेल कोड को प्रिंट करता है और इस प्रकार x86 सिस्टम पर निष्पादन करता है? मुझे लगता है कि यह एक कोडांतरक फ़ाइल में है क्योंकि यह बहुत कम वास्तुकला सामान है। मैं में स्रोत फ़ाइलों को देखा /grub-core/boot/i386/pc/*.Sऔर एक पाया JMPमें लाइन 455 पर boot.S लेकिन kernel_addressस्मृति में GRUB2 गिरी और नहीं लिनक्स कर्नेल का पता हो सकता है।

असेंबली और GRUB2 ज्ञान वाला कोई भी व्यक्ति जो मेरी मदद कर सकता है?


क्या आपने कर्नेल मापदंडों को ट्रैक किया था?
phk

1
जब मैं फोन से पोस्ट कर रहा हूं, तो मैं यहां बहुत अधिक नहीं जोड़ सकता हूं, लेकिन मैं पीसी कॉम्पिटिबल्स और GRUB2 के बारे में जो कुछ भी याद करता हूं, उसके आधार पर अनुमान लगा सकता हूं कि यह 0x900000 (वास्तविक मोड) में कर्नेल छवि को 0x0c000000 के साथ मेमोरी में लोड करता है। एक बार जब आप असली मोड से सुरक्षित मोड में कूद जाते हैं, तो पता चलता है। यह "विश्वसनीय बूट" के साथ ईएफआई प्रणाली पर था, हालांकि, हालांकि मैं गलत हो सकता था। शायद आपकी initrdछवि में सुराग होंगे?
व्याट8740

जवाबों:


1

स्रोत को पढ़ने से बस, यह linux लोडर में जगह होनी चाहिए और इस relocater में जगह (लोडर से स्वतंत्र)।

मुझे आशा है कि वह मदद करेंगे :)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.