| 
 | 
|  | 
| 
 | 
| Ce document est disponible en: English Deutsch Francais Italiano Nederlands Turkce | 
| ![[Photo of the Author]](../../common/images/TjaboKloppenburg.png)  par Tjabo Kloppenburg (homepage) L´auteur: J'ai été contaminé en 1996. Avec une Slackware 3.1 :-). J'aime les langages de script comme Python, Perl, GAWK, etc. Je m'intéresse aussi aux périphériques de démarrage. Traduit en Français par: Iznogood <iznogood /at/ iznogood-factory.org> Sommaire: 
 | 
| CDROM 8cm multi-démarrage avec un Linux Knoppix modifié![[Illustration]](../../common/images/illustration298.png)  Résumé: 
 Après avoir lu quelques articles de linuxfocus et d'autres pages web, j'ai
    finalement trouvé une méthode fiable pour créer des CDROM de démarrage, afin
    de lancer des disques sains (sans virus), des systèmes sans disques
    durs ou un système Knoppix adapté. | 
Je suppose que vous possédez les bases et que vous savez
    comment graver des CD. Vous devez avoir un graveur qui puisse aussi graver des
    CD-RW. C'est une bonne chose puisque faire des erreurs est une façon
    d'apprendre...
    Il vous faut un disque CD-RW, quelques CD-R 8cms (ou CD-RW) et un système
    Linux fonctionnel avec quelques centaines de Mo disponibles.
    Plus tard, lors de l'intégration de Knoppix, nous devrons avoir un accès réseau rapide
    car nous devrons télécharger des paquetages depuis Internet. Si vous
    savez comment installer NFS ou samba pour obtenir un miroir local
    Debian, vous n'avez pas besoin de l'accès réseau rapide. Vous devez enfin avoir
    quelques connaissances sur Debian (installer et désinstaller des paquetages) ou un
    ami/canal IRC où poser vos questions. Vous devez aussi savoir comment
    utiliser un périphérique "loop".
    
Démarrer depuis des CDROM est très similaire au démarrage depuis une disquette ou
    un disque dur. Des éléments du disque sont lus en mémoire par le BIOS et s'ensuit
    une phase d'initialisation. Au début des CDROM, ceux-ci n'étaient pas
    destinés au démarrage, les développeurs de matériel ont dû faire
    de la magie : après avoir fait des changements spécifiques dans les BIOS, ils ont
    finalement défini le standard « el torito ».
    
    Il définit une structure sur le CDROM, contenant une image de démarrage et un peu de
    code pour le BIOS afin de charger cette structure dans la mémoire, c'est-à-dire
    d'émuler une disquette dans la mémoire. Après avoir chargé le disque en mémoire,
    il démarre comme n'importe quel disque de lancement.
    
    Avec cette émulation de disquette, nous pouvons créer un CDROM de démarrage avec une simple
    image de disque, le lancer avec une disquette 1.44Mo ou une avec 2.44Mo. Vous n'avez
    jamais vu une telle disquette mais le BIOS peut la gérer. Pour démarrer depuis le CDROM,
    nous n'avons pas besoin d'une disquette de 2.88 MB - simplement d'une image de disque
    créée avec le périphérique loop et quelques outils.
    
    Un disque simple n'est pas multi-démarrage. Nous avons besoin d'un outil pour
    charger et initialiser d'autres images de démarrage depuis un système de fichiers.
    Boot-Scriptor est notre ami. Avec boot-scriptor, nous allons démarrer depuis un CDROM
    avec un chargeur (sans émulation de disque, c'est aussi faisable) et nous allons
    ensuite choisir une image de disque dans un menu. Boot-Scriptor fera un peu de magie
    pour charger l'image dans un émulateur de disquette, d'où l'image démarrera
    comme à partir d'une disquette dans le lecteur.
    
    Ces disques de démarrage peuvent être des images de disque comme les disques de démarrage
    windoze de différentes versions, un changeur de mot de passe NT, une mini distribution
    Linux ou un disque de démarrage Knoppix pour lancer un système Knoppix de taille moyenne.
Nous avons besoin d'un répertoire avec suffisamment d'espace vide pour construire
    la structure de répertoire de notre CDROM. Je suppose que vous avez beaucoup d'espace
    dans votre répertoire « /data ». Le répertoire de base de notre
    projet peut être « /data/mboot ». J'ai créé à l'intérieur deux répertoires,
    « toolcd/ » (contenu du cd) et « /archive » (versions orginales
    des outils que j'utilise, comme les scanners de virus).
    
Récupérez l'archive et les fichiers INI sur Boot-Scriptor.
     Il n'y a pas de documentation dans l'archive, vous ne la trouverez que sur le site web.
    
    Boot-Scriptor a besoin de son propre répertoire « bscript/ » sur le CDROM,
    avec le chargeur, un fichier graphique optionnel (voir les docs) et un fichier appelé
    « bscript.ini ».
    Ce fichier définit le menu de démarrage dans un langage comme le basic, possèdant des
    commandes comme « print », « onkey » (branchement sur la touche
    pressée) et « memdisk » (image de disque de démarrage).
    
    Jetez un oeil à ce petit exemple et créez votre propre fichier ini :
print "\ac\c0e--=> mon CDROM multi-démarrage avec Linux <=--" print "F1 Disque de démarrage 1" print " w démarrage à chaud" MenuLoop: onkey f1 goto bootDisk1 onkey w reboot warm goto MenuLoop bootDisk1: memdisk \images\boot1.img
Il existe un tas d'autres commandes. Faites une copie de la documentation et placez-la quelque part dans la structure du répertoire du CDROM. Vous en aurez besoin dans les premières étapes pour comprendre les commandes de base.
Pour le premier CDROM de test, nous avons simplement besoin d'un simple disque de démarrage
    comme celui de windoze. Ou d'un disque de démarrage Linux créé avec lilo. Ou
    essayez un de ces petits systèmes Linux à disque unique comme HAL ou TomsRtBt (2.88MB). Demandez-le
    à votre moteur de recherche web favori.
    
    Nous utilisons « dd » pour créer un fichier image depuis le disque dur :
    
( insert disk ) # cd /data/mboot/toolcd # mkdir images (répertoire pour les images de disque) # dd if=/dev/fd0 of=images/boot1.img
Le programme « mkisofs » doit être lancé avec l'option « -b » pour s'assurer d'une bonne
    installation du chargeur de démarrage. Le chemin de l'argument « -b » est relatif au
    répertoire de base du CDROM (« toolcd/ »):
    
# cd /data/mboot
# mkisofs -r -o iso.01 -b bscript/loader.bin \
          -no-emul-boot -boot-load-size 4 toolcd
    bscript.ini », vous pouvez jeter le CD à la poubelle.
    Gravez donc un CD-RW :-).cdrecord » possède deux modes :
    « blank=fast » et « blank=all ». Le mode "fast" est le plus rapide :).dev du graveur.
    Tapez « cdrecord -scanbus » pour voir tous les périphériques disponibles.
    S'il n'y a pas de périphérique, vous devrez charger un module de pilote de périphérique
    comme « ide-scsi » avec une commande telle que « modprobe ide-scsi ».# cdrecord -scanbus Cdrecord 1.10 (i686-pc-linux-gnu) (C) 1995-2001 J. Schilling Linux sg driver version: 3.1.22 Using libscg version 'schily-0.5' scsibus0: 0,0,0 0) 'LG ' 'CD-RW CED-8083B ' '1.05' Removable CD-ROM ... # cdrecord -v dev=0,0,0 speed=32 iso.01
L'appel à « mkisofs » possède de nombreux caractères, rendant facile
    l'oubli ou les fautes de frappe. « cdrecord » nécessite des aussi des
    paramètres corrects; c'est donc une bonne idée d'utiliser un script ou un Makefile pour
    s'assurer des arguments de commande corrects. Nous utiliserons un Makefile pour la
    commande « make ». Installez-le si vous ne l'avez pas sur votre système.
    « make » est l'une des commandes qu'un programmeur doit connnaître.
    
    Nous placerons le Makefile dans la structure du répertoire du CDROM, le liant au répertoire
    « mboot/ ». Ce n'est pas seulement une des façons de le faire -
   c'est une bonne idée d'y placer tous les éléments dont nous avons besoin pour créer
   le CDROM. Cela permet de créer de meilleurs CDROM, même si vous n'avez plus les
   fichiers sur le disque dur, c'est donc aussi une bonne sauvegarde... :-).
    
    Le Makefile peut être simple. Vous avez ici un exemple :
    
BASE = toolcd
DEV = 0,0,0
SPEED = 4
VERSION = 01
ISO = iso.$(BASE).$(VERSION)
OPTIONS= -b bscript/loader.bin -no-emul-boot -boot-load-size 4
blank:
    cdrecord -v dev=$(DEV) blank=fast
blankall:
    cdrecord -v dev=$(DEV) blank=all
iso:
    echo "deleting ~ files:"
    @find $(BASE) -name "*~" -exec rm {} \;
    echo "creating iso file:"
    @mkisofs -r -o $(ISO) $(OPTIONS) $(BASE)
    @echo
    ls -al $(ISO)
burn:
    cdrecord -v dev=$(DEV) speed=$(SPEED) $(ISO)
    /data/mboot/toolcd/scripts » est
    idéal. Nous créons un lien symbolique vers « /data/mboot/Makefile » :
# cd /data/mboot # ln -s toolcd/scripts/Makefile Makefile
mboot/ » :# make blank # make iso # make burn
Vous trouverez d'autres disques de démarrage dans vos distributions et sur le web.
    Mais rappelez-vous que vous ne savez jamais réellement ce qu'il y a sur une
    image de disque téléchargée depuis internet. Je pense que c'est toujours une
    bonne idée de demander à un moteur de recherche comme google si quelqu'un a eu
    des problèmes en utilisant un disque de démarrage pris sur un site internet.
    Et lancez un scanner de virus sur les disques.
    
    J'ai récupéré quelques disques de démarrage sur www.bootdisk.com. Les disques sont des versions
    anglaises, la plupart d'entre eux possèdent un support CDROM. Il est recommandé de scanner le CDROM
    pour découvrir d'éventuels virus ou de lancer une mise à jour du BIOS
    depuis un autre CDROM. J'aime beaucoup l'image de disque de démarrage « drdflash »,
    fournissant un disque de démarrage minimum avec suffisament d'espace pour "flasher"
    le BIOS. Utilisez simplement « rawrite » (dos) ou « dd »
    (linux) pour écrire l'image sur un disque et vous aurez un "flasheur"
    de BIOS en une minute. J'ai assisté à une réunion réseau et j'ai vu le temps
    qu'il fallait à une bande de gourous de Linux pour trouver une disquette de démarrage
    pour une mise à jour du BIOS... :-)
    
    Note: Vous pouvez trouver « rawrite.exe » sur la plupart des distributions
    Linux sur CDROM.
Avec votre petit et pratique CDROM 8cms, vous avez un outil pour démarrer
    un disque propre n'importe où. Pourquoi ne pas lui ajouter un scanner de virus ?
    J'ai pris « F-Prot » sur F-Secure. Ils ont
    une version Linux et DOS en libre téléchargement.
    
    Le seul problème est de savoir comment mettre à jour les définitions de virus sur
    le CDROM. J'ai entendu parler de CD-RW en 8cms mais je n'en ai jamais vu dans les
    boutiques. Dommage. Une autre solution serait de démarrer un système Linux minimal
    depuis le CDROM 8cms, pour télécharger de nouvelles définitions de fichiers depuis
    internet.
    
    Les deux problèmes que j'ai dû résoudre avec f-prot étaient :
Si vous ne connaissez pas encore Knoppix,
    jetez-y un cop d'oeil ! C'est un sytème Linux complet exécutable avec 2-3 Go de logiciels
    sur un seul CDROM de 650Mo. Il possède une détection de matériel et d'autres fonctionnalités
    intéressantes. Mais il ne rentre pas dans notre mini CDROM.
    Ne pleurez pas car il est possible de reconstruire le CDROM knoppix (ou un projet clone).
    Vous avez simplement besoin de connaissances Debian de base et d'un peu de place sur votre
    disque dur.
    
    Knoppix utilise une méthode magique pour faire tenir 2-3Go dans un CDROM de 650Mo : le
    système de fichier a été compressé dans le fichier « /KNOPPIX/KNOPPIX » et il
    est monté par du processus d'initialisation de démarrage de disquette (*) en utilisant
    un module de pilote spécial « cloop ». (* En fait, le contenu du fichier
    image du disque de démarrage est utilisé lors de l'appel de « mkisofs » avec
    l'option « -b ».)
    
    L'image du disque de démarrage qui a été utilisée pour créer le CDROM knoppix peut être
    trouvée dans le répertoire « /KNOPPIX » de chaque CDROM knoppix :
    « boot.img ». Il y a encore ici, l'idée d'embarquer tous les gènes pour la
    prochaine évolution...
    
    Je vous suggère de monter l'image du disque de démarrage knoppix par le périphérique
    loop pour tenter de comprendre comment le processus de démarrage de knoppix (ou de Linux)
    fonctionne. Recherchez sur le web le « bootdisk howto » pour trouver plus ample information.
    Un des fichiers que vous trouvez sur l'image du disque est un fichier compressé « .gz »
    contenant une image de système de fichiers. C'est le ramdisk initial avec le système de
    fichier ramdisk utilisé au tout début du démarrage.
    
    Ainsi, lors du démarrage de knoppix, voici ce qui arrive : le fichier « boot.img » du fichier
    iso charge le noyau Linux depuis l'émulation de disquette, chargeant le ramdisk initial.
    Le processus linuxrc charge le module du pilote « cloop.o » et recherche un fichier
    « /KNOPPIX/KNOPPIX » sur tous les périphériques attachés avec un système de fichiers connu.
    Oui, il doit être possible de lancer le knoppix compressé même depuis un disque dur. Mais je
    ne l'ai jamais testé.
    Après avoir trouvé un périphérique contenant le système de fichiers compressé, il le monte et
    la détection matérielle et tout le reste démarrent.
    
    La disquette « boot.img » ne se préoccupe pas d'où elle démarre (périphérique ou émulation),
    il est donc simple de l'intégrer dans un CDROM à multiple démarrage : copiez  « boot.img »
    dans le répertoire « images/ » et ajoutez une touche de fonction dans
    « bscript.ini ».
    
Un CDROM original de knoppix est beaucoup trop gros pour notre petit CDROM 8cms.
    Rappelez-vous : nous avons 183Mo sur un mini-CDROM. Nous avons besoin de retirer beaucoup
    d'éléments, ce qui représente beaucoup de travail. Pourquoi ne pas profiter du travail
    de quelqu'un d'autre ? Le site web
    Knoppix Customizations
     possède une liste de versions knoppix modifiées, avec quelques unes d'entre elles dont la
     taille a été compressée aux alentours de 50-60Mo.
    J'ai décidé d'utiliser la « Model_k ». Elle est petite mais il n'y a pas d'interface
    graphique ni de support pour les claviers non-anglais. Peut être que « Damn Small Linux »
    est mieux...
    
    J'ai récupéré les instructions que vous trouverez ci-dessous dans un document de Sunil Thomas
    Thonikuzhiyil, qui a décrit le processus de remastering d'une manière très détaillée.
    Lisez-les si vous voulez savoir comment changer le noyau ou le ramdisk initial
    du disque de démarrage. Mais normalement, nous n'avons pas besoin de ces éléments lors de
    la modification du « Model_k » ou d'un système similaire pour notre mini-CDROM...
    
    La plaisanterie classique sur le remastering de knoppix repose sur le fait que knoppix est un système
    Debian pleinement fonctionnel - si le système de fichiers est inscriptible [un CDROM est en
    lecture seule :)]. La partie principale du remastering est donc l'installation et la
    désinstallation des paquetages.
    Cela reste très simple.
    
    Pour modifier un knoppix, nous devons d'abord le démarrer. Les étapes suivantes sont
    ensuite nécessaires :
    
# mkdir /1 # mount -t ext2 /dev/hda<n> /1 # cp -Rp /KNOPPIX /1
# chroot /1/KNOPPIX # mount -t proc /proc proc
# (utilisez ifconfig s'il n'y a pas de serveur DHCP dans vore réseau.) # (modifiez la configuration du serveur de nom lorsqu'il n'y a pas de DHCP. Effacez le # lien "/etc/resolv.conf" et créez votre propre fichier.)
# apt-get install joe (Model_k 1.2 comes without editor :) ) # ...
# (si vous avez changé /etc/resolv.conf, effacez-le et ajoutez le lien.) # démontez /proc # sortez (exit)
/KNOPPIX/KNOPPIX » par « cloop ». Nous
    connaissons déjà « loop » - nous l'utilisons pour monter un fichier du
    système. « cloop » est un périphérique « loop » avec
    (dé)compression, nous devons donc créer un système de fichiers avec « mkisofs »
    et le compresser avec un programme spécial de knoppix :
    « create_compressed_fs » : 
# mkisofs -R /1/KNOPPIX | create_compressed_fs - 65536  > /1/KNOPPIX.2
    
    Nous "pipons" directement la sortie de « mkisofs » vers l'outil de
    compression. Faites une copie de votre fichier KNOPPIX original et copiez
    le fichier résultant « KNOPPIX.2 » sur « KNOPPIX/KNOPPIX » dans
    la structure de répertoire de votre CDROM. Vous pouvez alors créer et graver un
    autre CDROM et esssayer votre « nouvelle » variante de knoppix. 
    
    
Nous avons vu qu'il n'est pas difficle de créer un CDROM multi-démarrage très pratique,
    avec des outils très utiles pour nous aider dans différentes situations. Nous n'avons
    pas réinventé la roue mais nous avons utilisé des roues inventées par les autres, en y
    ajoutant un peu de magie.
    
    Nous avons mis tout ce que nous avions besoin sur le CDROM, nous avons donc une sauvegarde
    sous la main - et il est possible de recréer le CDROM à la volée.
    
    J'espère que vous avez aimé mon petit article.
    
    Salut!
| Site Web maintenu par l´équipe d´édition LinuxFocus © Tjabo Kloppenburg "some rights reserved" see linuxfocus.org/license/ http://www.LinuxFocus.org | Translation information: 
 | 
2005-02-13, generated by lfparser version 2.52