![[Photo of the Author]](../../common/images/TjaboKloppenburg.png) 
 
    original in de: Tjabo Kloppenburg
de to en: Tjabo Kloppenburg
en to fr: Iznogood
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.
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é.
    Il est gravé sur un CDROM 8cm et "pèse" 183Mo. Il peut se mettre dans les 
    poches et peut être utilisé dans de nombreuses situations.
![[Illustration]](../../common/images/illustration298.png) 
 
    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!