[Linux-bruxelles] lilo / boot cd

Miguel Telleria de Esteban miguel at mtelleria.com
Lun 10 Nov 22:59:47 CET 2003


Cuenta la leyenda que el Mon, 10 Nov 2003 20:10:46 +0100 Laurent wrote:

LR> Le lun 10/11/2003 à 20:01, Arnaud Hofman a écrit :
LR> > Le cd est en fait un cd boot d'installation en réseau.
LR> > Comme je l'ai écrit, il a fonctionné sur un autre pc et effectivement il
LR> > n'a pas l'air bootable ici. J'ai testé avec le premier cd d'installation
LR> > Debian et celui-là démarre.. sauf qu'il m'affiche une erreur et une
LR> > sorte de patchwork clignotant. et puis là, bloquage total ;os
LR> > 
LR> > Il doit s'agir d'un signe pour me dire que je dois m'occuper des projets
LR> > scolaires au lieu de faire joujou avec mr linux!
LR> > 
LR> > ou alors je suis maudit ;o)
LR> > 
LR> > Je me pose tout de même des questions sur le cd bootable sur une machine
LR> > et pas l'autre.. si quelqu'un à une idée du pourquoi, j'aimerais
LR> > l'apprendre! (le lecteur joue réellement un rôle dans la lecture boot du
LR> > cd ou c'est une manière de parler, Laurent?
LR> 
LR> Disons que c est une déduction de ce que j ai deja vu.
LR> 
LR> Un ami a un lecteur de CD-ROM/graveur LG et il n arrive ni a graver un
LR> cd bootable ni lancer un cd bootable. Il doit faire une disquette de
LR> demarrage.
LR> 
LR> Je n ai jamais compris pq. Je suppose que il n arrive pas à lire la
LR> sequence ecrite sur les premiers morceau du CD qui font qu il est
LR> bootable ou non vu que le BIOS tente de le lancer.
LR> 
LR> Mais je suis pas du tout specialiste du CD bootable point de vue
LR> technique.

J'ai explore le sujet en detaille le weekend.  Je me suis fait quelque
CDs bootables pour mon nouveau laptop qui n'a pas de lecteur disquette.

La spec de "El torito" se trouve ici:

	http://www.phoenix.com/resources/specs-cdrom.pdf

Je me permet de vous donner une petite lesson sur le bootage de CDs:

LA THEORIE

Bref, pour booter un cd, il faut inclure dans l'image un(s) fichier(s) (boot image)
à executer quand le système demarre et signaler ce fichier dans un certain endroit
des entêtes de iso9660.

Ces fichiers et leurs differentes options sont groupés dans un autre fichier aussi
obligatoire qui s'appele "boot catalogue".

Normalement il n'y a qu'une seule image mais le document propose en système pour
en avoir plusiers.  L'idée c'est que la première image (default entry) est toujours
chargé et après elle decide via des appeles BIOS si elle veut charge une autre image.

Les images peuvent s'executer des trois formes differentes:

*	Avec une emulation de lecteur disquette.  La BIOS traitera l'image comme
	le disquete du premier graveur (A: /dev/fd0) deplaçant le disquette
        existant à la deuxième position (B: /dev/fd1) et eliminant le deuxième
	lecteur.  Pour acceder au CD il faut que la disquette virtuelle le monte
	de manière standard (mount ou mscdex en M$).

	Pour ce faire l'image doit avoir une de tailles standard: 1.2M, 1.44M ou 2.88M
	Ça c'est le cas le plus courant.

*	Avec une emulation de disque dur.  La BIOS traitera l'image comme la
	partition C: en rendrant le vraie disque dûr inaccesible via la BIOS INT 13h.
	(j'imagine le disque dûr reste toujours accesible en direct sans passer
	par la BIOS).  Il n'y a pas des contraintes quand à la taille de cette image.

*	Sans emulation du tout.  L'image est executée directement et les assignations
	BIOS restent enchangé.
	
L'emulation de dispositives peut aussi s'arreter via d'autres appèles BIOS.

LA PRATIQUE

La plus part de CDs bootable utilisent une seule image en mode disquette.

Pour faire tout ça dans linux on utilise les parametres -b (boot_image) et 
-c (boot_catalog) avec mkisofs.  Le boot_catalogue est un fichier qui est
ajouté directement par mkisofs.

K3b donne un bonne front-end pour faire les choses de manière graphique.
(Projet->Boot images).

Il y a un très bonarticle qui explique comment faire un CD multiboot sans 
dependre de la BIOS (sauf pour un demarrage initial sans emulation qui peut
toujours se faire avec SBM).

	http://www.linuxfocus.org/English/May2003/article298.shtml

	Miguel

-- 
|     (O-O)
---oOO-(_)-OOo-----------------------------------------------------
 Miguel TELLERIA DE ESTEBAN               Personal Homepage:
 Email: Miguel at mtelleria.com           http://www.mtelleria.com

 Miembro de http://www.linuca.org         Tel home: +32 2 280 1614
 Membre de  http://www.bxlug.be           GSM:      +32 497 038804
-------------------------------------------------------------------





Plus d'informations sur la liste de diffusion Linux-bruxelles