如何将Arch Linux切换到LTS内核?


24

我正在运行Arch Linux的无头服务器安装。较高的内核升级率使我有些维护困难,因此我希望切换到lts内核

我已经安装了linux-ltslinux-lts-headers软件包。现在,我已经安装了两个内核,但是我不知道如何从这里继续。该文档解释

[...]您将需要更新引导程序的配置文件以使用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但是我无法弄清楚如何使用此工具告诉grub使用哪个内核和ramdisk。

如何将带有grub的archlinux切换到lts内核?切换内核时我还需要注意什么?


1
是最简单的调用。该工具应自动定位您现有的内核(加上ramdisk,微码等额外的位)并自动添加它们。很好地概述了如何配置结果grub.cfg文件。

此外,您也可以在以下位置向文件中添加条目/etc/grub.d-参见此处

运行grub-mkconfig,检查是否在grub.cfg中看到linux-lts的节,然后重新启动。
fpmurphy '16

Answers:


23

好吧,在乔为我指出正确的评论方向之后,我就是这样做的:

  1. 基本上只是安装 pacman -S linux-lts

  2. (可选)检查内核,ramdisk和回退是否可用于 ls -lsha /boot

  3. 删除标准内核 pacman -R linux

  4. 更新grub配置 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 advanced options并选择标准内核。
Sparhawk

我的卡在initramfs的启动上,我必须手动运行sudo mkinitcpio -p linux-lts
leetNightshade

以及如何切换回去?
Benj

3

来自Afri的答案对于GRUB效果很好,但是我直接使用UEFI,它更轻巧并且充分利用了UEFI主板。

  1. 安装 linux-lts
  2. (可选)检查/boot文件夹中是否提供LTS版本的内核,ramdisk和fallback 。
  3. 生成EFI条目的方法与生成常规Linux相同,只是用LTS替换ramdisk和loader。例如:

    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键(取决于您的主板)来调整主板的引导顺序。我实际上使用的是Hyper-V,它允许在“ Hyper-V管理器”中配置引导顺序。

  5. (可选)成功引导到LTS内核(使用验证uname -r)之后,使用删除标准内核pacman -R linux

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.