# copier une iso x86 sur une clé USB avec dd



## damien_t (25 Février 2007)

Bonjour,
je suis actuellement de passage chez mes parents, et leur ordinateur est un windows xp vérolé d'un peu partout. Je cherche à installer quelque chose de plus sympa pour moi. Je voulais mettre un freebsd ou un linux sur une clé usb et booter le pc dessus. J'ai mon ibook avec moi et une image de freebsd pour une clé usb.
Je cherchais donc à copier l'image avec la commande suivante: 


```
% sudo dd if=FreeBSDonUSB-6.1RELEASE-v0.01 of=/dev/disk2 
dd: opening `/dev/disk2': Operation not supported
```
J'ai bien tout vérifié, je ne comprends pas pourquoi ma commande ne fonctionne pas (surtout avec une erreur  'operation non supportée'). 
En faisant une copie dans l'autre sens (clé vers mon disque dur), aucun pb. A priori, mon fichier à copier est correct (la commande file me donne un ficher de type "x86 boot sector"). l'utilitaire de disque d'apple ne veut rien savoir et mes recherches sur le net n'ont rien donné. Bref, je seche.

Est-ce que quelqu'un sait comment copier une image pc sur une clé usb avec un mac ?

merci d'avance


----------



## bompi (25 Février 2007)

Je suis autant surpris que toi que la commande _dd_ ne fonctionne pas dans ce sens. Mais peut-&#234;tre pourrais-tu le faire tout simplement avec l'Utilitaire de Disque, non ?


----------



## damien_t (25 Février 2007)

bompi a dit:


> Je suis autant surpris que toi que la commande _dd_ ne fonctionne pas dans ce sens. Mais peut-être pourrais-tu le faire tout simplement avec l'Utilitaire de Disque, non ?



mais je ne demande que ça 
L'utilitaire de disque ne fonctionne pas non plus sur mon fichier. J'avais essayé avant de poster, mais de ce que j'en comprends, mon fichier n'est pas tout à fait une iso, et le mac ne peut pas monter l'image. C'est juste un "blob binaire" à copier tel quel sur une clé (c'est pour ça que je voulais utiliser dd). Ou peut être qu'il y a une commande magique pour convertir un fichier "x86 boot sector" en iso 9660.

Entre temps, j'ai téléchargé un live CD, FreeSBIE (c'est pas exactement la chose mais bon, ca fera l'affaire), et là, la commande file me dit que mon iso est "CD-ROM filesystem data 'FreeSBIE' (bootable)". Et aucun problème pour monter et graver cette image là.
Et j'ai aussi booté sur un ubuntu live powerpc, pour essayer de copier mon fichier avec le dd de linux.  Il fallait que je monte mon disque interne (histoire de voir si c'était Mac OS qui m'empêchait), manque de bol, les pilotes hfs+ ne marchent pas sur ma distro (un ubuntu powerpc, ils ont même compilés le support hfs+, pff).

je sens que je vais faire comme ils disent dans le manuel, et booter le pc sur un cd d'install de freebsd et l'installer sur directement sur la clé. Mais c'est vraiment gore. Ou encore plus gore, essayer faire ma copie à partir de windows.


----------



## bompi (25 Février 2007)

&#192; partir de Ouinedoze cela te sera en fait plus facile : je me souviens que les outils de copie genre _dd_ existent sur Ouinedoze. Soit en solo, soit avec Cygwin.


----------



## bompi (25 Février 2007)

Une version de _dd_ pour Ouinedoze.
Mais peut-&#234;tre t'es-tu tromp&#233; dans ta commande : tu as mis comme destination la clef dans son ensemble (_/dev/disk2_) mais pas une partition (genre _/dev/disk2s1_).


----------



## damien_t (26 Février 2007)

bompi a dit:


> Une version de _dd_ pour Ouinedoze.


Tom Hanks et son ile m'ennuyaient un peu. J'en ai profité pour faire quelques recherches avec l'ibook sur les genoux. J'ai sélectionné exactement la même version pour tester demain. 



> Mais peut-être t'es-tu trompé dans ta commande : tu as mis comme destination la clef dans son ensemble (_/dev/disk2_) mais pas une partition (genre _/dev/disk2s1_).


oui mais non. J'ai aussi testé. Et j'ai aussi testé avec /dev/rdisk2 (dont je connais pas la différence avec /dev/disk2). J'ai aussi fait varier le paramètre bs (même si je vois pas pourquoi il serait important). J'ai regardé la man page pour d'autres options, y'a peut être une combinaison magique mais je l'ai pas trouvée. 

Mais a priori, je veux faire une copie complète de mon image, pour une architecture qui n'a rien à voir avec Mac OS, sur un support qui n'a pas à être relu par l'OS. En théorie, c'était bien sur la clef dans son ensemble qu'il fallait écrire. 

Tant pis. Je vais utiliser la version windows en espérant ne pas me tromper de device. Ca serait ballot...


----------



## bompi (26 Février 2007)

Le 'r' de /dev/rdisk2 signifie 'raw', pour _raw device_ (&#224; opposer au _block device_) : on acc&#232;de au p&#233;riph&#233;rique de mani&#232;re brute, sans passer par la case _file system_. C'est de cette mani&#232;re que l'on peut copier des donn&#233;es sur un disque, sans avoir &#224; conna&#238;tre la structure de ces donn&#233;es.
Donc, dans ton cas, c'est avec le _raw device_ que &#231;a devrait marcher [c'est du moins ce que je faisais jusqu'&#224; pr&#233;sent avec les autres UN*X].
Cependant, je pense que le syst&#232;me contr&#244;le l'acc&#232;s &#224; la partition : on ne peut acc&#233;der au _raw device _que si le _block device_ n'est pas mont&#233;. Bref : dans l'utilitaire de disque, v&#233;rifie que la clef est pr&#233;sent mais qu'aucune partition n'est mont&#233;e.


----------



## damien_t (26 Février 2007)

bompi a dit:


> Cependant, je pense que le système contrôle l'accès à la partition : on ne peut accéder au _raw device _que si le _block device_ n'est pas monté. Bref : dans l'utilitaire de disque, vérifie que la clef est présent mais qu'aucune partition n'est montée.


Bingo ! C'est exactement ça.
Je n'ai pas encore testé le boot à partir de la clé mais cette fois, la copie a fonctionné. 

Il faut effectivement avec la clé présente dans l'utilitaire de disque, mais aucune partition  montée.
Ensuite, en tapant "sudo dd bs=1M if=blob_binaire.img of=/dev/rdisk2" , cette fois la copie fonctionne. Le bs=1M est optionnel mais la vitesse de copie est 103 kB/s sans et 4.5 MB/s avec. Je n'ai pas cherché la taille optimale pour le block size, mais 5MB/s me semble à peu près convenable.
En revenant dans l'utilitaire de disque, une nouvelle partition a remplacé toutes les autres, elle s'appelle disk2s1, elle est grisée, et elle est de type freebsd. Par contre, bizarrement, Mac OS X ne comprend pas ce type de système de fichiers.

En tout cas, super, merci beaucoup !


----------



## bompi (26 Février 2007)

Pas si curieux ... En fait, FreeBSD utilise une partition qu'il d&#233;coupe en tranches. Chaque tranche est par d&#233;faut en UFS (c'est une supposition mais j'en suis quasi-certain), que conna&#238;t Mac OS X. Mais Mac OS X ne conna&#238;t pas la partition de FreeBSD.

En tous cas, &#231;a me fait plaisir de voir quelqu'un utiliser ce syst&#232;me bien sympathique et stable, plut&#244;t que Linux [je n'ai rien contre Linux mais j'aime la diversit&#233; ].


----------



## damien_t (26 Février 2007)

bompi a dit:


> Pas si curieux ... En fait, FreeBSD utilise une partition qu'il découpe en tranches. Chaque tranche est par défaut en UFS (c'est une supposition mais j'en suis quasi-certain), que connaît Mac OS X. Mais Mac OS X ne connaît pas la partition de FreeBSD.


Oui. Mais je disais ça car la quasi totalité des commandes unix de Mac OS X vient de Freebsd. ils auraient pu garder le code pour lire le système de fichier de Freebsd (genre mount_freebsd). Vu l'héritage, cela aurait pas été étonnant, et ça aurait été sympa, même si complètement inutile (à part pour mon cas particulier)



> En tous cas, ça me fait plaisir de voir quelqu'un utiliser ce système bien sympathique et stable, plutôt que Linux [je n'ai rien contre Linux mais j'aime la diversité ].



Sur le plan technique, à mon avis ça se vaut. Par contre, le truc génial avec les BSDs, c'est d'avoir des pages de man à jour et contenant des informations utiles, le FreeBSD Handbook qui couvre efficacement 90% des situations, des utilitaires qui sont toujours à la même place, et des choix pragmatiques pour l'organisation du système. Et la syntaxe de pf est un rêve à coté de celle d'iptables. J'adorerais avoir un FreeBSD pour les systèmes embarqués à la place de mon openwrt.


----------

