Créer des CD d'installation à partir de diverses distributions <author>Mark Nielsen & Krassimir Petrov<newline> Traducteur~: <url url="mailto:joels69@club-internet.fr" name="Joel Sagnes"> <sect>Créer des CD d'installation à partir de diverses distributions <p> Par <em><url url="mailto:mark@tcu-inc.com" name="Mark Nielsen"></em> et <em><url url="mailto:kris@tcu-inc.com" name="Krassimir Petrov"></em><newline> à <em><url url="http://www.tcu-inc.com" name="The Computer Underground"></em> <p> Ce document, viendrait-il à être modifié, est disponible ici~: <url url="http://www.tcu-inc.com/mark/articles/cdburn.html" name="http://www.tcu-inc.com/mark/articles/cdburn.html"> <sect1> Index <p> <enum> <item><ref id="ref" name="Références"> <item><ref id="intro" name="Introduction à la gravure de cd-rom"> <item><ref id="ide" name="Installation d'un graveur de cd-rom IDE"> <item><ref id="programs" name="Cdrecord et Xcdroast"> <item><ref id="download" name="Téléchargement de vos distributions préférées"> <item><ref id="write" name="Gravure du cd-rom"> <item><ref id="conclusions" name="Conclusions et articles à venir"> </enum> </sect1> <sect1>Références <label id="ref"> <p> <enum> <item><url url="http://www.guug.de/~winni/linux/cdr/html/" name="CD-Writing HOWTO"> par Winfried Trümper<newline> (en français~: <url url="http://www.freenix.org/unix/linux/HOWTO/CD-Writing-HOWTO.html" name="CD-Writing HOWTO">) <item><url url="http://www.linuxdoc.org/HOWTO/mini/LILO.html" name="Lilo mini-Howto"><newline> (en français~: <url url="http://www.freenix.org/unix/linux/HOWTO/mini/LILO.html" name="Lilo mini-Howto">) <item><url url="http://www.fh-muenchen.de/rz/xcdroast" name="Xcdroast"> </enum> </sect1> <sect1>Introduction à la gravure de CD-ROM <label id="intro"> <p> Le but de cet article est d'exposer la façon de créer un CD-ROM d'installation à partir de l'une des distributions de Linux. Nous limiterons notre propos aux graveurs IDE, à tout client ftp, au programme <tt>cdrecord</tt>, et aux images ISO préassemblées telles qu'on en trouve pour les distributions de Linux. Nous interviendrons aussi sur le fichier <tt>/etc/lilo.conf</tt>. Ce document peut-être modifié et diffusé avec ou sans l'accord de ses auteurs. Ceux-ci déclinent toute responsabilité à son sujet~: vous l'utiliserez à vos risques et périls. </sect1> <sect1>Installation d'un graveur de CD-ROM IDE <label id="ide"> <p> En général, l'emploi de graveurs SCSI est assez simple, mais la plupart des gens disposent d'un modèle IDE et c'est ce que nous utilisons. De ce fait, nous ne traiterons que de ceux-ci. Tout d'abord, il existe deux types de graveurs~: ceux qui écrivent sur des CD enregistrables (CD-R) et ceux qui écrivent sur des CD réenregistrable (CD-RW). Tous deux fonctionneront de façon satisfaisante. Les graveurs de CD-R n'écrivent qu'une fois sur des support d'un coût modique (10 FF l'unité, voire moins). Les graveurs de CD-RW peuvent eux effacer et réécrire sur des disques spécifiques plus chers tout en se comportant également comme des graveurs de CD-R. Ensuite, afin de pouvoir utiliser un graveur IDE, il faut faire croire au micro<!-- NdT: plutôt au soft de gravure, non ? --> qu'il a affaire à un modèle SCSI. On y parvient en liant un module du noyau Linux appelé "ide-scsi" au graveur IDE puis en chargeant ledit module. Il y a deux façons de réaliser cette liaison~: par l'intermédiaire de l'invite de <tt>lilo</tt> ou depuis le fichier <tt>/etc/lilo.conf</tt>. Nous supposerons que votre graveur est <tt>/dev/hdd</tt>. Voici une explication de ce qu'est <tt>/dev/hdd</tt><!-- NdT: Un peu off-topic, quand même. C'est de la Linuxerie basique. M'enfin... -->. <enum>Si votre graveur est <item> maître sur le port IDE primaire, il sera <tt>/dev/hda</tt>. <item> esclave sur le port IDE primaire, il sera <tt>/dev/hdb</tt>. <item> maître sur le port IDE secondaire, il sera <tt>/dev/hdc</tt>. <item> esclave sur le port IDE secondaire, il sera <tt>/dev/hdd</tt>. </enum> Voici les deux façons de lier le module <tt>ide-scsi</tt> à votre graveur. <enum> <item>A l'invite de <tt>lilo</tt>, lors du démarrage de votre Linuxette, appuyez sur la touche de tabulation. Vous obtiendrez une liste de noyaux disponibles. Nous utiliserons par exemple le mot "linux" pour désigner un noyau sur notre système. Si c'est aussi le cas pour vous, alors tapez <p> <tt>linux hdd=ide-scsi</tt> <p> et le graveur situé en <tt>/dev/hdd</tt> deviendra un modèle SCSI en <tt>/dev/scd0</tt>. <p> <item> Si vous voulez que ce soit <tt>lilo</tt> qui le configure, il faut que vous ajoutiez la ligne qui suit dans le fichier <tt>/etc/lilo.conf</tt>~: <p> <tt>append="hdd=ide-scsi"</tt> <p> voici un fichier type en guise d'exemple~: <verb> boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 image=/boot/vmlinuz-2.2.5-15 label=linux root=/dev/hda1 initrd=/boot/initrd-2.2.5-15.img append="hdd=ide-scsi" read-only </verb> puis, une fois la modification faite, entrez la commande <tt>lilo</tt> afin que lilo soit réinstallé. Ensuite, redémarrez la machine. </enum> Pour pouvoir charger le module ide-scsi, tapez <tt>insmod ide-scsi</tt> à l'invite du shell. Vous pouvez également placer cette commande à la fin du fichier <tt>/etc/rc.d/rc.local</tt> (pour les utilisateurs de RedHat) pour qu'elle soit lancée à chaque démarrage. N'oubliez pas~! Après que votre graveur IDE ait été correctement configuré, il se trouvera en <tt>/dev/scd0</tt>. Pour que cela reste ainsi, faites~: <verb> rm -f /dev/cdrom ln -s /dev/scd0 /dev/cdrom </verb> Certains programmes s'attendant à trouver votre lecteur de cd-roms en <tt>/dev/cdrom</tt>, ceci liera (ou créera un alias) entre celui-ci et <tt>/dev/cdrom</tt>. </sect1> <sect1>Cdrecord et Xcdroast <label id="programs"> <p> Sous Linux, il existe deux<!-- NdT: plus que ça, en fait (gcombust, entre autres). NdR: En fait je pense qu'il veut dire que Xcdroast est utilisable par lui meme. Il est fourni avec ses propres executables cdrecord et mkisofs. Tous les autres ne sont que des "Front-End". Enfin, je pense !--> programmes permettant de créer des cd-roms~: <tt>cdrecord</tt> et <tt>Xcdroast</tt>, ce dernier possédant une interface graphique. Nous nous limiterons à <tt>cdrecord</tt>. Voici néanmoins un lien sur <url url="http://www.fh-muenchen.de/rz/xcdroast" name="Xcdroast"> si vous cherchez de plus amples renseignements. Un détail le concernant~: il vous faudra une partition primaire disponible (environ 1~Go) pour pouvoir l'utiliser normalement<!-- NdT: Ah bon ? Really ? Bon, à vérifier... NdR: Non, pas du tout. Chez moi ca marche tres bien sans. -->. Une fois le graveur lié au module ide-scsi et celui-ci chargé, vous voudrez vous assurer qu'il est reconnu par <tt>cdrecord</tt>. La commande <tt>cdrecord</tt> dispose d'une option spécifique qui va permettre de tenter de le détecter. Le format en est~: <verb> # cdrecord -scanbus. </verb> Si votre graveur IDE n'est pas installé correctement, vous obtiendrez sans doute cette réponse~: <verb> # cdrecord -scanbus cdrecord: No such file or directory. Cannot open SCSI driver. </verb> Si tout s'est bien passé, vous devriez avoir ceci~: <verb> # cdrecord -scanbus Using libscg version 'schily-0.1' scsibus0: 0,0,0 0) 'ATAPI " 'CD-R/RW CRW6206A' '1.2A' Removable CD-ROM 0,1,0 1) * 0,2,0 2) * 0,3,0 3) * ............. 0,7,0 7) * </verb> Ce qui signifie en gros que le système a reconnu le CD-RW Acer 6206A en tant que périphérique SCSI et est prêt à graver. Ici, il convient de noter un détail important~: le triplet <tt><0,0,0></tt> qui identifie l'unité CD-R. Il sera nécessaire pour un usage correct de <tt>cdrecord</tt>. </sect1> <sect1>Téléchargement de votre distribution de Linux préférée <label id="download"> <p> Nous en sommes au stade où nous devons récupérer une distribution. Afin de pouvoir graver un CD, il nous en faut l'image, plus connue sous le nom d'image ISO. En obtenir une est assez facile si vous avez déjà utilisé Netscape ou tout autre client ftp. La façon la plus simple de trouver des distributions est d'aller se promener sur Internet. En utilisant par exemple Netscape. Vous pouvez vous rendre sur un site consacré à Linux qui en contiendra la plupart ou bien sur un site web spécifique à l'une d'elles d'où vous pourrez directement la télécharger. Vous pourrez tout aussi bien avoir recours à un site miroir. Pour ce qui nous concerne, nous sommes allés sur le site web de RedHat mais avons préféré récupérer l'image depuis un des miroirs, ceux-ci pouvant être moins surchargés. Notre choix s'est porté sur <url url="ftp://sunsite.utk.edu/" name="ftp://sunsite.utk.edu"> et voici <url url="ftp://sunsite.utk.edu/pub/linux/redhat/redhat/redhat-6.1/iso/6.1-i386.iso" name="l'image pour la distribution RedHat 6.1"> sur plate-forme Intel. Un détail, pour vous Linuxiens, si vous utilisez Netscape pour télécharger une image ISO depuis un site ftp, pressez la touche "shift" pendant que vous cliquez sur le lien de cette image, sinon celle-ci se retrouvera dans votre navigateur et vous ne verrez que des hiéroglyphes<!-- NdR: comment ca ! les hieroglyphes c'est bon a mettre a la poubelle ! ;) -->. Si vous préférez une alternative à Netscape pour télécharger des fichiers depuis un site ftp, prenez "ncftp" ou "gftp". Rappelez-vous, si votre client ftp ne détecte pas automatiquement les modes binaire et ASCII, de lui dire de choisir "binaire". En général, il suffit de taper "bin" à l'invite du client ftp pour régler cela. Voici une petite liste d'images ISO. Nous n'avons pas testé celles de SuSE, Caldera et Slackware. Nous ne savons pas si celles de la Slackware sont les dernières versions. <enum> <item> <url url="ftp://sunsite.utk.edu/pub/linux/redhat/redhat/redhat-6.1/iso/6.1-i386.iso" name="ftp://sunsite.utk.edu/pub/linux/redhat/redhat/redhat-6.1/iso/6.1-i386.iso"> <item> <url url="ftp://sunsite.utk.edu/pub/linux/Mandrake/iso/mandrake70.iso" name="ftp://sunsite.utk.edu/pub/linux/Mandrake/iso/mandrake70.iso"> <item> <url url="ftp://ftp.suse.com/pub/suse/i386/evaluation-6.3.iso" name="ftp://ftp.suse.com/pub/suse/i386/evaluation-6.3.iso"> <item> <url url="ftp://ftp.caldera.com/pub/openlinux/2.3/iso-images/" name="ftp://ftp.caldera.com/pub/openlinux/2.3/iso-images/"> <item> <url url="ftp://ftp.cdrom.com/pub/linux/slackware/iso/" name="ftp://ftp.cdrom.com/pub/linux/slackware/iso/"> </enum> Nous aimons bien <tt>ftp://sunsite.utk.edu/pub/linux/redhat/redhat/redhat-6.1/iso</tt> pour ses débits souvent très élevés. A 7 heures du matin sur la côte Est des États-Unis, nous arrivons à obtenir une moyenne de 380~Ko/sec, ce qui fait que le téléchargement de près de 650~Mo peut être terminé en à peu près une demi-heure. Nous l'apprécions aussi pour autre chose~: une fois que vous êtes dans le répertoire <tt>pub/Linux</tt> vous pouvez remarquer les distributions Mandrake et Debian. Nous récupérons le fichier <tt>6.1-i386.iso</tt> dans le répertoire <tt>/tmp</tt>. A présent que notre CD-R est configuré et l'image récupérée, nous pouvons passer à la gravure du CD. </sect1> <sect1>Gravure du CD <label id="write"> <p> Vous pouvez utiliser <tt>Xcdroast</tt> pour installer l'image, mais nous nous servirons de <tt>cdrecord</tt> pour cet exemple. Nous avons placé un CD-R vierge dans le graveur, sommes allés dans le répertoire <tt>/tmp</tt> grâce à <tt>cd</tt>, puis avons tapé la commande~: <verb> cdrecord -v speed=2 dev=0,0,0 6.1-i386.iso </verb> Expliquons-en la signification. Tout d'abord, <tt>cdrecord</tt> est la commande en elle-même. Ensuite, <tt>-v</tt> est l'option qui permet de rendre l'opération bavarde~: on va recevoir les messages émis par le noyau au fur et à mesure du déroulement de la commande. Puis, <tt>speed=2</tt> indique la vitesse de gravure. Bien sûr, vous ne devriez pas en utiliser une qui soit supérieure à celle de votre graveur. Notre Acer porte l'indication de 2x2x6 ce qui signifie que notre vitesse de gravure maximale est de 2. Ensuite, vous devez désigner explicitement le graveur dans la ligne de commande. Nous avons mis <tt>dev=0,0,0</tt>. C'est le "triplet" que nous avons évoqué plus haut. Pour déterminer le votre, utilisez la sortie donnée par la commande <tt>cdrecord -scanbus</tt>. Enfin, <tt>6.1-i386.iso</tt> est le fichier contenant l'image ISO destinée à être gravée. </sect1> <sect1>Conclusions et articles à venir <label id="conclusions"> <p> Notons que les professionnels ont tendance à employer des graveurs SCSI. Les systèmes SCSI sont nettement meilleurs que leurs pendants IDE. Afin d'être en mesure d'avoir accès à des possibilités avancées de la gravure, telles que le ré-enregistrement ou l'écriture multi-sessions, vous devrez utiliser <tt>cdrecord</tt> et PAS <tt>Xcdroast</tt> (à moins que ce dernier n'ait changé entre-temps). Cet article n'est rien d'autre qu'un simple préambule destiné à dresser le décor en prévision de ceux que nous allons écrire. Nous y traiterons de la manière de créer un cd-rom bootable (au lieu de démarrer la machine depuis un disque dur ou un lecteur de disquettes), d'implanter un système de fichiers <em>live</em> sur un tel CD (certaines distributions de Linux en comportent), et comment réaliser des stations de travail Linux <em>diskless</em>. <p> <url url="mailto:kris@tcu-inc.com" name="Le Dr. Krassimir Petrov">~vient d'être diplômé de l'OSU.<p> <url url="mailto:mark@tcu-inc.com" name="Mark Nielsen">~travaille pour <url url="http://www.tcu-inc.com" name="The Computer Underground">~comme vendeur<!-- NdT: ou employé ? (vague). NdR: t'aurais pas un Harrap's shorter toi ! ;) --> et comme relieur chez <url url="http://www.genericbooks.com" name="ZING">. Il occupe son temps libre par du bénévolat, comme l'écriture d'articles pour <em>The Linux Gazette</em> et le développement du site web de ZING. </sect> </article>