Archlinux: J’ai cassé mon kernel !

A la suite d’une fausse manip lors d’une mise à jour, mon PC ne démarre plus avec archlinux. Après expertise, il s’avère que l’installation du paquet de mise à jour du noyau n’est pas allée à son terme. Le noyau ( Vmlinuz ) est à jour mais le initrd lui est trop ancien.

Pour s’en sortir, rien de très compliqué:

Démarrer l’installable d’Archlinux sur un CD ou une clef USB.

Réglez votre clavier correctement avec la commande km, c’est plus facile ensuite 😉

Montez votre partition root

mkdir /recup
mount /dev/sda1 /recup

Mettez à jour le mtab de la partition root

grep -v rootfs /proc/mounts > /recup/etc/mtab

Montez ensuite les filesystem spéciaux

mount -o bind /proc /recup/proc
mount -o bind /dev /recup/dev
mount -o bind /sys /recup/sys

Un petit chroot

chroot /recup
mount -a

Vous pouvez retrouver les derniers paquets installés dans /var/cache/pacman/pkg/ et en réinstaller un avec pacman -U XXX.pkg.tar.gz, pour moi se sera linux-3.1.7-1-x86_64.pkg.tar.xz

Bingo ! Un redémarrage plus tard, tout refonctionne. J’ai trouvé après coup une doc similaire ici http://wiki.archlinux.fr/Install_chroot

Archlinux, udev et les mots clefs.

Dans les dernières versions d’UDEV, le mot clef SYSFS n’est plus supporté. Si vous utilisez des règles udev personnalisées, vous aurez ce message d’erreur dans la console et les logs:

udevd[257]: unknown key 'SYSFS{idVendor}'
in /etc/udev/rules.d/51-garmin.rules

Allez dans /etc/udev/rules.d et lancez un petit coup de sed:

sed -i -e s/SYSFS/ATTR/g *.rules

 

Archlinux, openssh et erreur X protocol error: BadAccess (attempt to access private resource denied)

Si vous avez comme moi des erreurs

X protocol error: BadAccess (attempt to access private resource denied)

Lorsque vous utilisez le forwarding X11 avec ssh sous Archlinux, il faut:

  • soit utiliser la commande ssh -Y pour autoriser le « trusted forwarding« 
  • soit placer la directive « ForwardX11Trusted yes » dans le fichier /etc/ssh/ssh_config