मैं एक असम्पीडित कर्नेल छवि का उपयोग करना चाहता हूं और बीगलबोर्ड को बूट करता हूं। आम तौर पर मैं कर्नेल को बूट करने के लिए uImage का उपयोग करता हूं जो संपीड़ित प्रारूप में होता है। मैं एक असम्पीडित कर्नेल छवि का उपयोग कैसे करूँ?
मैं एक असम्पीडित कर्नेल छवि का उपयोग करना चाहता हूं और बीगलबोर्ड को बूट करता हूं। आम तौर पर मैं कर्नेल को बूट करने के लिए uImage का उपयोग करता हूं जो संपीड़ित प्रारूप में होता है। मैं एक असम्पीडित कर्नेल छवि का उपयोग कैसे करूँ?
जवाबों:
जहां तक मुझे पता है, यू-बूट सीधे एक "कच्चे" ईएलएफ छवि ( vmlinux) को बूट नहीं कर सकता है । आपको इसे uImageप्रारूप में बदलना होगा , जिसमें vmlinuxमेटाडेटा के संपीड़ित प्लस और कुछ अतिरिक्त बाइट शामिल हैं जो कर्नेल लोड पते का वर्णन करते हैं। यू-बूट एफएक्यू 2.19 बताते हैं कि कैसे उत्पन्न किया जाए uImage; यह mkimageयू-बूट स्रोत के पेड़ में उपयोगिता का उपयोग करते हुए काफी सीधा है :
mkimage -A arm -O linux -T kernel -C gzip … -d vmlinux uImage
(आपको लोड पते को इंगित करने के लिए अतिरिक्त मापदंडों की आवश्यकता हो सकती है।)
यदि आप Buildroot का उपयोग कर रहे हैं, तो uImageकर्नेल आउटपुट फ़ाइल ( BR2_LINUX_KERNEL_UIMAGE=y) चुनें। सामान्य रूप से संकलित करें और बिल्डरो vmlinuxएक मध्यवर्ती चरण में एक फ़ाइल भी बनाएंगे । जबकि vmlinuxफ़ाइल को उस /output/imagesनिर्देशिका में कॉपी नहीं किया जाता है जो इसे ./output/build/linux-custom/(या रन करके find . -name "vmlinux") मिल सकती है।