7 votes

MacOS Sierra : dd vers USB est très lent et ne semble pas pouvoir utiliser /dev/rdisk

(merci à tous pour votre aide et vos suggestions, mais je suspends ce projet pour l'instant, le temps de trouver mes erreurs de formatage sur cette carte SD. Si je n'arrive pas à faire fonctionner cette SD, il y a peu de raisons de s'attendre à ce qu'elle fonctionne. dd pour fonctionner, même si d'autres personnes ont rencontré des problèmes similaires en faisant cela sur osx).

J'essaie, en tant que Root, d'écrire sur une micro SD pour charger le Linux d'un Raspberry Pi :

W$dd bs=1m if=/Users/jluc/Downloads/2017-01-11-raspbian-jessie.img of=/dev/disk2

Il est extrêmement lent, il tourne depuis 8-9 heures et n'a pas écrit grand chose quand je le tue.

301989888 bytes transferred in 23103.442503 secs (13071 bytes/sec)

Maintenant, dans des articles tels que Solution : dd trop lent sur Mac OS X il conseille d'utiliser /dev/rdisk parce qu'il est traité différemment.

Mais à chaque fois que j'ai utilisé /rdiskN au lieu de /disqueN j'obtiens :

dd: /dev/rdisk2: Input/output error

Ceci est sur Sierra, mais cela a fonctionné sur Yosemite, si je me souviens bien.

INSTALLATION DES IMAGES DU SYSTÈME D'EXPLOITATION SUR MAC OS mentionne la possibilité que /rdisk ne fonctionne pas et vous conseille d'utiliser /disk à la place.

Qu'est-ce qui se passe ? Est-ce une nouveauté de Sierra par rapport aux versions précédentes ?

mise à jour : j'ai essayé la suggestion selon @oa et j'obtiens toujours la même erreur.

En cherchant, j'ai trouvé ça : https://stackoverflow.com/questions/37232109/how-to-fix-bad-dd-img-write-to-sdcard . Ce message concerne un fichier image trop grand pour la carte SD. J'ai un fichier image de 4,1 Go, et celui-ci est un fichier de 32 Go, donc cela ne s'applique pas.

Mais... ce que j'ai remarqué c'est que diskutil list a un certain nombre de choses pour ce disque.

jluc@node_modules$ diskutil list /dev/disk2
/dev/disk2 (external, physical):
#:                       TYPE NAME                    SIZE         IDENTIFIER
 0:     FDisk_partition_scheme                        *32.1 GB    disk2
 1:             Windows_FAT_32 boot                    66.1 MB    disk2s1
 2:                      Linux                         32.0 GB    disk2s2

Vous voyez comment la première partition, le démarrage en FAT32 montre @ 66.MB ?

Je regarde encore un peu :

jluc@node_modules$ df -h | egrep "disk2|Filesystem"
Filesystem                          Size   Used  Avail Capacity iused      ifree %iused  Mounted on
 /dev/disk2s1                        63Mi   21Mi   42Mi    33%     512          0  100%   /Volumes/boot

Je me demande donc si ce n'est pas le fait que /dev/disk2 n'est pas interprété comme étant seulement de 60 Mo à cause du démarrage et que je reçois donc une erreur de capacité. Je vais d'abord essayer de le repartitionner.

6voto

oa- Points 7403

J'ai installé la même image hier soir sur une RPi3.

Vous devez d'abord démonter le disque. Ensuite, vous pouvez écrire sur le disque en utilisant sudo.

diskutil unmountDisk /dev/rdisk2
sudo dd bs=1m if=~/Downloads/your_image.img of=/dev/rdisk2
diskutil unmountDisk /dev/disk2

Je suis aussi sur MacOS Sierra.

2voto

evilcandybag Points 101

Ça marche pour moi ! Vous serez peut-être intéressé par le script que j'utilise, qui permet de copier des images et des sauvegardes compressées.

Il comprend des contrôles pour éviter que vous écrasiez quelque chose d'autre par inadvertance et démonte automatiquement la carte SD.

Vous devez personnaliser le script avec disque y image .

#!/bin/bash
# script to restore backup to Pi SD card
# 2016-10-24

DSK='disk3'

# Image name (no ext)
IMG='ubuntu-standard-16.04-server-armhf-raspberry-pi'

# Check for sensible disk
export PTYPE=$(diskutil list  /dev/$DSK | awk '/GUID_partition_scheme/ {print $2}; /Apple/ {print $2}; /Windows_NTFS/ {print $2}' )
if [ "$PTYPE" ]; then
    echo "Disk not a SD Card - Contains "$PTYPE
    exit
elif [ ! /dev/$DSK ]; then
    echo "/dev/$DSK not found"
    exit
fi

echo Ensure SD partitions are unmounted!
diskutil unmountDisk /dev/$DSK

# Check if image exists - else try to uncompress
if [ -s $IMG.img ]; then
echo $IMG.img exists
elif [ -s $IMG.img.gz ]; then
echo Uncompressing $IMG.img.gz
echo Ctl+T to show progress!
time  gunzip -k $IMG.img.gz
fi

echo please wait - This takes some time
echo Ctl+T to show progress!
time sudo dd if=$IMG.img of=/dev/r$DSK bs=1m

exit

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X