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.
This tutorial walks us through the process of creating a simple REST controller with Spring Boot
Parce que je vais refaire du Spring Boot et du Hibernate 😥. Encore que Spring Boot ça va encore, c'est juste que ça rame au startup. D'ailleurs, nous devrions l'appeler Spring SlowBoot, ce serait plus parlant à mon avis.
Quand vous avez un dual boot, l'horloge de l'OS Linux est en UTC, celle de Windows ne l'est pas. Mécaniquement, Windows retardera d'une à deux heures dès que l'horloge Linux est réglée. Pour corriger le problème faites ceci (sous Linux évidemment) :
sudo gedit /etc/default/rcS
# Puis modifier
UTC=yes
# en
UTC=no
Et ce lien vers le même site qui parle aussi des changements apportés par Java 8 au niveau de la JVM.
Une liste de tuto Spring pour fabriquer des services REST (et bien d'autres choses aussi)
Des explications très utiles pour comprendre comment lancer un script au démarrage sous Linux, à quoi servent les Run Levels, comment exploiter à font le lanceur.
À lire et à conserver.