Accueil du site > Archives > De Mac OS 9 à Linux > Virtual Mac > Graver un CD sous Basilisk II

Graver un CD sous Basilisk II

juillet 2003

Disposer d’un Mac virtuel c’est bien mais insuffisant. Comment peut-on conserver sur CD, au format Mac, des données traitées ? Encore plus fort, comment faire un CD système permettant de démarrer un Mac virtuel ou réel ?

Il est assez simple de permettre au Mac virtuel d’accéder à l’imprimante ou le modem. Les CD sont insérés dans les lecteurs sont automatiquement lus, sans qu’on ait le moindre réglage à faire. Il en va autrement pour accéder au graveur, déjà problématique sousLlinux... L’idée présentée ici consiste à contourner la difficulté tout en obtenant le résultat voulu (graver un CD Mac) sans demander au Mac virtuel de réaliser lui-même la gravuer du CD.

On va donc créer des CD à partir du Mac, mais sans les graver depuis le Mac. Pour ce faire on va utiliser la technique des "images" de CD. Une image n’est qu’un fichier contenant l’information binaire exactement telle qu’elle doit être gravée sur le CD. Pour finir, on gravera le fichier-image depuis LInux.

Dans mon cas, sur BasiliskII, j’ai utilisé le logiciel de création de CD "Toast", un classique sous Mac. J’ai composé mon CD comme si j’allais le graver mais, au lieu de lancer la gravure, j’ai choisi l’option enregistrer dans une image. On se trouve alors face à la fenêtre de dialogue de sauvegarde, habituelle du Mac. Il faut penser à enregistrer le fichier-image dans un répertoire accessible depuis linux, c’est-à-dire même lorsqu’on a quitté l’émulateur. Pour créer un tel répertoire/dossier, accessible depuis Linux et Mac OS, il suffit de déclarer, comme valeur du paramètre Unix Root de Basilisk, le répertoire Linux que l’on veut "partager".

Il ne reste plus qu’à graver réellement cette image sur un CD, depuis linux. En effet, le fichier image créé par Toast est directement utilisable par un logiciel de gravure linux ! Épatant, non ? Tout logiciel correct devrait savoir faire ça, avec l’option "graver une image ISO". Personnellement, j’ai utilisé gCombust.

Au final, j’obtiens un CD au format Mac, parfaitement reconnu par un vrai Mac. On peut même créer des CD systèmes, avec lesquels on peut faire démarrer un Macintosh.

La duplication de CD

Le fin du fin est tout de même de réaliser une copie conforme d’un CD original. Dans la terminologe de Toast, cela s’appelle la "copie SCSI". C’est très efficace et très pratique pour effectuer des doubles parfaits du CD de votre jeu préféré ou de votre logiciel favori. En toute logique, Toast demande alors le numéro SCSI du lecteur de CD contenant l’original... Cela soulève deux problèmes qui se résolvent très bien.

En premier lieu, la plupart des PC utilisent des lecteurs et des graveurs de CD à la norme IDE et non à la norme SCSI. On serait bloqués dès le départ, pour cause d’incompatibilité matérielle. Heureusement Linux a déjà résolu ce problème puisqu’il donne la possibilité de réaliser une émulation SCSI des lecteurs/graveurs IDE (pour une description des opérations, lire le HOWTO SCSI de linux). Une fois le lecteur IDE émulé en SCSI, toute application sous Linux exigeant un périphérique pourra exploiter le lecteur IDE en croyant avoir affaire à un lecteur SCSI. Le lecteur de CD émulé possède notament le fameux numéro SCSI que nous demande Toast. Seulement voilà, Basilisk fait lui-même une émulation des CD qui efface toute différence entre lecteurs IDE et SCSI. C’est d’ailleurs ce qui permet de monter un CD sur le bureau du Mac virtuel sans se soucier de tous ces détails. Mais là, on voudrait, au contraire, que le lecteur de CD soit explicitement reconnu par Basilisk comme un périphérique SCSI.

Basilisk permet de le faire. Il permet d’ailleurs de déclarer n’importe quel périphérique SCSI (vrai ou émulé) raccordé au PC-Linux. Depuis le Mac virtuel, on peut ainsi utiliser un scanner SCSI, par exemple. Dans Basilisk, la déclaration d’un périphérique SCSI se fait dans les préférences, c’est-à-dire le panneau de réglage qui s’affiche lors du lancement de l’application. Dans le volet SCSI on voit que l’on peut déclarer 7 périphériques SCSI, numérotés de 0 à 6. Précisons tout de suite qu’on est totalement libre du choix du numéro. Je m’explique, si mon lecteur de CD possède le numéro SCSI 1 pour Linux, je peux décider de lui donner le numéro 3 (standard Mac) dans mon Mac Virtuel. Basilisk se chargera d’assurer la correspondance entre les deux.

Tout ça c’est très bien, mais que dois-je taper pour déclarer que mon lecteur IDE émulé en SCSI (par linux) est le périphérique SCSI 3 ?

Tous les périphériques reconnus par votre PC-Linux sont répertoriés dans le dossier /dev de votre système. En fait, un périphérique nous est présenté comme un fichier décrivant l’interface avec ce périphérique (c’est troublant mais on s’y fait). La plupart des périphériques y sont même déclarés plusieurs fois : un fois en "vrai" et plusieurs fois sous forme de liens symboliques (les alias en langage Mac). Ainsi, l’alias le plus couramment utilisé pour identifier le lecteur de CD sous linux est /dev/cdrom. C’est ainsi que vous désignerez votre lecteur aux applications Linux qui vous le demanderont. Mais cela ne conviendra pas à Basilisk. En effet, l’interface avec un disque dur ou un CD-ROM est différente du Mac (même virtuel) au PC. Vous devrez donc suivre le lien symbolique /dev/cdrom jusqu’au moment où vous tomberez sur le "vrai" fichier (attention, un lien peut pointer sur un autre lien, et ainsi de suite...). Une fos arrivé dans le répertoire contenant le "vrai" fichier, vous verrez qu’un autre fichier, dénommé "generic" est également présent. C’est le chemin complet vers ce fichier là que vous devez saisir, dans le réglages SCSI de Basilisk. À titre d’exemple, voici le chemin correspondant à mon lecteur/graveur IDE emulé en SCSI : /dev/scsi/host1/bus0/target0/lun0/generic

Une fois Basilisk convenablement paramétré, il suffit de le lancer, comme d’habitude. Si l’on ouvre l’application Toast et si l’on choisi "copie SCSI", on voit apparaître une liste de périphériques proposés. Elle contiendra au moins notre lecteur de CD qui apparaîtra bien comme le périphérique SCSI numéro 3. Pour duplique le CD contenu dans le lecteur, comme précédemment, on utilisera la technique de sauvegarde sous forme d’mages-disques (que l’on gravera directement depuis Linux).

P.-S.

La configuration : Mandrake 9.1, graveur LiteOn ide en émulation scsi, gCombust, BasiliskII (ROM QUAD650 - MacOS 8.1),Toast Pro 3.5.3.