IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Raspberry Pi Discussion :

Paramètres optimaux pour la réalisation d'une image système avec dd


Sujet :

Raspberry Pi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur


    Homme Profil pro
    Instituteur retraité
    Inscrit en
    Novembre 2015
    Messages
    892
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Instituteur retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 892
    Billets dans le blog
    1
    Par défaut Paramètres optimaux pour la réalisation d'une image système avec dd
    Bonjour,

    Pour réaliser une image système de la carte SD d'un Raspberry Pi sur un périphérique branché en USB, j'utilise la commande suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dd if=/dev/mmcblk0 | pv  | dd of="/chemin/fichier.img" && sync
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dd if=/dev/mmcblk0 | pv  | gzip | dd of="/chemin/fichier.img" && sync
    si je veux une image compressée.

    Voici ce que j'ai constaté:

    Avec un RPi3, avec ces paramètres par défaut, la copie se fait correctement, aussi bien avec que sans compression.
    L'image disque est parfaitement lisible depuis un logiciel d'archivage sous Windows.

    Avec un RPi 1B, la copie se fait correctement, mais lorsque je veux vérifier l'image avec mon logiciel sous Windows, il échoue en indiquant un .img défectueux (cela dans les 2 cas, avec ou sans compression).

    J'ai tenté de modifier le paramètre bs en le passant à 4096 pour la réalisation de la copie depuis le RPi1B. Outre le fait que la copie se fait beaucoup plus rapidement (normal !), j'obtiens cette fois une image valide après vérification. Pensant avoir obtenu le beurre et l'argent du beurre (la qualité et la vitesse de la copie), je tente donc de passer le même paramètre pour la copie sur le RPi 3. Mais cette fois j'ai une image indiquée défectueuse lorsque je tente de l'ouvrir pour la vérifier !

    Pour le RPi1b je copie sur un disque dur 2.5' portable datant de quelques années, pour le RPi3 sur un disque dur récupéré d'un PC portable assez ancien. Cela peut-il être l'explication du phénomène ?

    Comme je réalise un script qui devra pouvoir être utilisé dans diverses configurations matérielles, quels paramètres optimaux utiliser avec la commande dd afin d'avoir une image valide dans tous les cas ?

    Merci d'avance pour vos éclairages.
    Plus on apprend, plus on découvre que ce que l'on sait est insignifiant face à tout ce que l'on ne sait pas.
    Retrouvez la liste de mes articles et tutoriels sur la sauvegarde-restauration, les distributions éducatives, le système Linux et le Raspberry pi en cliquant sur ce lien.

  2. #2
    Rédacteur


    Homme Profil pro
    Instituteur retraité
    Inscrit en
    Novembre 2015
    Messages
    892
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Instituteur retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 892
    Billets dans le blog
    1
    Par défaut
    En utilisant cette commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dd if=/dev/mmcblk0 bs=4096 | pv | gzip -c >"$1" && sync
    L'image obtenue depuis RPi3 est, cette fois, valide.

    En utilisant une redirection plutôt qu'un pipe, l'image obtenue est-elle toujours bien une copie bit à bit et non une simple copie de fichiers ?
    Autrement dit, en reconstruisant une carte SD depuis cette image système, aura-t-on bien un système bootable opérationnel ?
    Plus on apprend, plus on découvre que ce que l'on sait est insignifiant face à tout ce que l'on ne sait pas.
    Retrouvez la liste de mes articles et tutoriels sur la sauvegarde-restauration, les distributions éducatives, le système Linux et le Raspberry pi en cliquant sur ce lien.

  3. #3
    Rédacteur


    Homme Profil pro
    Instituteur retraité
    Inscrit en
    Novembre 2015
    Messages
    892
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Instituteur retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 892
    Billets dans le blog
    1
    Par défaut
    Je me réponds, tout au moins en ce qui concerne mon second message.

    En relisant la man page de dd, on voit:
    of=fichier
    Ecrire les données dans le fichier mentionné, et
    non pas sur la sortie standard.
    Donc, a priori, of agit comme une simple redirection, ce qui laisse supposer que la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dd if=/dev/mmcblk0 bs=4096 | pv | gzip -c >"$1" && sync
    qui fait cette redirection, est tout aussi valide et copie bien bit à bit.
    Plus on apprend, plus on découvre que ce que l'on sait est insignifiant face à tout ce que l'on ne sait pas.
    Retrouvez la liste de mes articles et tutoriels sur la sauvegarde-restauration, les distributions éducatives, le système Linux et le Raspberry pi en cliquant sur ce lien.

  4. #4
    Rédacteur


    Homme Profil pro
    Instituteur retraité
    Inscrit en
    Novembre 2015
    Messages
    892
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Instituteur retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 892
    Billets dans le blog
    1
    Par défaut
    En poursuivant les tests, les surprises continuent. Si je fais la même opération cette fois sans compression, c'est-à-dire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dd if=/dev/mmcblk0 bs=4096 | pv  >"$1" && sync
    là l'image obtenue est reconnue comme endommagée.
    Plus on apprend, plus on découvre que ce que l'on sait est insignifiant face à tout ce que l'on ne sait pas.
    Retrouvez la liste de mes articles et tutoriels sur la sauvegarde-restauration, les distributions éducatives, le système Linux et le Raspberry pi en cliquant sur ce lien.

  5. #5
    Rédacteur


    Homme Profil pro
    Instituteur retraité
    Inscrit en
    Novembre 2015
    Messages
    892
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Instituteur retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 892
    Billets dans le blog
    1
    Par défaut
    Ayant fait des tests plus approfondis, j'ai constaté qu'une même commande pouvait parfois donner aussi bien une image correcte qu'une image corrompue.

    La réalisation des images étant faite à chaud (sur un système en fonctionnement), j'émets l'hypothèse que l'image réalisée peut être corrompue dans le cas où le système procéderait à certaines écritures pendant la sauvegarde.
    Quelqu'un peut-il confirmer ou infirmer cette hypothèse ?

    Dans l'affirmative, existe-t-il des solutions permettant de "geler" le système pendant la réalisation de l'image système et de le réactiver en fin de copie ?
    puis
    par exemple permettrait-il de faire cela ? Dans ce cas, comment effectuer la sélection des processus à stopper ?
    Plus on apprend, plus on découvre que ce que l'on sait est insignifiant face à tout ce que l'on ne sait pas.
    Retrouvez la liste de mes articles et tutoriels sur la sauvegarde-restauration, les distributions éducatives, le système Linux et le Raspberry pi en cliquant sur ce lien.

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 127
    Billets dans le blog
    149
    Par défaut
    Bonjour,

    La réalisation des images étant faite à chaud (sur un système en fonctionnement), j'émets l'hypothèse que l'image réalisée peut être corrompue dans le cas où le système procéderait à certaines écritures pendant la sauvegarde.
    Quelqu'un peut-il confirmer ou infirmer cette hypothèse ?
    Sachant que c'est la chose à laquelle j'ai pensé en lisant votre premier message, je pencherai pour cette hypothèse.

    Je ne sais pas comment on pourrait bloquer toutes les écritures (et cela me semble un petit peu dangereux, dans le sens où je pense que cela freezerai le système).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/05/2016, 14h15
  2. Réponses: 3
    Dernier message: 10/11/2011, 18h18
  3. Problème pour l'enregistrement d'une image
    Par erkenbrand dans le forum Windows Forms
    Réponses: 4
    Dernier message: 30/04/2008, 09h16
  4. pb pour la rotation d'une image
    Par wawawa dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 04/05/2007, 17h33
  5. Script VBS pour connaitre taille d'une image
    Par fredoh dans le forum Windows
    Réponses: 2
    Dernier message: 24/02/2006, 14h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo