Quitter le forum et retourner au site

Ubuntu 10.04 - Upstart + partitions cryptées...

Venez nous en parler, c'est ici que l'on vous conseillera !
Avatar de l’utilisateur
le Manchot Masqué
Administrateur du site
Messages : 719
Inscription : lun. 26 mai 2008, 21:05
Distribution : Debian, Ubuntu
Niveau : Moitié plein !
Localisation : Guebwiller

Ubuntu 10.04 - Upstart + partitions cryptées...

Message par le Manchot Masqué »

Bon, si vous etes débutants, passer votre chemin, vous risquez une grave intoxication a la lecture de ce qui va suivre, et en théorie, vous pourrez parfaitement survivre sans...

Tout d'abord un petit rappel.

Upstart est le nouveau système de lancement sous Ubuntu/Debian qui fonctionne un peu comme la librairie de programmation Qt de Trolltech, c'est-à-dire en terme de signal/slot. Plus concrètement, alors que l'ancien système de démarrage, nommé init, lançait les tâches les unes après les autres, le nouveau permet de lancer simultanément plusieurs taches a la fois, accélérant d'autant le chargement de Linux...

Le petit problème que je viens d'avoir, c'est que quand on joue avec des partitions cryptées et autres délires, il peut y a voir des petits soucis lorsque l'on migre sa distribution d'une version 9.10 a une 10.04. Autant la mise a jour d'un client classique ne posera sûrement aucun problème (en tout cas sur les clients que j'ai déjà migré), autant quand il s'agit d'un serveur avec des partitions cryptées, il faut s'attendre à des petits ratés... :)

De mon côté, Upstart se bloquait au déverouillage de la partition cryptée, après avoir rentré correctement mon mot de passe, et il m'était impossible de basculer dans une console pour essayer de reprendre la main, car les consoles sont chargées après le montage des partitions... Heureusement, Linux dispose de plusieurs ressources très utiles à connaître...

L'astuce de base est, au démarrage, d'éditer la ligne de commande du noyau : on presse ESC a l'apparition de GRUB et on arrive à une liste des systèmes et noyaux Linux présents sur la machine, on prend le premier noyau venu, on tape e et on se positionne à la fin de la ligne qui commence par linux..., on vire les options quiet splash (si présentes) et on rajoute la commande init=/bin/bash, qui va court-circuiter Upstart et vous envoyer directement en console via ce bon vieux init de base. On termine par CTRL-X pour lancer le démarrage du noyau proprement dit.

Nous voici donc en mode console texte, ce qui va nous permettre de reprendre la main sur le système planté.

Différence fondamentale avec les anciens Linux : vous ne pouvez plus passer à un autre mode d'exécution (runlevel) si vous avez imposé init=/bin/bash : si vous essayez un init 2 ou même init 1, la Ubuntu va gentiment vous signaler qu'elle ne peut pas se connecter à Upstart, ce qui est bien normal puisqu'on a court-circuiter ce dernier. A noter également, pour les connaisseurs, que init=/bin/bash est différent de S (ou single) : sous les nouvelles distributions, le mode single EST géré par Upstart.

Revenons-en à notre terminal...

La première chose est de remonter la partition racine non cryptée avec mount -o remount,rw /. On peut ensuite lancer manuellement le montage de la partition cryptée via cryptsetup mapartitioncryptee /dev/sdaX (X à remplacer bien entendu par le numéro de votre partition). C'est lors de cette étape que le système demande le mot de passe (normalement plus de 30 caractères) pour accéder à la partition. Une fois la partition déverrouillée, il faut encore la monter dans le système de fichier via mount /dev/mapper/mapartitioncryptee /pointdemontage. A présent, le système est de nouveau opérationnel. On peut lancer un client réseau en DHCP via dhclient eth0, et faire les mises à jour classiques via apt-get update;apt-get dist-upgrade, ce qui ne m'a pas beaucoup servi ici puisque mes paquets étaient déjà tous à jour...

Par hasard, dans mes essais, j'avais constaté un message d'erreur comme quoi Ubuntu n'arrivait pas à monter /proc/usb/usb. Plus en avant, le système indiquait que mountall, service de montage des disques, terminait avec une erreur. J'ai donc zieuté dans /etc/fstab qui contient la liste des partitions usuelles, et effectivement trouve l'entrée correspondante, que j'ai simplement commenté avec un # en début de ligne. Un petit reboot via ALTGR+SYST+B (attention quand même : c'est très violent comme méthode - ne JAMAIS effectuer cette commande si votre disque est en train d'écrire - sinon "kiss your datas - goodbye !" :). Cf. ALTGR+SYST+H pour l'aide rapide de ce que l'on nomme les Magic SysRq Keys, très utiles quand le noyau se bloque, commandes indispensables aux développeurs du noyau...

Autre symptôme amusant de mon bug : un tas de "Unlocking the disk ()" suivi d'un tas d'astérisques * (un par caractère tape pour la saisie du mot de passe).

Je n'ai pas trouve d'autres bugs dans la nouvelle mouture pour le moment, mon problème étant sûrement réservé aux manchots paranoïaques qui cryptent leur partition, et qui sont, comme moi passés de la version 9.10 à la 10.04 - autant dire une quantité plutôt restreintes de grands malades. Pour le reste, cette nouvelle édition s'annonce de toute évidence comme un excellent cru ! ;)
Répondre