วิธีการเปลี่ยน arch linux เป็น lts kernel?


24

ฉันกำลังเรียกใช้การติดตั้งเซิร์ฟเวอร์หัวขาดของ arch linux อัตราที่สูงของการอัพเกรดเคอร์เนลทำให้ฉันปวดหัวบางบำรุงรักษาและฉันจึงต้องการที่จะสลับไปยังLTS เคอร์เนล

ฉันติดตั้งlinux-ltsและlinux-lts-headersแพ็คเกจแล้ว ตอนนี้ฉันได้รับการติดตั้งทั้งสองเมล็ดแล้ว แต่ฉันไม่รู้จะทำอย่างไรต่อไปจากที่นี่ เอกสารอธิบาย :

[ ... ] คุณจะต้องอัปเดตการตั้งค่าไฟล์ bootloader ของคุณเพื่อใช้ LTS เคอร์เนลและดิสก์ RAM: และvmlinuz-linux-ltsinitramfs-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

ตอนนี้ฉันได้พบรายการที่ชี้ไปยังเคอร์เนลที่ไม่ใช่ lts ในgrub.cfgส่วนหัว แต่ส่วนหัวบอกว่าฉันไม่ต้องแก้ไขไฟล์นี้ มันชี้ให้ฉันไปที่ยูทิลิตี้grub-mkconfigแทน แต่ฉันไม่สามารถหาวิธีการใช้เครื่องมือนี้เพื่อบอกด้วงที่เคอร์เนลและ ramdisk ที่จะใช้

วิธีการเปลี่ยน archlinux ด้วยด้วงเป็นเคอร์เนล lts? ฉันต้องระวังอะไรอีกเมื่อเปลี่ยนเคอร์เนล?


1
นี่เป็นการเรียกที่ง่ายที่สุด เครื่องมือควรเปลี่ยนเมล็ดที่มีอยู่ของคุณโดยอัตโนมัติ (รวมทั้งบิตพิเศษเช่น ramdisk, ไมโครโค้ด ฯลฯ ) และเพิ่มโดยอัตโนมัติ นี่จะให้ภาพรวมที่ดีว่าคุณสามารถกำหนดค่าgrub.cfgไฟล์ผลลัพธ์ได้อย่างไร
Joe

นอกจากนี้คุณยังสามารถเพิ่มรายการในไฟล์ใน/etc/grub.d- ดูที่นี่
Joe

เรียกใช้ grub-mkconfig ตรวจสอบว่าคุณเห็น stanza สำหรับ linux-lts ใน grub.cfg และรีบูต
fpmurphy

คำตอบ:


23

โอเคหลังจากโจชี้ให้ฉันเห็นทิศทางที่ถูกต้องในความคิดเห็นนี่คือวิธีที่ฉันทำ:

  1. เพียงแค่ติดตั้ง pacman -S linux-lts

  2. (ทางเลือก) ตรวจสอบว่าเคอร์เนล ramdisk และ fallback มีให้บริการหรือไม่ ls -lsha /boot

  3. ลบเคอร์เนลมาตรฐาน pacman -R linux

  4. ปรับปรุงการกำหนดค่าด้วง grub-mkconfig -o /boot/grub/grub.cfg

  5. รีบูต

หมายเหตุสำหรับsyslinuxคุณจะต้องแก้ไขไฟล์กำหนดค่า syslinux /boot/syslinux/syslinux.cfgเพียงชี้ทุกอย่างไปยัง-ltsเคอร์เนล


1
โปรดทราบว่าอาจจำเป็นต้องแทนที่โมดูลเคอร์เนลใด ๆ ด้วย lts เทียบเท่าเช่นกัน เช่นถ้าacpi_callติดตั้งไว้ก่อนหน้านี้อาจเป็นการดีที่สุดที่จะติดตั้งacpi_call-ltsมิฉะนั้นโมดูลจะไม่โหลด
Ponkadoodle

4
FWIW คุณสามารถข้ามขั้นตอนที่ 3 และติดตั้งทั้งสองเมล็ดได้ในคราวเดียว สำหรับฉันltsถูกเลือกโดยค่าเริ่มต้นหลังจากรีบูตเครื่อง แต่ฉันสามารถไปที่ grub's advanced optionsแล้วเลือกเคอร์เนลมาตรฐานแทน
Sparhawk

เหมืองแร่ได้ติดอยู่ที่บูตของ initramfs sudo mkinitcpio -p linux-ltsและผมต้องทำงานด้วยตนเอง
leetNightshade

และฉันจะเปลี่ยนกลับได้อย่างไร
Benj

3

คำตอบจาก Afriทำงานได้ดีสำหรับ GRUB แต่ฉันใช้ UEFI โดยตรงซึ่งมีน้ำหนักเบากว่าและใช้เมนบอร์ด UEFI ได้อย่างเต็มที่

  1. ติดตั้ง linux-lts
  2. (ไม่บังคับ) ตรวจสอบว่าเคอร์เนลรุ่น LTS, ramdisk และ fallback มีอยู่ใน/bootโฟลเดอร์หรือไม่
  3. สร้างรายการ EFI เช่นเดียวกับที่คุณสร้าง Linux ปกติ แต่แทนที่ ramdisk และตัวโหลดด้วยรายการ LTS ตัวอย่างเช่น:

    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. Reboot คุณอาจต้องการปรับลำดับการบู๊ตเป็น motherboad ก่อนที่จะทำการบูทเข้าสู่ระบบปฏิบัติการตัวอย่างเช่นโดยกด F12 (ขึ้นอยู่กับเมนบอร์ดของคุณ) ฉันใช้ Hyper-V จริงซึ่งอนุญาตให้กำหนดค่าการบูตใน "Hyper-V Manager"

  5. (ไม่จำเป็น) หลังจากประสบความสำเร็จบูตเข้าเคอร์เนล LTS (ยืนยันด้วยuname -r) pacman -R linuxเอาเคอร์เนลกับมาตรฐาน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.