19 Nov 2017

Récupérer son OSMC d'un crash

L’autre jour, mon Kodi (osmc) s’est figé à la tentative de lecture d’un fichier corrompu. Relativement impatient, j’ai décidé de lui couper l’alimentation au bout de 20 secondes pour un hard reboot, sauf que là … c’est le drame. Pour une raison qui m’échappe complètement, l’écran reste noir, et le Raspberry Pi ne semble plus démarrer.

J’ai immédiatement pensé que ce dernier a grillé. J’ai resorti d’un carton mon Pi 2, et à ma grande surprise, aucune réaction non plus. Il faut savoir que si le Pi n’a pas de carte SD, il n’affichera rien, même pas un message d’erreur, je suis donc mis à tester la carte SD depuis un ordinateur. Cette dernière semble pourtant bien reconnue, mais j’ai quand même des doutes, alors je fais tout d’abord un premier backup de la carte.

dd if=/dev/mmcblk0 of=backup-kodi.img bs=1024

Aucun message d’erreur, pas de problème de lecture (cette commande copie l’intégralité de la carte), je continue en suivant la procédure d’installation d’OSMC grâce à leur utilitaire. Je remets la carte SD dans mon Pi, et celui ci boot sans aucun soucis. Ce qui s’est passé ? C’est une très bonne question …

Ne souhaitant pas tout remettre ma base de données à la main, je remets la carte SD dans mon ordinateur et je vous donne la procédure pour tout remettre comme avant.

## On monte notre sauvegarde
sudo losetup /dev/loop0 backup-kodi.img

## On découvre les partitions disponibles
sudo partprobe /dev/loop0

## On monte la seconde partition qui contient la base de données (la première partition n'est utilisé que pour le boot)
sudo mount /dev/loop0p2 /mnt/

## Renomme la base de données vierge qui est sur la carte SD (remplacez les xxx par le dossier ou est montée votre carte SD)
sudo mv /media/$USER/xxx/home/osmc/ /media/$USER/xxx/home/osmc.old

## Enfin on copie le dossier /home/osmc
sudo rsync -av /mnt/osmc/ /media/olivierb/d738ea32-553e-4115-9e5a-4af2571a4920/home/osmc/

## On démonte et ejecte notre backup
sudo umount /mnt
sudo losetup -d /dev/loop0

Quand je parle de base de données, il s’agit en réalité du dossier .kodi, dossier caché qui se trouve dans le dossier personnel du compte utilisateur osmc.

Et voila ejectez proprement votre carte SD, soyez patient car l’écriture de la carte peut être très différée, assurez-vous que votre système vous permette de bien éjecter votre carte.


Tags: