Le temps de démarrage dépasse les 2 min 20
Le temps de démarrage est d'environ ~15 sec, on est donc à 2 min de trop. Après investigation cela vient du service systemd-udev-settle.service
qui est bloquant et qui part en timeout après 120 seconds quand il ne parvient pas à recevoir des notifications des autres services au démarrage qui quant à eux sont en mode non-bloquant.
Que faire ?
Saisir la commande suivante :
sudo systemctl mask systemd-udev-settle.service
La tablette ne s'arrête plus et reste bloquée sur une ligne de log du type "kvm: ..."
Cela vient du fait que la méthode d'arrêt de l'EFI de Microsoft ne supporte pas l'ACPI.
Que faire ?
1) Ouvrir le fichier /etc/default/grub
sudo nano /etc/default/grub
2) Modifier la ligne
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
En ceci
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi=off"
Puis exécuter la commande suivante pour mettre à jour Grub
sudo update-grub
L'installation de Mint a écrasé l'entrée Linpus dans l'UEFI donc il devient impossible de booter sur clef USB
Ce problème interviendra lorsqu'on voudra reformater la tablette. Il va donc falloir préparer le terrain pour l'avenir.
1) Réafficher les options de démarrage de GRUD
C'est aussi dans le fichier /etc/default/grub
. Il faut affecter ces valeurs aux variables suivantes :
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=3
Puis exécuter la commande suivante pour mettre à jour Grub
sudo update-grub
Cela permettra d'avoir un menu de 3 secondes au démarrage pour accéder à l'EFI de la tablette.
2) Changer l'ordre de boot via l'efibootmgr
J'ai ceci
$ sudo efibootmgr
BootCurrent: 001
Timeout: 0 seconds
BootOrder: 0001,2001,2002
Boot0001* Linut Mint
Boot2001* EFI USB Device
Boot2002* EFI Network
Je veux donc mettre 2001 avant 0001 ce qui se fait via la commande
sudo efibootmgr -o 2001,0001,2002
En substance, je souhaite mettre à jour le Linux de ma Surface Go 2 qui a maintenant plus 3 ans.
Quel est le problème ?
Microsoft... J'aurai pu m'arrêter car à celle seule, la firme de Redmond est un problème.. Dans l'idée, l'accès à l'UEFI ne permet pas de choisir l'USB comme périphérique bootable. Il faut donc trouver autre chose
Solution
Depuis une console vous aller lister toutes les périphériques accessible via UEFI
$ sudo efibootmgr
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0000,0001,2002,2001
Boot0000* Linux Mint
Boot0001* Linpus
Boot2001* EFI USB Device
Boot2002* EFI Network
Ensuite il faut choisir le numéro associé à Linpus pour les Surface Go 2 de Microsoft et dire à efibootmgr
de booter dessus, si une clef USB est branchée, lors du prochain démarrage.
sudo efibootmgr --bootnext 0001
sudo systemctl reboot
A noter que seul l'ID de l'entrée compte donc pour Boot0001 on utilise que 0001.