Ik “draai een headless serverinstallatie van arch linux. Het hoge aantal kernelupgrades bezorgde me wat onderhoudshoofdpijn en daarom wil ik overschakelen naar de lts kernel .
Ik heb de linux-lts
en linux-lts-headers
pakketten. Nu heb ik beide kernels geïnstalleerd, maar ik “had geen idee hoe ik vanaf hier verder moest gaan. De documenten leggen uit :
[…] die u nodig heeft om uw bootloader “s configuratiebestand om de LTS-kernel en ramdisk te gebruiken:
vmlinuz-linux-lts
eninitramfs-linux-lts.img
.
Ik heb ze al in de opstartsectie gevonden:
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
Nu heb ik al vermeldingen gevonden die naar de niet-lts-kernel verwijzen in de grub.cfg
maar de header vertelt me dit bestand niet te bewerken. Het verwijst me naar het hulpprogramma grub-mkconfig
maar ik kan er niet achter komen hoe deze tool te gebruiken om grub te vertellen welke kernel en ramdisk gebruikt moet worden.
Hoe archlinux met grub naar de lts-kernel te wisselen? Waar moet ik nog meer op letten bij het wisselen van de kernel?
Reacties
Answer
Oké, nadat Joe me in opmerkingen de goede richting had gewezen, is dit hoe ik het deed:
-
installeer in principe gewoon
pacman -S linux-lts
-
(optioneel) controleer of kernel, ramdisk en fallback beschikbaar zijn in
ls -lsha /boot
-
verwijder de standaard kernel
pacman -R linux
-
update de grub-configuratie
grub-mkconfig -o /boot/grub/grub.cfg
-
reboot
Let op, voor syslinux
moet je de syslinux-configuratie bewerken bestand in /boot/syslinux/syslinux.cfg
dienovereenkomstig, wijs alles naar de -lts
kernel.
Commentaren
- Merk op dat het nodig kan zijn om kernelmodules te vervangen door hun lts-equivalent . bijv. als
acpi_call
eerder was geïnstalleerd, is ' waarschijnlijk het beste om ookacpi_call-lts
te installeren, anders de module heeft ' t geladen. - FWIW je kunt stap 3 overslaan en beide kernels tegelijk installeren. Voor mij is
lts
standaard geselecteerd na het opnieuw opstarten, maar ik zou ook naar grub ' sadvanced options
en selecteer in plaats daarvan de standaard kernel. - De mijne liep vast bij het opstarten van initramfs en ik moest
sudo mkinitcpio -p linux-lts
handmatig uitvoeren. - en hoe schakel ik terug?
- stap 4 is kritiek, anders moet je grub tijdens het opstarten handmatig bewerken om de juiste kernel op te starten.
Answer
Het antwoord van Afri werkt goed voor GRUB, maar ik ben rechtstreeks gebruikmakend van UEFI , die lichter is en volledig gebruik maakt van het UEFI-moederbord.
- Installeer
linux-lts
- (optioneel) Controleer of de LTS-versie van de kernel, ramdisk en fallback beschikbaar zijn in de map
/boot
. -
Genereer de EFI-invoer, op dezelfde manier als u de normale Linux-invoer hebt gegenereerd, maar vervang de ram schijf en lader met de LTS-versies. Bijvoorbeeld:
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
Let op de
--loader
waarde eninitrd
waarde. Deze bestanden zouden in de/boot
map moeten staan. -
Herstart. Mogelijk wilt u de opstartvolgorde in het moederbord aanpassen voordat u het besturingssysteem opstart, bijvoorbeeld door op F12 te drukken (afhankelijk van uw moederbord). Ik gebruik eigenlijk Hyper-V, wat configuratie van opstartvolgorde in “Hyper-V Manager” mogelijk maakt.
-
(optioneel) Na het succesvol opstarten in de LTS-kernel (verifieer het met
uname -r
), verwijder de standaard kernel metpacman -R linux
.
Antwoord
-
Installeer
linux-lts
(of een andere kernel):pacman -S linux-lts
-
Update je bootloader-item:
$ sudo vim /boot/loader/entries/arch.conf
en verander:
linux /vmlinuz-linux initrd /initramfs-linux.img ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ linux /vmlinuz-linux-lts initrd /initramfs-linux-lts.img
- Herstart en bevestig met
uname -r
Antwoord
Net als Franklin Yu zit ik ook op een systeem zonder GRUB. nodig om over te schakelen naar een andere kernel en “efibootmgr niet eerder gebruikt. Ik vroeg een goed geïnformeerde vriend hierover en hij stelde de tool voor rEFInd , dat de stappen automatiseert die Franklin voorstelde en je tijdens het opstarten een mooi menu laat zien van welke kernels je beschikbaar hebt. De installatie was volkomen eenvoudig en ik was in staat om gemakkelijk van kernelversie te wisselen.
Opmerkingen
- Op mijn computer (Arch Linux dual boot met Windows + rEFInd ), na het installeren van de
lts
kernel, moet ik ookrefind_linux.conf
: changeinitrd=/boot/initramfs-linux.img
bewerken naarinitrd=/boot/initramfs-linux-lts.img
.
grub.cfg
bestand kunt configureren./etc/grub.d
– zie hier