डाउनग्रेड फेडोरा 20 कर्नेल


0

मैं फेडोरा के 20 कर्नेल (3.11) को संस्करण 2.6 में डाउनग्रेड करना चाहता हूं क्योंकि मेरे पास एक पैकेज है जो केवल उस कर्नेल का समर्थन करता है। मैंने फेडोरा 20 के लिए 2.6 कर्नेल के लिए हर जगह देखा है, लेकिन कोई भाग्य नहीं है। अगर मैं 2.6 कोरोरा को खिलाने की कोशिश करता हूं जो कि फ़ेडोरा कोर 16 के लिए है तो फेडोरा बस बूट नहीं करेगा। क्या किसी के पास कोई सुझाव है?


1
क्या पैकेज है जो केवल 2.6 का समर्थन करता है?
दान डी।

यह एक हार्डवेयर ड्राइवर है जिसका कोई विकल्प नहीं है और आधिकारिक तौर पर केवल Red Hat का समर्थन करता है, लेकिन Red Hat केवल कर्नेल 2.6 तक जाता है।
ASIS911

जवाबों:


1

फेडोरा को (अपेक्षाकृत) पुरानी गुठली के साथ बूट करने में समस्या नहीं होनी चाहिए, हम हर समय ऐसा करते हैं कि फेडोरा को एआरएम प्लेटफार्मों पर चलाया जाए जो मुख्यधारा के कर्नेल संकलन नहीं चला सकते हैं।

दो महत्वपूर्ण मुद्दे हैं जिन्हें सिस्टम को ठीक से काम करने के लिए हल किया जाना चाहिए।

पहला है बूटलोडर (GRUB, सभी संभावना में)। यह वास्तव में केवल एक चिंता का विषय है यदि आप अपने कर्नेल के लिए एक आधिकारिक RPM स्थापित नहीं करते हैं - आधिकारिक RPM आपके लिए initramfs उत्पन्न करेगा और एक बूटलोडर प्रविष्टि बनाएगा।

दूसरे में फर्मवेयर लोडिंग शामिल है। अधिकांश डिस्ट्रोस उपयोगकर्ता-फर्मवेयर लोडिंग से इन-कर्नेल फर्मवेयर लोड करने के लिए 3.10 या उसके आसपास लोड हो रहे हैं। वर्तमान में समर्थित सभी फेडोरा रिलीज़ फर्मवेयर को इस तरह से लोड करते हैं। इसलिए पुराने कर्नेल पर स्विच करने का अर्थ है कि कर्नेल OS को फर्मवेयर लोड करने की उम्मीद करता है, और OS कर्नेल को फर्मवेयर लोड करने की उम्मीद करता है। हमें कहीं न कहीं यूजरस्पेस में फर्मवेयर लोडिंग को फिर से सक्षम करना होगा।

तो शुरू करने के लिए, पुराने कर्नेल को आप जो भी पसंद करते हैं उसके माध्यम से स्थापित करें। चीजों को आसान बनाने के लिए, मैंने नवीनतम 2.6 कर्नेल स्थापित किया जो फेडोरा के लिए बनाया गया था (f15 आधिकारिक तौर पर 2.6 का समर्थन करने के लिए नवीनतम रिलीज था)। पैकेज अभी भी कोजी, फेडोरा बिल्ड सिस्टम [1] पर उपलब्ध हैं।

अगला, मैंने सत्यापित किया कि GRUB प्रविष्टि बनाई गई थी। आपको कर्नेल 2.6 का उल्लेख देखना चाहिए /boot/grub/grub.cfg(यह मानते हुए कि आप EFI सिस्टम पर नहीं हैं)।

अंत में, हमें फर्मवेयर समस्या को हल करने की आवश्यकता है। मैंने इसके दो समाधान देखे हैं: 1. udev (अब सिस्टमड में शामिल) के एक पुराने संस्करण को संकलित या संकलित किया है, जिसमें आंतरिक संकलक सक्षम है। 2. firmware.shबुरे पुराने दिनों की तरह उपयोग करें ।

इस परिदृश्य में उत्तरार्द्ध काफी आसान है। काम करने के लिए दो फाइलें होनी चाहिए: /usr/lib/udev/firmware.shऔर /usr/lib/udev/rules.d/50-firmware.rules। इन फ़ाइलों की एक प्रति खोजने के लिए Google पर चारों ओर प्रहार करें [2] - मैं सीधे किसी से लिंक नहीं करूंगा।

एक बार जब वे आपके सिस्टम पर आ जाते हैं, तो आपको आवश्यक रूप से रूट माउंट किए जाने से पहले फर्मवेयर को लोड किया जा सकता है, ताकि फर्मवेयर को लोड किया जा सके। यह फेडोरा में ड्रैकुट का उपयोग करना आसान है; चलाएँ:

dracut /boot/initramfs-2.6.43.8-2.fc15.x86_64.img 2.6.43.8-2.fc15.x86_64 --force

पहला विकल्प लक्ष्य initramfs फ़ाइल है, दूसरा कर्नेल संस्करण है, और --forceहमारे द्वारा पहले से बनाए गए initramfs को अधिलेखित करने की आवश्यकता है (RPM स्थापना के दौरान सबसे अधिक संभावना है)।

और वह करना चाहिए। मैं सिर्फ एक VM में यह परीक्षण किया है और यह अच्छी तरह से काम किया। अंतिम नोट के रूप में, अपने हार्डवेयर के लिए ड्राइवर सहायता का ध्यान रखें। यह कर्नेल 2.6 में मौजूद नहीं हो सकता है। यह मेरे VM के लिए हाइपर- V नेटवर्क एडॉप्टर का मामला था। "लिगेसी" नेटवर्क एडेप्टर पर स्विच करने पर परिणाम मिलते हैं।

[१] http://koji.fedoraproject.org/koji/buildinfo?buildID=327165

[२] https://www.google.com/search?q=%22firmware.sh%22+%2250-firmware.bules/22

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