I'm running a headless server installation of arch linux. The high rate of kernel upgrades caused me some maintainance headache and I therefore wish to switch to the lts kernel.

I already installed the linux-lts and linux-lts-headers packages. Now, I got both kernels installed but I'm a bit clueless how to continue from here. The docs explain:

[...] you will need to update your bootloader's configuration file to use the LTS kernel and ram disk: vmlinuz-linux-lts and initramfs-linux-lts.img.

I already located them in the boot section:

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

Now, I already found entries pointing to the non-lts kernel in the grub.cfg but the header tells me not to edit this file. It points me to the utility grub-mkconfig instead but I can not figure out how to use this tool to tell grub which kernel and ramdisk to use.

How to switch archlinux with grub to the lts kernel? What else do I have to be cautious about when switching the kernel?

  • 1
    this is the simplest invocation. the tool should autolocate your existing kernels (plus extra bits like ramdisk, microcode etc) and automatically add them. this gives a nice overview of how you can configure the resulting grub.cfg file.
    – Joe
    Commented May 21, 2016 at 12:10
  • also, you can add entries to files in /etc/grub.d - see here
    – Joe
    Commented May 21, 2016 at 12:20
  • Run grub-mkconfig, check that you see a stanza for linux-lts in grub.cfg, and reboot.
    – fpmurphy
    Commented May 21, 2016 at 12:55

5 Answers 5


Okay, after joe pointed me the right direction in comments, this is how I did it:

  1. basicly just install pacman -S linux-lts

  2. (optional) check if kernel, ramdisk and fallback are available in ls -lsha /boot

  3. remove the standard kernel pacman -R linux

  4. update the grub config grub-mkconfig -o /boot/grub/grub.cfg

  5. reboot

Note, for syslinux you'll need to edit the syslinux config file in /boot/syslinux/syslinux.cfg accordingly, just point everything to the -lts kernel.

  • 1
    Note that one may need to replace any kernel modules with their lts equivalent as well. e.g. if acpi_call was previously installed, it's probably best to also install acpi_call-lts, otherwise the module won't load. Commented Apr 9, 2017 at 22:03
  • 9
    FWIW you can skip step 3 and have both kernels installed at once. For me, lts was selected by default after rebooting, but I could also go into grub's advanced options and select the standard kernel instead.
    – Sparhawk
    Commented May 22, 2017 at 5:36
  • 1
    Mine got stuck at boot of initramfs and I had to manually run sudo mkinitcpio -p linux-lts. Commented Jul 23, 2018 at 2:08
  • 1
    and how do I switch back?
    – Benj
    Commented May 2, 2019 at 5:20
  • 2
    step 4 is critical, otherwise you have to manually edit grub at boot time in order to boot the correct kernel.
    – smac89
    Commented Apr 3, 2020 at 14:04

The answer from Afri works well for GRUB, but I’m using UEFI directly, which is more lightweight and makes full use of the UEFI motherboard.

  1. Install linux-lts
  2. (optional) Check if LTS version of kernel, ramdisk and fallback are available in /boot folder.
  3. Generate the EFI entry, the same way as you generated the regular Linux one, but replacing ramdisk and loader with the LTS ones. For example:

    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

    Note the --loader value and initrd value. These files should be in the /boot folder.

  4. Reboot. You may want to adjust the boot order in motherboad before booting into the operating system, for example by pressing F12 (depending on your motherboard). I actually use Hyper-V, which allows boot order configuration in "Hyper-V Manager".

  5. (optional) After successfully booting into the LTS kernel (verify it with uname -r), remove the standard kernel with pacman -R linux.

  1. Install linux-lts (or any other kernel):

    pacman -S linux-lts
  2. Update your boot loader entry:

    $ sudo vim /boot/loader/entries/arch.conf 

    and change:

    linux   /vmlinuz-linux
    initrd  /initramfs-linux.img
    linux   /vmlinuz-linux-lts
    initrd  /initramfs-linux-lts.img
  3. Reboot and confirm with uname -r
  • 2
    adding separate entry is an option ;) Keeping the latest and greatest one untouched.
    – Kamiccolo
    Commented Oct 27, 2022 at 13:45

Like Franklin Yu, I'm also on a system without GRUB. I needed to switch to a different kernel and haven't used efibootmgr before. I asked a more knowledgeable friend about this and he suggested the tool rEFInd, which automates the steps that Franklin suggested and presents you with a nice menu at boot time of which kernels you have available. The installation was totally straightforward and I was able to switch kernel versions easily.

  • 1
    In my machine (Arch Linux dual boot with Windows + rEFInd), after installing the lts kernel, I also need to edit refind_linux.conf: change initrd=/boot/initramfs-linux.img to initrd=/boot/initramfs-linux-lts.img.
    – dmn
    Commented Oct 23, 2020 at 17:41
  • refind supports arch without extra edits @dmn. i am doing below to install, especially the "extra_kernel_version_strings" is important. sorry for the extra post below, did not get it to format correctly in a comment.
    – soloturn
    Commented Sep 21, 2022 at 5:28

Thanks for this answer, daniel shapero. refind supports Arch without extra edits @dmn. I am doing the below to install refind, especially the "extra_kernel_version_strings" is important, the EFI directory is yours, does dual boot Windows as well automatically in case you have Windows on it, or other Linux distros:

pacman -S refind
mkdir -p /efi/EFI/Boot
cp /usr/share/refind/refind_x64.efi /efi/EFI/Boot/bootx64.efi
cp -r /usr/share/refind/drivers_x64/ /efi/EFI/Boot/
echo 'extra_kernel_version_strings linux,linux-hardened,linux-lts,linux-zen,linux-git;' > /efi/EFI/Boot/refind.conf
echo 'fold_linux_kernels false' >> /efi/EFI/Boot/refind.conf
echo 'default_selection "linux from"' >> /efi/EFI/Boot/refind.conf

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .