Bagaimana cara beralih arch linux ke lts kernel?

24

Saya sedang menjalankan instalasi server headless dari linux arch. Tingginya tingkat upgrade kernel membuat saya sakit kepala dan saya ingin beralih ke kernel lts .

Saya sudah menginstal linux-ltsdan linux-lts-headerspaket. Sekarang, saya sudah menginstal kedua kernel, tetapi saya agak tidak mengerti bagaimana melanjutkan dari sini. The docs menjelaskan :

[...] Anda harus memperbarui file konfigurasi bootloader Anda untuk menggunakan kernel LTS dan ram disk: vmlinuz-linux-ltsdan initramfs-linux-lts.img.

Saya sudah menemukannya di bagian boot:

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

Sekarang, saya sudah menemukan entri yang menunjuk ke kernel non-lts di grub.cfgtetapi header memberitahu saya untuk tidak mengedit file ini. Ini menunjuk saya ke utilitas, grub-mkconfigtetapi saya tidak tahu cara menggunakan alat ini untuk memberi tahu grub kernel dan ramdisk mana yang akan digunakan.

Bagaimana cara mengganti archlinux dengan grub ke kernel lts? Apa lagi yang harus saya perhatikan saat mengganti kernel?

Afr
sumber
1
ini adalah doa paling sederhana. alat ini seharusnya mengotolasikan kernel Anda yang sudah ada (ditambah bit tambahan seperti ramdisk, mikrokode, dll) dan secara otomatis menambahkannya. ini memberikan gambaran yang bagus tentang bagaimana Anda dapat mengkonfigurasi grub.cfgfile yang dihasilkan .
Joe
juga, Anda dapat menambahkan entri ke file di /etc/grub.d- lihat di sini
Joe
Jalankan grub-mkconfig, periksa apakah Anda melihat bait untuk linux-lts di grub.cfg, dan reboot.
fpmurphy

Jawaban:

23

Oke, setelah joe menunjuk saya ke arah yang benar dalam komentar, ini adalah bagaimana saya melakukannya:

  1. pada dasarnya hanya menginstal pacman -S linux-lts

  2. (opsional) periksa apakah kernel, ramdisk dan fallback tersedia di ls -lsha /boot

  3. hapus kernel standar pacman -R linux

  4. perbarui konfigurasi grub grub-mkconfig -o /boot/grub/grub.cfg

  5. reboot

Catatan, untuk itu syslinuxAnda perlu mengedit file konfigurasi syslinux di dalamnya /boot/syslinux/syslinux.cfg, cukup arahkan semuanya ke -ltskernel.

Afr
sumber
1
Perhatikan bahwa seseorang mungkin perlu mengganti modul kernel apa pun dengan yang setara dengannya. mis. jika acpi_callsebelumnya diinstal, mungkin lebih baik untuk menginstal acpi_call-lts, jika tidak modul tidak akan memuat.
Ponkadoodle
4
FWIW Anda dapat melewati langkah 3 dan menginstal kedua kernel sekaligus. Bagi saya, ltsdipilih secara default setelah reboot, tetapi saya juga bisa masuk ke grub advanced optionsdan memilih kernel standar sebagai gantinya.
Sparhawk
Milik saya macet saat boot initramfs dan saya harus menjalankannya secara manual sudo mkinitcpio -p linux-lts.
leetNightshade
dan bagaimana cara beralih kembali?
Benj
3

Jawaban dari Afri bekerja dengan baik untuk GRUB, tetapi saya menggunakan UEFI secara langsung , yang lebih ringan dan memanfaatkan motherboard UEFI sepenuhnya.

  1. Memasang linux-lts
  2. (opsional) Periksa apakah versi LTS dari kernel, ramdisk dan fallback tersedia dalam /bootfolder.
  3. Hasilkan entri EFI, dengan cara yang sama seperti Anda membuat yang Linux biasa, tetapi mengganti ramdisk dan loader dengan yang LTS. Sebagai contoh:

    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
    

    Catat --loadernilai dan initrdnilainya. File-file ini harus ada di /bootfolder.

  4. Mulai ulang. Anda mungkin ingin menyesuaikan urutan boot di motherboad sebelum mem-boot ke sistem operasi, misalnya dengan menekan F12 (tergantung pada motherboard Anda). Saya sebenarnya menggunakan Hyper-V, yang memungkinkan konfigurasi urutan boot di "Hyper-V Manager".

  5. (opsional) Setelah berhasil mem-boot ke kernel LTS (verifikasi dengan uname -r), hapus kernel standar dengan pacman -R linux.

Franklin Yu
sumber