Bonjour
En créant une entrée dans le menu grub pour lancer linux sans interface graphique, j'ai été confronté au problème du clavier qwerty.
De nombreuses solutions (pas toujours efficaces) sont proposées sur Internet.
Je suis finalement arrivé a mes fins mais un problème demeure.
L'activation du clavier fr bloque le décompte du GRUB_TIMEOUT et il faut appuyer sur une touche pour le lancer.
Ce n'est pas très pratique et le responsable est.Code:GRUB_TERMINAL_INPUT=at_keyboard
Pour remédier au problème, vu que je n'utilise le clavier qu'en mode commande, j'ai créer une fonction dans 40-custom :
Comme ça, quand je suis dans grub, j'appuie sur c pour passer en ligne de commande.Code:
1
2
3
4
5
6
7 # Pour le clavier fr ou autre function kbd { insmod keylayouts insmod at_keyboard terminal_input at_keyboard keymap $1 }
Je rentrepuis je presse entrée.Code:kbd fr
Ma fonction est exécutée et mon clavier azerty est reconnu.
Je suis ici aussi obligé d'appuyer sur une touche avant que le clavier fonctionne correctement.
Il est aussi possible de choisir un autre type de clavier avec la commandepar exempleCode:kbd ca
Pour que ça fonctionne et que ce soit complet, il faut d"abord créer un fichier de clavier.
grub va chercher les fichiers dans /boot/grub/layouts/
l'extension doit être .gkb
Pour créer le fichier de disposition du clavier Français :
clavier canadienCode:grub-kbdcomp -o /boot/grub/layouts/fr.gkb fr
clavier russeCode:grub-kbdcomp -o /boot/grub/layouts/ca.gkb ca
mais attention, ça ne fonctionne pas avec ru.Code:grub-kbdcomp -o /boot/grub/layouts/ru.gkb ru
J'ai aussi essayé avec de et gr sans résultat !
Peut être que sans le clavier correspondant ?
J'ai essayé d'utiliser sendkey mais ça ne fonctionne pas car sendkey charge les touches dans le buffer clavier qui sera transmis au kernel lancé.
Je ne peut pas passer directement en mode édition en pressant e car là le clavier est en qwerty, je suis obligé de passer par l'étape c.
Si quelqu'un a un début de commencement d'idée pour résoudre ce problème ?
Merci.
Bon puis pour finir en attendant les nombreuses suggestions qui vont bientôt pleuvoir.
Pour obtenir une ligne dans grub permettant de lancer le dernier noyau linux sans interface graphique :
Il faut modifier le fichier 10_linux.
Presqu'à la fin, il faut insérer ces lignes.
Attention, ceci ne fonctionne pas si les sous-menus sont désactivés par GRUB_DISABLE_SUBMENU=yCode:
1
2
3
4
5
6
7
8 if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then linux_entry "${OS}" "${version}" simple \ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" #lignes a inserer linux_entry "${OS} en ligne de commande" "${version}" simple \ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT} 3" #fin de lignes a inserer submenu_indentation="$grub_tab"
Cordialement.
