Grub2 et azerty

J’ai petit problème avec grub2, pourquoi ça marche pas ?

Je cherche à franciser un peu plus mon squeeze fraichement planté^Winstallé et bloque sur un petit bug de grub2 : un seul keymap est géré (devinez: ça commence par q, fini par y).
J’ai trouvé des solutions pour Grub Le Premier à base de setkey, mais junior n’en veut pas.

Dans les sources de grub2, il y a une belle table contenant le clavier dans at_keyboard.c, que l’on retrouve facilement en strings-ant at_keyboard.mod et dont la sed-ition (sed s/qwerty/azerty/ etc…) devrait faire l’affaire, mais…
au boot, le module n’est pas chargé, et grub continue son chqrqbiq. Pis, lorsque j’inssère manuellement le module, le vt
de linux commence à causer qwerty aussi.

Des idées ?

http://forum.debian-fr.org/viewtopic.php?f=3&t=21729

A priori je suis parti d’une installation déja totalement francisée et fonctionnelle, mais la modification du mappage de grub2 a eu, bizarrement, des conséquences sur l’OS (en tout cas sur les vt). Le problème n’ést pas de configurer squeeze, mais grub2 pour le clavier azerty.

Et j’ai trouvé comment faire pour résoudre ça :

GRUB_TERMINAL_INPUT=at_keyboard

ajouté a /etc/default/grub permet de charger le module automatiquement dans grub et, fortuitement mais heureusement, de laisser intact le mappage de l’OS :).

Je tiens une piste pour avoir un mappage azerty sous grub2. Il ne me reste qu’un peu de relocalisation de touche à faire. Et sans doute quelques tests.

Merci pour le lien; il m’a confirmé qu’il n’y a que la recompilation de grub avec une table azerty, ou bien le charcutage sauvage à grands coups de sed pour arriver à mes fins :).

Attention, ce qui suit est une bidouille franchement ignoble…

J’ai réeussi à utiliser le codage azerty dans grub2 en modifiant le module /boot/grub/at_keyboard.mod :

[code]# sed -i’.orig’ “s/1234567890-=/&~”’(-`\@)=/
s/!@#$%^&*()
+/1234567890#+/
s/qwertyuiop…/azertyuiop^$/
s/QWERTYUIOP{}/AZERTYUIOP{}/
s/asdfghjkl;…/qsdfghjklm[</
s/ASDFGHJKL:…/QSDFGHJKLM%>/
s/.zxcvbnm,…/]wxcvbn,;:!/
s/.ZXCVBNM<>./*WXCVBN?./|/" /boot/grub/at_keyboard.mod

sed -i’.orig’ “$ a’GRUB_TERMINAL_INPUT=at_keyboard’” /etc/default/grub

update-grub

[/code]

C’est crade mais ça fonctionne, et il n’y a plus l’effet de bord du premier post. Et ça mériterait sans doute d’être testé plus longuement.
Il aurait été bien plus propre (et dans la façon debian) de modifier le source du module, mais ça implique de recompiler-réinstaller-toussa et ça m’amuse moins :).

Pour revenir au codage qwerty :

[code]# mv /boot/grub/at_keyboard.mod.orig /boot/grub/at_keyboard.mod

mv /etc/default/grub.orig /etc/default/grub

update-grub

[/code]

Avertissement : Si vous ne comprenez pas ce que vous faites, ne le faites pas.

Je comprends ton problème et il m’est arrivé de pester aussi sur ce qwerty de grub mais franchement, ça t’arrive combien de fois par an de devoir éditer Grub ?
On ne se sert de cette fonction que pour tester quelque chose et une fois le test terminé, on modifie dans les fichier ad-hoc pour pérenniser l’affaire.

Je suis d’accord avec toi, cela arrive rarement de reconfigurer le boot via la console de grub.
Lorsque je le fais, j’ai en général l’idée que tester avant de modifier ma configuration va me faire gagner du temps… si je n’ai pas sans cesse à corriger les commandes que je viens d’entrer.

En bref, ce genre de bug me disperse. Hier soir je voulais bêtement tester un splqsh au boot, et qwerty m’a distrait au point de ne plus m’occuper du problème initial et de pondre ce dirty hack.
Comme ça, c’est fait et ce n’est plus à faire :).

Gageons que lorsque grub2 sortira de développement, ce genre de combine deviendra inutile.

PS: Peut-être que ce sujet devrait rejoindre la section trucs et astuces du forum ? in fine, ce n’est qu’un truc de plus.

Bonjour,

Excusez moi pour ce petit up du coup, même si pour certains cette “astuce” semblait un peu gadget peu utile :wink:
C’est vrai qu’une fois que notre chère distribution fonctionne comme il le faut, on ne vient pas tous les jours trifouiller Mr GRUB2.
Pour ma part je passe plus de temps pour faire des installations que pour utiliser linux et ce coté qwerty/azerty au boot de grub m’exaspère surtout quand je commence à fatiguer. (voir le site woueb de mon profil pour les plus curieux :wink:

Donc un grand merci à notre Sediseasy.

Dans mon cas actuel je frôle les 2 mois :doh: à m’obstiner sur une instal “particulière” d’edubuntu10.10 (ce temps passé est aussi lié à mon incompétence dans le domaine linux) et je galère sur ce boot avec grub2 ayant rendu mon instal d’edubuntu et celle de W7 non bootable (pour la dernière je pense que grub2 aime bien se mettre dans le MBR à l’install de certaines distro, donc je ne m’inquiète pas trop.
Par contre je veux rendre bootable mon install d’edubuntu 10.10 (x64) sur un portable toshiba (j’ai tenté sur 2 avec des processeur i5 et i7 donc architecture 64 bits). l’instal c’est plantée presqu’à la fin donc au moment de configurer grub je pense.
pour info : je n’ai pas de fichier initrd.img et pas de grub.cfg

Tout cela pour dire qu’il faut mettre les mains dans le cambouis au lancement de la machine par la ligne de commande de GRUB2 d’ou l’intérêt de ce que j’ai trouvé ici même.

Avant et après l’application à la lettre de cette astuce:
ne m’en sortant pas par la ligne de commande (sans doute à cause de l’absence du initrd.img) je tente de relancer le live DVD qui m’avait servi à l’instal et je reinstalle GRUB2 (grub-pc v1.98…)
j’utilise la méthode chroot sur la partoche logique en ext4 ou j’avais installé mon linux imbootable(bein oui toshiba utilise déjà 3 partoches primaires sur mon PC rien que pour WinDaube… sorry).
Plusieurs jours après, lors de l’instal de grub j’ai eu un message d’erreur que je n’ai pu recopier mais faisant ressortir les mots “GRUB_TERMINAL_INPUT…” ce qui me rappela quelque chose.

J’ai donc un doute mais une totale incompétence pour affirmer mes dires d’où le pourquoi je me retourne vers vous… y aurait’il un problème de syntaxe dans les lignes proposées pour modifier le fichier /etc/default/grub ?

Je vous en recopie la fin du mien après application de la modif proposée :

[code]

Uncomment to disable generation of recovery mode menu entries

#GRUB_DISABLE_LINUX_RECOVERY=“true”

Uncomment to get a beep at grub start

#GRUB_INIT_TUNE=“480 440 1”
‘GRUB_TERMINAL_INPUT=at_keyboard’[/code]

c’est la présence des 2 caractères "" qui ne semble pas homogène par rapport au reste du contenu du fichier qui m’intrigue… :119

Pour l’anecdote je vous fait juste part du précédent message que j’ai failli envoyer… j’avais cru trouver un autre problème dans la première partie où j’allais proposer une modification des “qwertyuiop…” en proposant de remplacer les . par les caractères que j’avais effectivement dans le fichier at_keyboard.mod … ce qui aurait mis à jour ma grande incompréhension sur l’utilisation des RegExp :think:

Donc en espérant ne pas poster pour rien mais peut-être il y a une astuce qui impose ces caractères ’ , je vous souhaite à tous mes meilleurs vœux pour 2011 au passage.

Cordialement :hand: