Proxmox Changer de kernel au boot

Bambusa29

Chevalier Jedi
10 Avril 2022
343
149
83
Petit tuto rapide pour changer de kernel au lancement de Proxmox.

1) Lister les kernel présent :

Pour voir les kernels présent sur votre proxmox, tapez la commande :

Code:
dpkg --list| grep 'pve-kernel-.*-pve' | awk '{print $2}' | sort -V

Chez moi, cela donne cà (j'ai fais un peu de ménage) :

Code:
pve-kernel-6.1.15-1-pve
pve-kernel-6.2.16-3-pve
pve-kernel-6.2.16-4-pve

L’ordre de la liste précédente est importante. Le 1er kernel de la liste aura l'index 0, le deuxième l'index 1 et ainsi de suite.

2) Faire du ménage :

Si l'on veut en profiter pour faire du ménage, on peut le faite via la commande 'purge'.
Par exemple si je souhaite retirer le kernel 6.2.16-3 de la liste :

Code:
sudo apt-get purge pve-kernel-6.2.16-3

3) Modifier le kernel au démarrage de Proxmox :

Maintenant que nous avons la liste des kernel, nous allons modifier le fichier de configuration du Grub.

Pour cela tapez la commande suivante avec les privilèges 'root' :

Code:
nano /etc/default/grub

Vous deviez avoir les lignes suivantes :

Code:
GRUB_DEFAULT=0 # Indice du Kernel lancé au démarrage
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""

Chez moi, j'ai mis l'index 0 qui correspond au Kernel 'pve-kernel-6.1.15-1-pve'

Vous devez modifier l'index du Kernel via la ligne 'GRUB_DEFAULT'.
Une fois que cal est fait, il faut reconstruire le Grub en tapant la commande :

Code:
update-grub

Remarque : vous pouvez tester un Kernel en relancant la machine sans modifier la configuration du Grub via la commande (en remplaçant la variable index par son numéro) :

Code:
grub-reboot index
 
Dernière édition:
  • J'adore
  • J'aime
Réactions: pierre liths et EVO
Un petit ajout sympa serait de paramétrer le grub pour avoir le choix entre plusieurs kernel au boot. En fail safe disons.
Tu penses que tu pourrais ajouter ça à ton tuto ?
Merci en tout cas 😇
 
Un petit ajout sympa serait de paramétrer le grub pour avoir le choix entre plusieurs kernel au boot. En fail safe disons.
Tu penses que tu pourrais ajouter ça à ton tuto ?
Merci en tout cas 😇

Sur un pPoxmox, je ne sais pas ce que donne le reboot, je n'ai pas d'écran de brancher

Sur mon poste perso qui est sous Debian12 et qui a exactement le même fichier de configuration Grub, j'ai un menu avec un TimeOut.

Il faut aller dans la 2ème ligne 'Advanced options for debian GNU/Linux" pour accéder au choix des Kernel.

Normalement quand tu reconstruit le grub, il régénère la liste des images trouvées dans le répertoire '/boot' :

Code:
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.2.16-4-pve
Found initrd image: /boot/initrd.img-6.2.16-4-pve
Found linux image: /boot/vmlinuz-6.2.16-3-pve
Found initrd image: /boot/initrd.img-6.2.16-3-pve
Found linux image: /boot/vmlinuz-6.1.15-1-pve
Found initrd image: /boot/initrd.img-6.1.15-1-pve
Found memtest86+ 64bit EFI image: /boot/memtest86+x64.efi
Adding boot menu entry for UEFI Firmware Settings ...
done
 
Petite question, comment on installe un ancien kernel ? Je n'ai que le noyau suivant de disponible :
6.2.16-3-pve
A priori, le dernier kernel qui fonctionne bien avec debian 11 est la version 5.15
 
Ca ne fonctionne pas
J'ai le retour suivant :

Code:
root@prox:~# apt install pve-kernel-5.15
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package pve-kernel-5.15
E: Couldn't find any package by glob 'pve-kernel-5.15'
root@prox:~#
 
Ca ne fonctionne pas
J'ai le retour suivant :

Code:
root@prox:~# apt install pve-kernel-5.15
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package pve-kernel-5.15
E: Couldn't find any package by glob 'pve-kernel-5.15'
root@prox:~#
Ce kernel que tu veux installer , ne serait-il pas un vieux kernel pour la version 11 de debian ?
Et donc indisponible sur la version 12 ?
 
  • J'aime
Réactions: EVO
C'est ce qui m'a été proposé en effet suite à mon problème de pilotes de carte réseau non pris en charge par le Kernel 6.xx on m'a incité à installer debian 12 en modifiant le Kernel pour revenir à une version précédente, à priori version 5.15. D'où ce tuto dont je remercie Bambusa.
Mais si Debian 12 n'est pas compatible avec les anciennes versions de Kernel... alors je vais rester du coup sur debian11/Proxmox7.4/Kernel 5.xx
 
Alors @Bambusa29 a indiquer utiliser : 6.1.15-1

Code:
apt install pve-kernel-6.1.15-1
 
  • J'aime
Réactions: Bambusa29
J'ai le même message d'erreur avec cette version :
Code:
root@prox:~# apt install pve-kernel-6.1.15-1
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package pve-kernel-6.1.15-1
E: Couldn't find any package by glob 'pve-kernel-6.1.15-1'
root@prox:~#
 
J'ai le même message d'erreur avec cette version :
Code:
root@prox:~# apt install pve-kernel-6.1.15-1
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package pve-kernel-6.1.15-1
E: Couldn't find any package by glob 'pve-kernel-6.1.15-1'
root@prox:~#

Le kernel 6.1.x a été proposé avec les dernières versions de Proxmox 7.x et n'est plus dans les dépôts du 8.x

Pour l'installer ponctuellement :

Code:
cd /etc/apt/sources.list.d
nano 'ton fichier de conf des depots'

et tu rajoute la ligne suivante :

Code:
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription

Puis tu fais un 'sudo apt update'

Et maintenant :

Code:
sudo apt install pve-kernel-6.1

Pour finir enleve le dépot 'bullseye' et refait un 'sudo apt update'
 
Alors ça y est je suis parvenu à installer le noyau pve-kernel-6.1.15-1
Puis je suis revenu au début de ce tuto, mais impossible de booter sur la version pve-kernel-6.1.15-1-pve

Code:
root@prox:~# uname -r
6.2.16-3-pve
root@prox:~# dpkg --list| grep 'pve-kernel-.*-pve' | awk '{print $2}' | sort -V
pve-kernel-6.1.15-1-pve
pve-kernel-6.2.16-3-pve
root@prox:~# nano /etc/default/grub
root@prox:~# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.2.16-3-pve
Found initrd image: /boot/initrd.img-6.2.16-3-pve
Found linux image: /boot/vmlinuz-6.1.15-1-pve
Found initrd image: /boot/initrd.img-6.1.15-1-pve
Found memtest86+ 64bit EFI image: /boot/memtest86+x64.efi
Adding boot menu entry for UEFI Firmware Settings ...
done
root@prox:~# reboot
root@prox:~# Connection to 192.168.1.100 closed by remote host.
Connection to 192.168.1.100 closed.
pierre@M3800:~$ sudo ssh root@192.168.1.100 -p 22
root@192.168.1.100's password:
Linux prox 6.2.16-3-pve #1 SMP PREEMPT_DYNAMIC PVE 6.2.16-3 (2023-06-17T05:58Z) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Sep  6 18:05:11 2023 from 192.168.1.69
root@prox:~# uname -r
6.2.16-3-pve

Quand ça veut pas...:rolleyes:
 
Alors ça y est je suis parvenu à installer le noyau pve-kernel-6.1.15-1
Puis je suis revenu au début de ce tuto, mais impossible de booter sur la version pve-kernel-6.1.15-1-pve

Code:
root@prox:~# uname -r
6.2.16-3-pve
root@prox:~# dpkg --list| grep 'pve-kernel-.*-pve' | awk '{print $2}' | sort -V
pve-kernel-6.1.15-1-pve
pve-kernel-6.2.16-3-pve
root@prox:~# nano /etc/default/grub
root@prox:~# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.2.16-3-pve
Found initrd image: /boot/initrd.img-6.2.16-3-pve
Found linux image: /boot/vmlinuz-6.1.15-1-pve
Found initrd image: /boot/initrd.img-6.1.15-1-pve
Found memtest86+ 64bit EFI image: /boot/memtest86+x64.efi
Adding boot menu entry for UEFI Firmware Settings ...
done
root@prox:~# reboot
root@prox:~# Connection to 192.168.1.100 closed by remote host.
Connection to 192.168.1.100 closed.
pierre@M3800:~$ sudo ssh root@192.168.1.100 -p 22
root@192.168.1.100's password:
Linux prox 6.2.16-3-pve #1 SMP PREEMPT_DYNAMIC PVE 6.2.16-3 (2023-06-17T05:58Z) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Sep  6 18:05:11 2023 from 192.168.1.69
root@prox:~# uname -r
6.2.16-3-pve

Quand ça veut pas...:rolleyes:

Peut tu poster le contenu de ton fichier '/etc/default/grub' ?
 
Le voici :

Code:
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
 
Le voici :

Code:
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
Je vais refaire le tuto, il n'est pas bon...

Après avoir lu la doc Proxmox; tout est expliqué ici : Proxmox_boot_loader

'GRUB_DEFAULT' indique le menu par défaut (utile quand il y a du multi boot, sinon doit être 0) et pas le Kernel par défaut. Je ne sais plus donc comment j'avais procéder pour avoir le 6.1.x par défaut; j'ai du oublier une commande supplémentaire quand j'avais pris des notes...

Donc sur Proxmox, il faut plutôt utiliser la commande suivante :

Code:
sudo proxmox-boot-tool kernel pin 6.1.15-1-pve

Et cela va régénérer le grub.

EDIT : je viens de mettre à jour mon serveur proxmox, il me dit :

Code:
$ sudo proxmox-boot-tool kernel list                                                                                                                                   1 ✘  yannick@proxmox1  23:02:01 

Manually selected kernels:
None.

Automatically selected kernels:
6.1.15-1-pve
6.2.16-12-pve
6.2.16-4-pve

Pinned kernel:
6.1.15-1-pve
 
Dernière édition:
Après un paquets de recherches, j'ai trouvé comment faire pour démarrer sur le kernel 6.1.15-1-pve au lieu de 6.2.16-12-pve sur debian 12/Proxmox 8
Voici le lien vers le tuto qui fonctionne pour moi
Change default kernel in GRUB

@Bambusa29 :
En fait c'était ta première ligne de ton tuto qui induit en erreur
En effet, ce qu'il faut comprendre c'est que dans le fichier
/etc/default/grub
la modification de la ligne
Code:
GRUB_DEFAULT=
permet de simuler le clavier pour choisir le kernel au démarrage. Il peut y avoir plusieurs sous menus et plusieurs lignes pour le même kernel. Du coup, pour moi cela a fonctionné avec
Code:
GRUB_DEFAULT='1>2'
 
  • J'aime
Réactions: Bambusa29
Après un paquets de recherches, j'ai trouvé comment faire pour démarrer sur le kernel 6.1.15-1-pve au lieu de 6.2.16-12-pve sur debian 12/Proxmox 8
Voici le lien vers le tuto qui fonctionne pour moi
Change default kernel in GRUB

@Bambusa29 :
En fait c'était ta première ligne de ton tuto qui induit en erreur
En effet, ce qu'il faut comprendre c'est que dans le fichier
/etc/default/grub
la modification de la ligne
Code:
GRUB_DEFAULT=
permet de simuler le clavier pour choisir le kernel au démarrage. Il peut y avoir plusieurs sous menus et plusieurs lignes pour le même kernel. Du coup, pour moi cela a fonctionné avec
Code:
GRUB_DEFAULT='1>2'

J´utilise maintenant cette méthode spécifique a Proxmox qui est plus simple :

Pour sélectionner le Kernel à utiliser :
Code:
sudo proxmox-boot-tool kernel pin 6.1.15-1-pve

et pour vérifier les kernel installés :

Code:
sudo proxmox-boot-tool kernel list
 
  • J'aime
Réactions: pierre liths
J´utilise maintenant cette méthode spécifique a Proxmox qui est plus simple :

Pour sélectionner le Kernel à utiliser :
Code:Copier dans le presse-papier
sudo proxmox-boot-tool kernel pin 6.1.15-1-pve

et pour vérifier les kernel installés :

Code:Copier dans le presse-papier
sudo proxmox-boot-tool kernel list
J'ai testé une pair de fois cette méthode, mais je ne sais pas pourquoi, elle ne fonctionne pas dans mon cas.

@Bambusa29
Encore merci pour ton aide, je me retrouve aujourd'hui avec la dernière version de Proxmox, et ça marche.
 
J'ai testé une pair de fois cette méthode, mais je ne sais pas pourquoi, elle ne fonctionne pas dans mon cas.

@Bambusa29
Encore merci pour ton aide, je me retrouve aujourd'hui avec la dernière version de Proxmox, et ça marche.

J´ai voulu tester à nouveau la toute nouvelle version du Kernel installer par Proxmox et mes deux machines ont plantés pendant que j´étais en weekend... :(
 
  • Triste
Réactions: EVO