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

Backporter le noyau 2.6.28 de Jaunty dans Intrepid

Il y a quelques semaines, j’ai remplacé mon portable. Après avoir fait un tour des différents PC disponibles, j’ai finalement craqué pour un macbook alu. La machine est superbe comparé à la concurrence. Pour ce qui est de l’OS, c’est quand même mieux que Windows (a défaut d’être totalement ouvert, c’est stable et il y a un shell, un vrai…). Pour être tout à fait honnête, c’est même parfait pour celui qui veut un truc qui marche sans soucis… Mais pour moi Linux reste de loin plus intéressant car beaucoup plus ouvert.

J’ai donc installé sur mon Macbook Ubuntu 8.10 64bits. Tout fonctionne en suivant les instructions du site Ubuntu, il ne reste que le microphone et le haut parleur interne gauche qui ne marche pas chez moi. La puce audio semble un peu trop récente…

Afin d’améliorer encore le support pour ce nouveau matériel, j’ai décidé d’installer le noyau 2.6.28 présent dans Ubuntu Jaunty. La procédure est longue mais simple: il suffit de télécharger sur https://launchpad.net/ubuntu/jaunty/+source/linux/2.6.28-4.9 les sources du noyau, les patchs et le fichier de description puis d’utiliser pbuilder pour créer les packages

term1

[code]

# installation de l’outil de compilation

sudo apt-get install pbuilder

# Creation de l’environnement de compilation

sudo pbuilder create

[/code]

capture-pierremacbook-download

[code]

# Compilation du kernel

sudo pbuilder build linux_2.6.28-4.9.dsc

[/code]

capture

Vous allez pouvoir aller prendre un café, cette opération dure un certain temps. Attention aussi à prévoir pas mal d’espace, 10 gigas de libres ne sont pas superflus pour la compilation de l’ensemble. Si vous n’avez pas assez sur votre volume, vous pouvez compiler dans un autre répertoire à l’aide de l’option –buildplace de pbuilder.

Le résultat de cette longue phase de compilation se trouve dans /var/cache/pbuilder/result

Pour installer le nouveau noyau fraichement compilé,

[code]

sudo dpkg -i linux-image-2.6.28-4-generic_2.6.28-4.9_amd64.deb linux-headers-2.6.28-4-generic_2.6.28-4.9_amd64.deb

[/code]

Il ne me reste plus qu’à tester ce nouveau noyau 😉