मैं एक असम्पीडित कर्नेल छवि का उपयोग करना चाहता हूं और बीगलबोर्ड को बूट करता हूं। आम तौर पर मैं कर्नेल को बूट करने के लिए 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"
) मिल सकती है।