mardi 13 septembre 2016

Utilisation d'un touchpad Elantech sous kernel 4.xx

Si vous avez un ordinateur portable récent il se peut que vous soyez équipé d'un touchpad Elantech. Aussi bizarre que cela puisse paraître, il est reconnu comme un bon vieux périphérique PS2. Au delà de cette fantaisie, il est géré en multitouch depuis le kernel 4.0. Donc si votre distribution adorée est sur un kernel plus récent, tout devrait fonctionner sans problème. Sauf que si vous êtes chanceux comme moi, la sortie de veille crashe la gestion de ce dernier et il devient inopérant. Pour s'en sortir il suffit de réaliser une petite modif sur le module qui gère ce composant. La modification est très sale mais fonctionne parfaitement et donc me satisfait. Cela impose par contre de recompiler son noyau comme dans les précédents billets. À noter que certain touchpads folcaltek sont aussi touchés et soignables avec la même solution.

La modif est la suivante :

Dans drivers/input/serio/i8042.c

rechercher

  • static int i8042_controller_selftest(void)*

et après la ligne int i = 0;

ajouter

return 0;

Recompilez et jouez !

dimanche 21 août 2016

Compilation d'un kernel 4.6 sous debian

Si vous avez essayé de compiler un kernel sur une debian « à la debian » sur un kernel 4.6 et que votre ancien kernel est un kernel que vous n'avez pas compilé vous même, vous risquez de vous confronté au même problème que moi. Il risque en effet de faire un échec avec l'erreur de sortie suivante :

debian/ruleset/targets/common.mk:295 : la recette pour la cible « debian/stamp/build/kernel » a échouée make: *** debian/stamp/build/kernel Erreur 2

En effet pour des raisons de sécurité du démarrage UEFI, la compilation utilise une clef de certification que je ne peux avoir en tant qu'utilisateur « normal » de debian. Cela est utile si on redistribue son kernel. Dans mon cas c'est pour l'utiliser sur mon portable pour corriger un problème de trackpad que j'évoquerai dans un autre billet. On va donc contourner la sécurité pour s'en sortir. Voici donc toute la démarche que j'utilise pour faire cette compilation. Toutes les commandes, sauf celles précédées de sudo, sont à effectuer en utilisateur normal et non en root.

1. Installer tout ce qu'il faut pour pouvoir compiler son kernel :

sudo apt install linux-source libssl-dev debconf-utils dpkg-dev debhelper build-essential kernel-package libncurses5-dev

2. Décompresser les sources du kernel dans un répertoire que peux modifier l'utilisateur :

tar xvf /usr/src/linux-source-4.6.tar.xz

3. Se déplacer dans le répertoire :

cd linux-source-4.6

4. On copie le fichier .config de votre configuration actuelle (celle qui est certifiée)

cp /boot/config-4.6.0-1-amd64 .config

5. On édite ce dernier pour pouvoir faire « sauter la sécurité » :

make menuconfig

6. Une fois à l'intérieur du fichier de configuration cherchez les menu suivants :

Cryptographic API Certificates for signature checking

 (debian/certs/benh@debian.org.cert.pem) Additional X.509 keys for default system keyring

Vous allez tomber sur la fameuse clef. il suffi d'effacer cette adresse et de sauver puis sortir de menuconfig à l'aide de plusieurs exit

7. Compilation

CONCURRENCY_LEVEL="XXX" fakeroot make-kpkg us uc initrd revision=1.0."YYYY" kernel_image kernel_headers

Où XXX est égal à deux fois le nombre de thread de votre processeur et YYY est un nom pour pouvoir vous retrouver. L'opération peux durer de quelques minutes si vous avez une bête de course ou plusieurs heures sur un pc un peu âgé. À la fin vous aurez à coté de votre répertoire source deux paquets linux-headers-4.6.4_1.0.YYY_amd64.deb linux-image-4.6.4_1.0.YYY_amd64.deb

8. Installation du nouveau kernel :

sudo dpkg -i linux-image-4.6.4_1.0.YYY_amd64.deb puis sudo dpkg -i linux-headers-4.6.4_1.0.YYY_amd64.deb

9. On finalise en rebootant

vendredi 19 août 2016

Renaissance et problème de riche

Après une très longue absence me revoilà sur la blogosphère. Je pense toujours vous parler de mes découverte sur la banquise. Depuis mes derniers blogs je suis passé d'Ubuntu à Fedora pour revenir dans le monde deb avec Debian.

Pourquoi autant de changements ?

Parce-que, contrairement au monde de Windows, dans le monde Linux il existe une multitude de possibilités pour une multitude d'usage. Après pas mal d'essais et de déboires je suis donc arrivé à un compromis avec une Debian Testing en interface KDE. Je détaillerai plus tard les trucs et astuces que j'ai du collecté pour obtenir enfin des machines utilisables pour le loisir et le travail.

Pour l'instant donc ce blog sera là pour partager mes modestes découvertes pour installer et maintenir ce genre de système.