कैसे कर्नेल को lts कर्नेल में स्विच करें?


24

मैं आर्च लिनक्स का एक हेडलेस सर्वर इंस्टालेशन चला रहा हूँ। कर्नेल उन्नयन की उच्च दर ने मुझे कुछ बनाए रखा सिरदर्द और मैं इसलिए एलटीएस कर्नेल पर स्विच करना चाहता हूं ।

मैंने पहले ही पैकेज linux-ltsऔर linux-lts-headersपैकेज स्थापित कर दिए हैं। अब, मुझे दोनों कर्नेल स्थापित हो गए हैं लेकिन मैं थोड़ा अनाड़ी हूं कि यहां से कैसे जारी रखा जाए। डॉक्स समझाने :

[...] आपको एलटीएस कर्नेल और रैम डिस्क का उपयोग करने के लिए अपने बूटलोडर की कॉन्फ़िगरेशन फ़ाइल को अपडेट करना होगा: vmlinuz-linux-ltsऔर initramfs-linux-lts.img

मैंने उन्हें पहले ही बूट सेक्शन में स्थित कर दिया था:

0 ✓ root@host ~ $ ll /boot/
total 85M
4,0K drwxr-xr-x  4 root root 4,0K 21. Mai 13:46 ./
4,0K drwxr-xr-x 17 root root 4,0K  4. Apr 15:08 ../
4,0K drwxr-xr-x  6 root root 4,0K  4. Apr 14:50 grub/
 27M -rw-r--r--  1 root root  27M 20. Mai 17:01 initramfs-linux-fallback.img
 12M -rw-r--r--  1 root root  12M 20. Mai 17:01 initramfs-linux.img
 27M -rw-r--r--  1 root root  27M 21. Mai 13:46 initramfs-linux-lts-fallback.img
 12M -rw-r--r--  1 root root  12M 21. Mai 13:46 initramfs-linux-lts.img
 16K drwx------  2 root root  16K  4. Apr 14:47 lost+found/
4,3M -rw-r--r--  1 root root 4,3M 11. Mai 22:23 vmlinuz-linux
4,2M -rw-r--r--  1 root root 4,2M 19. Mai 21:05 vmlinuz-linux-lts

अब, मुझे पहले से ही गैर-एलटीएस कर्नेल की ओर इशारा करते हुए प्रविष्टियां मिलीं, grub.cfgलेकिन हैडर मुझे इस फाइल को संपादित नहीं करने के लिए कहता है। यह मुझे grub-mkconfigइसके बजाय उपयोगिता की ओर इशारा करता है, लेकिन मैं यह पता नहीं लगा सकता कि इस उपकरण का उपयोग कैसे करें कि किस कर्नेल और रैमडिस्क का उपयोग करें।

आर्कब्लिनक्स को ग्रूट के साथ लेट्स कर्नेल पर कैसे स्विच करें? कर्नेल को स्विच करते समय मुझे और क्या सावधानी बरतनी चाहिए?


1
यह सबसे सरल आह्वान है। टूल को आपके मौजूदा कर्नेल (प्लस अतिरिक्त बिट्स जैसे रैमडिस्क, माइक्रोकोड आदि) को स्वचालित रूप से स्वचालित रूप से जोड़ना चाहिए और उन्हें जोड़ना चाहिए। यह आपको परिणामी grub.cfgफ़ाइल को कॉन्फ़िगर करने के तरीके का एक अच्छा अवलोकन देता है ।
जो

इसके अलावा, आप फ़ाइलों को प्रविष्टियों को जोड़ सकते हैं /etc/grub.d- यहाँ
जो

Grub-mkconfig चलाएं, जांचें कि आप grub.cfg में linux-lts के लिए एक श्लोक देखते हैं, और रिबूट करें।
fpmurphy

जवाबों:


23

ठीक है, के बाद जो ने मुझे टिप्पणियों में सही दिशा बताई, यह मैंने कैसे किया:

  1. मूल रूप से बस स्थापित करें pacman -S linux-lts

  2. (वैकल्पिक) जांचें कि क्या कर्नेल, रैमडिस्क और फॉलबैक में उपलब्ध हैं ls -lsha /boot

  3. मानक गिरी को हटा दें pacman -R linux

  4. ग्रब कॉन्फिगरेशन को अपडेट करें grub-mkconfig -o /boot/grub/grub.cfg

  5. रिबूट

ध्यान दें, syslinuxआपको /boot/syslinux/syslinux.cfgतदनुसार syslinux config फ़ाइल को संपादित करने की आवश्यकता होगी , बस -ltsकर्नेल को सब कुछ इंगित करें ।


1
ध्यान दें कि किसी को भी कर्नेल मॉड्यूल को अपने lts के साथ समान रूप से बदलने की आवश्यकता हो सकती है। जैसे अगर acpi_callपहले स्थापित किया गया था, तो संभवतः इसे स्थापित करना भी सबसे अच्छा है acpi_call-lts, अन्यथा मॉड्यूल लोड नहीं होगा।
22

4
FWIW आप चरण 3 को छोड़ सकते हैं और दोनों गुठली एक ही बार में स्थापित कर सकते हैं। मेरे लिए, ltsरिबूट करने के बाद डिफ़ॉल्ट रूप से चुना गया था, लेकिन मैं ग्रब में भी जा सकता था advanced optionsऔर इसके बजाय मानक कर्नेल का चयन कर सकता था।
स्पार्कहॉक

मेरा initramfs के बूट पर अटक गया और मुझे मैन्युअल रूप से चलना पड़ा sudo mkinitcpio -p linux-lts
लेटनाइटशेड

और मैं कैसे वापस स्विच करूं?
बेंज

3

अफरी का जवाब GRUB के लिए अच्छी तरह से काम करता है, लेकिन मैं सीधे यूईएफआई का उपयोग कर रहा हूं , जो अधिक हल्का है और यूईएफआई मदरबोर्ड का पूरा उपयोग करता है।

  1. इंस्टॉल करें linux-lts
  2. (वैकल्पिक) जाँचें कि एलटीएस संस्करण कर्नेल, रैमडिस्क और फ़ॉलबैक /bootफ़ोल्डर में उपलब्ध है या नहीं ।
  3. ईएफआई प्रविष्टि उत्पन्न करें, उसी तरह जैसे आपने नियमित लिनक्स एक उत्पन्न किया था, लेकिन एलटीएस वाले के साथ रैमडिस्क और लोडर को बदल दिया। उदाहरण के लिए:

    efibootmgr --disk /dev/sdX --part Y --create --label "Arch Linux LTS" --loader /vmlinuz-linux-lts --unicode 'root=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw initrd=\initramfs-linux-lts.img' --verbose
    

    --loaderमूल्य और initrdमूल्य पर ध्यान दें । ये फाइलें /bootफोल्डर में होनी चाहिए ।

  4. रीबूट। आप ऑपरेटिंग सिस्टम में बूट करने से पहले मदरबोर्ड में बूट ऑर्डर को समायोजित करना चाह सकते हैं, उदाहरण के लिए F12 (आपके कीबोर्ड पर निर्भर) दबाकर। मैं वास्तव में हाइपर-वी का उपयोग करता हूं, जो "हाइपर-वी प्रबंधक" में बूट ऑर्डर कॉन्फ़िगरेशन की अनुमति देता है।

  5. (वैकल्पिक) LTS कर्नेल में सफलतापूर्वक बूट होने के बाद (इसे सत्यापित करें uname -r), मानक कर्नेल को साथ निकालें pacman -R linux

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