[RTEX] Restaurer une Jeedom Smart sur un Odroid-C2 avec une eMMC de 32 Go

(Migration depuis l’ancien forum, post du 26 janv. 2019.)

Bonjour à tous, c’est akenad :slight_smile: ,

Aujourd’hui je vais vous présenter un retour d’expérience sur la restauration d’une Jeedom Smart sur un Odroid-C2 avec une eMMC de 32 Go.

Cette opération est très particulière, pour utilisateur avancé, à vos risques et périls.
(Voir aussi cette article ) [Présentation] akenad - #26 par akenad

Je vous recommande très vivement de ne le faire que si vous possédez une Smart, et à des fins uniquement de secours temporaire en cas de panne.

J’ai procédé en 3 étapes :

  • connecter l’adaptateur USB avec l’eMMC externe sur la Smart
  • copier le contenu de la partition boot de la Smart sur l’eMMC externe
  • installer l’eMMC dans l’Odroid-C2 et effectuer un recovery mode

1) connecter l’adaptateur USB avec l’eMMC externe sur la Smart

La Smart embarque une eMMC « interne » amovible de 8 Go.
Nous allons utiliser par ailleurs une eMMC « externe » de 32 Go, connectée à un adaptateur USB (USB/eMMC ou USB/miccroSD/eMMC).
Prendre une eMMC 32 Go de chez Hardkernel (C2 Linux, carré rouge) qui sort de la boîte et la connecter à l’adaptateur USB :

(EDIT 04/01/2021 : eMMC 64 Go, Hardkernel, C2 Linux, carré rouge, fonctionne aussi)

2) copier le contenu de la partition boot de la Smart sur l’eMMC externe

Il s’agit de copier la partition boot de la Smart (de l’eMMC interne) sur l’eMMC externe.

Se connecter en SSH sur la smart en tant que root :

Afficher les partitions :

root@jeedom:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            732M     0  732M   0% /dev
tmpfs           172M   22M  150M  13% /run
/dev/mmcblk0p7  6.5G  3.0G  3.3G  48% /
tmpfs           859M     0  859M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           859M     0  859M   0% /sys/fs/cgroup
tmpfs           256M  4.0K  256M   1% /tmp
tmpfs           128M  1.1M  127M   1% /tmp/jeedom
/dev/mmcblk0p1  253M  101M  152M  40% /media/boot
root@jeedom:~# fdisk -l
Disk /dev/mmcblk0: 7.3 GiB, 7818182656 bytes, 15269888 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x34100000

Device         Boot   Start      End  Sectors  Size Id Type
/dev/mmcblk0p1        65536   589823   524288  256M  c W95 FAT32 (LBA)
/dev/mmcblk0p2       589824   606207    16384    8M 83 Linux
/dev/mmcblk0p3       606208   622591    16384    8M 83 Linux
/dev/mmcblk0p4       622592 15269887 14647296    7G  5 Extended
/dev/mmcblk0p5       624640   641023    16384    8M 83 Linux
/dev/mmcblk0p6       643072  1167359   524288  256M 83 Linux
/dev/mmcblk0p7      1169408 15210495 14041088  6.7G 83 Linux

Disk /dev/sda: 29.1 GiB, 31268536320 bytes, 61071360 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xd3630000

Device     Boot  Start      End  Sectors  Size Id Type
/dev/sda1         2048   264191   262144  128M  c W95 FAT (LBA)
/dev/sda2       264192 11438079 11173888  5.3G 83 Linux

En principe la partition FAT de l’eMMC interne est montée sur /media/boot et la partition FAT de l’eMMC externe apparaît sur /dev/sda1

Monter la partition FAT de l’eMMC externe :

root@jeedom:~# mount /dev/sda1 /mnt

Effacer le contenu de la partition FAT de l’eMMC externe :

root@jeedom:~# rm -rf /mnt
rm: cannot remove ‹ /mnt ›: Device or resource busy

Copier le contenu de la partition boot de la Smart (eMMC interne) sur l’eMMC externe :
(Le premier cp dure environ 3 minutes au grand maximum, environ 60 à 100 Mo à copier.)
(EDIT 04/01/2021 : fonctionne aussi si la Smart a été migrée en buster. Dans ce cas, si le dossier multiboot/mb_kernel est vide, la copie est très rapide)

root@jeedom:~# cp -r /media/boot/multiboot /mnt
root@jeedom:~# cp /media/boot/boot.ini /mnt
root@jeedom:~# cp /media/boot/THIS_IS_EMMC /mnt

Démonter la partition FAT de l’eMMC externe :

root@jeedom:~# umount /mnt

Débrancher l’adaptateur USB de la Smart.

(L’adapteur USB/eMMC peut être connecté à un PC pour voir les fichiers qui viennent d’être copiés dessus et pour réaliser une copie de sauvegarde, ceci pour éviter d’avoir à renouveler l’opération d’extraction de la partition boot de la Smart en cas d’un nouveau besoin.)

3) installer l’eMMC dans l’Odroid-C2 et effectuer un recovery mode

Voir la documentation officielle Jeedom SAS pour le recovery mode : https://doc.jeedom.com/fr_FR/installation/smart

Pour voir ce qui se passe, il est fortement conseillé de brancher un écran sur le port HDMI et un clavier USB.
(les images des écrans sont ici : [RTEX] Jeedom Smart Recovery mode - passage en Buster Jeedom V4)

Une fois le recovery mode terminé, et éventuellement avant la phase de restauration d’une sauvegarde de Jeedom proprement dite, il est possible de consulter les partitions :

Se connecter en SSH sur l’Odroid-C2 en tant que root.
Afficher les partitions :

root@jeedom:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            732M     0  732M   0% /dev
tmpfs           172M  8.9M  163M   6% /run
/dev/mmcblk0p7   28G  2.8G   24G  11% /
tmpfs           859M     0  859M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           859M     0  859M   0% /sys/fs/cgroup
tmpfs           256M     0  256M   0% /tmp
tmpfs           128M   80K  128M   1% /tmp/jeedom
/dev/mmcblk0p1  253M  101M  152M  40% /media/boot
root@jeedom:~# fdisk -l
Disk /dev/mmcblk0: 29.1 GiB, 31268536320 bytes, 61071360 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xeba60000

Device         Boot   Start      End  Sectors  Size Id Type
/dev/mmcblk0p1        65536   589823   524288  256M  c W95 FAT32 (LBA)
/dev/mmcblk0p2       589824   606207    16384    8M 83 Linux
/dev/mmcblk0p3       606208   622591    16384    8M 83 Linux
/dev/mmcblk0p4       622592 61071359 60448768 28.8G  5 Extended
/dev/mmcblk0p5       624640   641023    16384    8M 83 Linux
/dev/mmcblk0p6       643072  1167359   524288  256M 83 Linux
/dev/mmcblk0p7      1169408 61011967 59842560 28.5G 83 Linux

On peut constater en passant que la partition Linux qui héberge Jeedom, /dev/mmcblk0p7, est passée de
6.7 à 28.5 Go automatiquement avec l’opération de recovery mode.

Voila j’espère que ce retour d’expérience sera utile aux membres Jeedom.

akenad :slight_smile:

bonjour akenad

j’ai l’attention de suivre ton tuto

pourrais tu me donner les liens direct pour les achats de l’adaptateur USB ainsi que pour une

eMMC de 32 ou 64 go

je ne veux pas me tromper dans mes achats

merci d’avance

Bonjour speeed,

sur ce forum il n’est pas autorisé de fournir des liens commerciaux.
(indices : hardkernel et kubii …)

akenad :slight_smile:

Tant pis alors
Peut être en Mp si tu a le temps

Hello @akenad

J’aimerais bien migrer vers une emmc plus grosse sur ma smart étant donné le peu de mémoire qu’il me reste.

Sais-tu quel est la capacité max que supporte la smart ? Vu la différence de prix, je me dit qu’une 128Go me laisserait plus que largement la place.

Autre question, y-a-il un moyen de balancer carrément une copie de l’eMMC interne sur la nouvelle ? ou on doit obligatoirement passer par une restauration ?

Merci pour ton aide et également pour tes tutos, toujours au top et bien détaillés.

Bonjour BorisTS,

  • chez Hardkernel, dans les spécifications de l’Odroid-C2 il est indiqué :
    « Flash Storage, eMMC 5.0 Module Socket : 8~64GB eMMC module (option) »
    Toutefois, dans la liste des produits compatibles, il y a des eMMC Module C2 Linux (carré rouge) 32, 64, 128 GB

  • il existe des duplicateurs d’eMMC.

akenad :slight_smile:

1 « J'aime »

Merci pour ta réponse.

Alors oui, j’ai justement vu celles de 128 avec le carré rouge mais avant de commander j’aimerais être sur que la Smart la gère ?

Edit: en y regardant de plus près, je pense que l’achat d’un duplicateur n’est pas justifié, je vais donc passer par la restauration.

Merci

Bonjour akenad,

j’ai craqué pour une emmc 32g de chez kubii, la copie de la partition de boot me laisse perplexe…
tu parle de 3 mn de copie alors que moi c’est instantané ?..

Peux tu regarder si je copie bien le boot de la smart ou si je fais ça dans le vide par rapport à tes commandes, j’avais la mise à jour debian10 et jeedom 4.1.17 et pas mal de trucs déconnais d’où l’envie de changer emmc

root@jeedom:~# cp -r /media/boot/multiboot /mnt
root@jeedom:~# cp /media/boot/boot.ini /mnt
root@jeedom:~# cp /media/boot/THIS_IS_EMMC /mnt

, ci-joint ce qui s’affiche pour les deux première commandes de ton tuto.
merci d’avance

root@Jeedom:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            721M     0  721M   0% /dev
tmpfs           173M  4.7M  169M   3% /run
/dev/mmcblk0p7  6.5G  4.0G  2.3G  64% /
tmpfs           864M     0  864M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           864M     0  864M   0% /sys/fs/cgroup
tmpfs           256M  6.5M  250M   3% /tmp/jeedom
/dev/mmcblk0p1  253M   64M  189M  26% /media/boot
tmpfs           173M     0  173M   0% /run/user/0
root@Jeedom:~# fdisk -l
Disk /dev/mmcblk0: 7.3 GiB, 7818182656 bytes, 15269888 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe8260000

Device         Boot   Start      End  Sectors  Size Id Type
/dev/mmcblk0p1        65536   589823   524288  256M  c W95 FAT32 (LBA)
/dev/mmcblk0p2       589824   606207    16384    8M 83 Linux
/dev/mmcblk0p3       606208   622591    16384    8M 83 Linux
/dev/mmcblk0p4       622592 15269887 14647296    7G  5 Extended
/dev/mmcblk0p5       624640   641023    16384    8M 83 Linux
/dev/mmcblk0p6       643072  1167359   524288  256M 83 Linux
/dev/mmcblk0p7      1169408 15210495 14041088  6.7G 83 Linux


Disk /dev/sda: 29.1 GiB, 31268536320 bytes, 61071360 sectors
Disk model: USB Flash Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x03823826

Device     Boot  Start      End  Sectors  Size Id Type
/dev/sda1         2048   264191   262144  128M  c W95 FAT32 (LBA)
/dev/sda2       264192 14129151 13864960  6.6G 83 Linux
root@Jeedom:~#

3 mn est un maximum, en fonction du contexte

il n’y a que toi qui peut le vérifier en comparant le contenu de tes 2 eMMC !
Par exemple en faisant :

eMMC interne :

ls -ial /media/boot
ls -ial /media/boot/multiboot

eMMC externe :

ls -ial /mnt
ls -ial /mnt/multiboot

(ou la brancher sur un PC)

akenad :slight_smile:

Je pense que c’est bon non ?
par contre quand je mets ma clé avec le fichier backupJeedom.tar.gz ecran et clavier brancher sur la smart je n’ai rien, écran noir, avec 15 mn d’attente

Le dossier mb_kernel à la racine de l’eMMC externe, ce n’est pas normal.

Je n’ai pas vocation à faire du support sur ce RTEX.

comme je l’ai indiqué dans le premier post :

« Cette opération est très particulière, pour utilisateur avancé, à vos risques et périls. »

akenad :slight_smile:

1 « J'aime »

D’accord, je vais me debrouiller

1 « J'aime »

Bonjour akenad,

Opération effectuée avec succès sur une eMMC de 16 Go.
Merci.

2 « J'aime »

Bonjour akenad,

Merci pour tous ces RTEX, c’est vraiment impressionnant.
Pour ma part, il semblerait que j’ai crashé ma smart suivant migration de l’environnement Debian de la box Smart puis, comme ma box était inaccessible Restauration en mode usine d’une Jeedom Smart. J’ai abouti à une installation Jeedom qui tombe KO à chaque fois.

Bref, je suis hors garantie… il faut donc que je me débrouille (Méthode 1 ==> niet)

La Méthode 2 que tu proposes « il faut avoir copié le système de l’eMMC de la Smart avant la panne » m’intéresse beaucoup par sa simplicité et j’imagine que je peux me débrouiller pour transférer les fichiers à travers la Busybox. Cependant, je n’ai évidemment pas copié préalablement les fichiers boot en question. Est-ce qu’il y a un endroit où ils seraient téléchargeables ?

Sinon, je viens de passer commande d’un adaptateur eMMC/USB3 au cas où je doive me lancer vers la Méthode 3 (install Armbian). La question que je me pose est : est-ce qu’à la fin de cette procédure je me retrouverai avec la Smart « usine » ? Et plus précisément, pourrais-je avoir des problèmes lors des futures « migrations automatiques » proposées par Jeedom (même si, en l’occurrence, c’est ce type de migration qui m’a envoyé dans le mur).

Merci encore pour tes partage et par avance pour ces éclaircissements.

Bonjour,

Tu as bien vérifié le hash de backupJeedom.tar.gz ?

akenad :slight_smile:

Hello,

Je viens de recevoir la 64Gb et la clé USB made in S Korea :wink:

Je vous fait un petit retour dès que j’ai le temps de procéder à cette migration.

Affirmatif, y compris sur la clef USB.

backupJeedom.tar.gz du recovery est il le même fichier de la nouvelle mise à jour pas à pas . Dans ce cas le fichier de ma clé usb est déjà téléchargé !

Tenté 2 fois toutes les manips, ça bloque à la restauration, rien n’y fait, il ne vois pas la clé USB (installation drive NOT FOUND) (j’en ai essayé plusieurs) du coup ça boot sous linux.

Salut,

Si la box ne boot pas sur le recovery avec la clé Usb insérée au démarrage c’est qu’il faut refaire la table de partition de la clé sous gparted

1 « J'aime »