Estoy ejecutando una instalación de servidor sin cabeza de arch linux. La alta tasa de actualizaciones del kernel me causó un dolor de cabeza de mantenimiento y, por lo tanto, deseo cambiar a lts kernel .
Ya instalé linux-lts
y linux-lts-headers
paquetes. Ahora, tengo ambos núcleos instalados pero no tengo ni idea de cómo continuar desde aquí. Los documentos explican :
[…] necesitará actualizar su archivo de configuración del gestor de arranque para usar el kernel LTS y el disco ram:
vmlinuz-linux-lts
yinitramfs-linux-lts.img
.
Ya los ubiqué en la sección de arranque:
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
Ahora, ya encontré entradas que apuntan al kernel que no es lts en el grub.cfg
pero el encabezado me dice que no edite este archivo. Me apunta a la utilidad grub-mkconfig
en su lugar, pero no puedo entender cómo usar esta herramienta para decirle a grub qué kernel y ramdisk usar.
¿Cómo cambiar archlinux con grub al kernel lts? ¿Con qué más debo tener cuidado al cambiar el kernel?
Comentarios
Responder
Bien, después de que Joe me indicó la dirección correcta en los comentarios, así es como lo hice:
-
Básicamente, solo instala
pacman -S linux-lts
-
(opcional) compruebe si el kernel, el disco ram y el respaldo están disponibles en
ls -lsha /boot
-
eliminar el kernel estándar
pacman -R linux
-
actualizar la configuración de grub
grub-mkconfig -o /boot/grub/grub.cfg
-
reboot
Nota, para syslinux
necesitará editar la configuración de syslinux archivo en /boot/syslinux/syslinux.cfg
en consecuencia, solo apunte todo al -lts
kernel.
Comentarios
- Tenga en cuenta que puede ser necesario reemplazar cualquier módulo del kernel por su equivalente en lts . p.ej. Si
acpi_call
se instaló anteriormente, probablemente ' es mejor instalar tambiénacpi_call-lts
, de lo contrario el módulo ' t no se cargó. - FWIW, puede omitir el paso 3 y tener ambos núcleos instalados a la vez. Para mí,
lts
se seleccionó de forma predeterminada después de reiniciar, pero también podría ingresar a grub ' sadvanced options
y seleccione el kernel estándar en su lugar. - El mío se atascó al arrancar initramfs y tuve que ejecutar manualmente
sudo mkinitcpio -p linux-lts
. - y ¿cómo cambio hacia atrás?
- El paso 4 es fundamental, de lo contrario, debe editar grub manualmente en el momento del arranque para arrancar el kernel correcto.
Respuesta
La respuesta de Afri funciona bien para GRUB, pero soy usando UEFI directamente , que es más liviano y hace un uso completo de la placa base UEFI.
- Instale
linux-lts
- (opcional) Verifique si la versión LTS del kernel, ramdisk y fallback están disponibles en la carpeta
/boot
. -
Genere la entrada EFI, de la misma manera que generó la entrada normal de Linux, pero reemplazando la ram disco y cargador con los LTS. Por ejemplo:
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
Tenga en cuenta el valor de
--loader
yinitrd
valor. Estos archivos deben estar en la carpeta/boot
. -
Reinicie. Es posible que desee ajustar el orden de inicio en la placa base antes de iniciar el sistema operativo, por ejemplo, presionando F12 (dependiendo de su placa base). De hecho, uso Hyper-V, que permite la configuración del orden de arranque en «Hyper-V Manager».
-
(opcional) Después de arrancar con éxito en el kernel LTS (verifíquelo con
uname -r
), elimine el kernel estándar conpacman -R linux
.
Responder
-
Instalar
linux-lts
(o cualquier otro kernel):pacman -S linux-lts
-
Actualice la entrada del cargador de arranque:
$ sudo vim /boot/loader/entries/arch.conf
y cambia:
linux /vmlinuz-linux initrd /initramfs-linux.img ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ linux /vmlinuz-linux-lts initrd /initramfs-linux-lts.img
- Reinicia y confirma con
uname -r
Responder
Como Franklin Yu, también estoy en un sistema sin GRUB. Yo necesitaba cambiar a un kernel diferente y no había usado efibootmgr antes. Le pregunté a un amigo con más conocimientos sobre esto y sugirió la herramienta rEFInd , que automatiza los pasos que sugirió Franklin y le presenta un menú agradable en el momento del arranque de los núcleos que tiene disponibles. La instalación fue totalmente sencilla y pude cambiar las versiones del kernel fácilmente.
Comentarios
- En mi máquina (Arranque dual de Arch Linux con Windows ), después de instalar el
lts
kernel, también necesito editarrefind_linux.conf
: changeinitrd=/boot/initramfs-linux.img
ainitrd=/boot/initramfs-linux-lts.img
.
grub.cfg
resultante./etc/grub.d
– consulte aquí