Booter sur le lecteur cd du serveur
hipnothyze
Messages postés
48
Statut
Membre
-
hipnothyze Messages postés 48 Statut Membre -
hipnothyze Messages postés 48 Statut Membre -
Bonjour,
Je voudrais savoir s'il était possible de booter en réseau sur le lecteur cd du serveur.En fait je voudrais booter sur un live cd depuis mes postes cients?
Si c'est possible, coment qu'on fait?? :-)
config:- server ubuntu 7.10
- clients pas d'OS
merci d'avance.
Je voudrais savoir s'il était possible de booter en réseau sur le lecteur cd du serveur.En fait je voudrais booter sur un live cd depuis mes postes cients?
Si c'est possible, coment qu'on fait?? :-)
config:- server ubuntu 7.10
- clients pas d'OS
merci d'avance.
A voir également:
- Booter sur le lecteur cd du serveur
- Hiren's boot cd - Télécharger - Divers Utilitaires
- Changer serveur dns - Guide
- Lecteur windows media - Télécharger - Lecture
- Cd burner - Télécharger - Gravure
- Hiren's BootCD - Télécharger - Divers Utilitaires
2 réponses
Solutions de boot
Qu'est-ce que le boot?
Lorsqu'un PC démarre, il doit trouver son système d'exploitation, le charger et l'éxécuter. C'est ce qu'on appelle le boot.
Dans le cas de GNU/Linux, la méthode la plus employée est la suivante:
Le BIOS (glossaire page ) possède plusieurs options de démarrage: disque dur, CD, etc. La valeur la plus courante de cette option est de démarrer sur le disque dur.
Le BIOS cherche donc sur le disque dur une zone qu'on appelle le MBR (pour Master Boot Record). Cette zone contient le chargeur de démarrage. Il s'agit de GRUB ou de LILO. Le BIOS donne la main à ce programme.
Le chargeur de démarrage trouve le noyau Linux sur le disque dur, le charge en mémoire puis lui donne la main en lui passant des paramètres.
Linux démarre et tient compte de ces paramètres pour savoir que faire.
Mais dans le cas d'un diskless, le disque ne doit pas être utilisé pour héberger le système d'exploitation. Il faut donc trouver d'autres méthodes de boot.
La méthode utilisée au LAOG actuellement est la méthode de boot par réseau avec le protocole PXE (glossaire ).
Je vais d'abord décrire cette méthode puis les différentes méthodes que j'ai trouvé.
Boot sur la carte réseau PXE
Une documentation sur PXE existe sur:
http://clic.mandrakesoft.com/documentation/pxe/
Ce paragraphe est tiré de:
http://sari.inpg.fr/rubriques/themes/zone_publique.groupe_linux/diskless/serveur-diskless.html
Principe du boot en réseau
Le boot réseau consiste pour une machine cliente à obtenir auprès d'une machine serveur son identité réseau (son adresse IP, son adresse de diffusion, son masque réseau, son nom de machine, son nom de domaine, les noms des serveurs DNS, l'adresse de la passerelle) et des informations sur le serveur de boot (l'adresse IP du serveur et le nom du fichier de boot).
La machine cliente doit être raccordée au réseau et positionnée de manière à booter d'abord sur son interface réseau (UNDI/PXE): ceci est à positionner dans le BIOS du PC. Le protocole PXE indique les étapes nécessaires pour le démarrage effectif de la machine client:
Émission par le client d'une requête DHCPDISCOVER de demande de son identité réseau ; cette requête contient son adresse MAC. Réception par le serveur dhcp de la requête qui la traite en recherchant une correspondance de l'adresse MAC dans son fichier dhcpd.conf, puis envoie au client une réponse DHCPOFFER contenant son identité réseau si elle a été trouvée.
Réception par le client et positionnement de ces paramètres (equivalent ifconfig) puis envoie au serveur une requête DHCPREQUEST demandant les informations de boot
Réception par le serveur de la la requête DHCPREQUEST qui la traite en recherchant les infos demandées dans son fichier dhcpd.conf, puis envoie au client une réponse DHCPPACK contenant l'adresse IP du serveur TFTP et le nom du fichier de boot (pxelinux.0).
Réception par le client de la requête DHCPPACK qui établit une connexion au serveur TFTP (port 69) et demande le chargement du fichier indiqué.
Après le chargement, exécution de ce fichier qui, toujours par une connection TFTP :
chargera un fichier de configuration se trouvant dans un répertoire pxelinux.cfg ; celui-contient le nom du noyau et les options de démarrage de celui-ci ;
chargera ensuite le noyau et les autres fichiers nécessaires au boot (fichier initrd).
Le noyau est alors démarré... Le fichier initrd est un fichier système de fichiers compressé ; le système de fichiers contient les modules noyau et toute autre chose utile.
Installation et configuration du "bootloader" : pxelinux
Le programme de boot (bootloader) est celui qui chargera en fait le noyau linux en mémoire. Pour PXE, il faut un bootloader "intelligent" capable de charger un noyau et des images initrd, de les décompresser.
Après la création de /diskless/tftpboot dans lequel on a construit les systèmes nécessaires aux diskless clients de ce serveur, il faut créer un répertoire pxelinux.cfg (ceci est normalement déjà fait par le script dkl-init-serveur.sh, cf. partie Installation).
cd /tftpboot
mkdir pxelinux.cfg
pxelinux se trouve dans l'outil syslinux (la version utilisée est la 1.72). Installer syslinux-1.72.tar.gz sous /usr/local, depuis https://mirrors.edge.kernel.org/pub/linux/utils/boot/ Je l'ai ajouté dans l'archive diskless-kit.tar.gz (cf. partie Scripts en annexe).
cd /tftpboot
cp /usr/local/syslinux-1.72/pxelinux.0 /tftpboot
Dans le répertoire /tftpboot/pxelinux.cfg, sera édité un fichier par PC diskless qui bootera par PXE. Chaque fichier a pour nom le numéro hexadécimal de l'adresse IP du PC (Ex. C3DC4F0C: C3 pour 195,DC pour 220, 4F pour 79 et 0C pour 12).
Ex. de fichier "bootloader":
#gagXXX
DEFAULT bzImage-diskless-pxe1
APPEND root=/dev/nfs hdg=ide-scsi devfs=mount ip=::::::dhcp nfsroot=n0-IP-serveur-nfs:/diskless/tftpboot/195.220.79.XXX
PROMPT 1
TIMEOUT 50
La première ligne donne le nom du noyau linux (bzImage...) qui doit être placé sous /tftpboot. La seconde ligne donne les options du noyau.
Pour les PC avec graveur de CD, l'option hdg=ide-scsi ==> le noyau ne reconnaîtra plus le graveur en tant que périphérique IDE (et donc plus en tant que /dev/hdg mais en tant que /dev/scd0).
Le noyau a été crée spécifiquement pour le diskless à partir du fichier de configuration qui a servi à créer le noyau du serveur.
Pour visualiser le contenu d'une image :
mv initrd.img initrd.img.gz
gunzip initrd.img.gz
mount /tmp/initrd.img /mnt -t ext2 -o loop
ls /mnt
Boot avec PxeGrub
Principe
Il n'est plus possible de mettre le noyau sur une disquette car les nouveaux noyaux sont devenus trop gros. Une solution est donc de mettre le noyau sur le serveur et de trouver un moyen de télécharger ce noyau par le réseau. Une solution est d'utiliser PxeGrub (page ).
Le diskless démarre sur une disquette. Cette diskette contient PxeGrub, mais pas le noyau linux. PxeGrub va télécharger le noyau sur un serveur. Puis ce noyau est démarré et les systèmes de fichiers sont montés par NFS.
Avantages
Permet de démarrer un noyau à partir d'une disquette, même si le noyau ne tient pas sur la disquette car PxeGrub va télécharger le noyau sur le serveur de diskless.
Pas de contrainte sur la taille du noyau.
Pas besoin de carte réseau compatible PXE.
PxeGrub est lancé, soit en mode interactif (l'utilisateur choisit s'il veut démarrer sur le réseau ou sur le disque local, ou autres) soit en mode automatique (PxeGrub démarre sur le réseau sans rien demander à l'utilisateur). On peut donc proposer un menu à l'utilisateur.
Inconvénient
La carte réseau doit être reconnue par PxeGrub. Or, une partie des cartes réseaux du LAOG n'est pas reconnue par PxeGrub. Toutes les cartes réseaux reconnues par Linux ne sont pas reconnues par PxeGrub.
La liste des cartes réseaux reconnues par PxeGrub n'est pas la même que la liste des cartes compatibles PXE (ca n'a rien à voir). Pour qu'une carte réseau soit compatible PXE, il faut que le protocole PXE soit programmé dans la puce de la carte réseau. Selon les modéles, une carte réseau peut ou pas être compatible PXE. Mais pour qu'une carte soit reconnue par PxeGrub, il faut que les développeurs du logiciel PxeGrub écrive le pilote de cette carte pour PxeGrub. PxeGrub est en cours de développement et tous les pilotes ne sont pas disponibles.
Conclusion
Cette méthode n'est pas retenue car les PC diskless doivent marcher sur tous les PC du LAOG.
Liens
Liste des cartes compatibles GRUB:
http://etherboot.sourceforge.net/db/
Qu'est-ce que le boot?
Lorsqu'un PC démarre, il doit trouver son système d'exploitation, le charger et l'éxécuter. C'est ce qu'on appelle le boot.
Dans le cas de GNU/Linux, la méthode la plus employée est la suivante:
Le BIOS (glossaire page ) possède plusieurs options de démarrage: disque dur, CD, etc. La valeur la plus courante de cette option est de démarrer sur le disque dur.
Le BIOS cherche donc sur le disque dur une zone qu'on appelle le MBR (pour Master Boot Record). Cette zone contient le chargeur de démarrage. Il s'agit de GRUB ou de LILO. Le BIOS donne la main à ce programme.
Le chargeur de démarrage trouve le noyau Linux sur le disque dur, le charge en mémoire puis lui donne la main en lui passant des paramètres.
Linux démarre et tient compte de ces paramètres pour savoir que faire.
Mais dans le cas d'un diskless, le disque ne doit pas être utilisé pour héberger le système d'exploitation. Il faut donc trouver d'autres méthodes de boot.
La méthode utilisée au LAOG actuellement est la méthode de boot par réseau avec le protocole PXE (glossaire ).
Je vais d'abord décrire cette méthode puis les différentes méthodes que j'ai trouvé.
Boot sur la carte réseau PXE
Une documentation sur PXE existe sur:
http://clic.mandrakesoft.com/documentation/pxe/
Ce paragraphe est tiré de:
http://sari.inpg.fr/rubriques/themes/zone_publique.groupe_linux/diskless/serveur-diskless.html
Principe du boot en réseau
Le boot réseau consiste pour une machine cliente à obtenir auprès d'une machine serveur son identité réseau (son adresse IP, son adresse de diffusion, son masque réseau, son nom de machine, son nom de domaine, les noms des serveurs DNS, l'adresse de la passerelle) et des informations sur le serveur de boot (l'adresse IP du serveur et le nom du fichier de boot).
La machine cliente doit être raccordée au réseau et positionnée de manière à booter d'abord sur son interface réseau (UNDI/PXE): ceci est à positionner dans le BIOS du PC. Le protocole PXE indique les étapes nécessaires pour le démarrage effectif de la machine client:
Émission par le client d'une requête DHCPDISCOVER de demande de son identité réseau ; cette requête contient son adresse MAC. Réception par le serveur dhcp de la requête qui la traite en recherchant une correspondance de l'adresse MAC dans son fichier dhcpd.conf, puis envoie au client une réponse DHCPOFFER contenant son identité réseau si elle a été trouvée.
Réception par le client et positionnement de ces paramètres (equivalent ifconfig) puis envoie au serveur une requête DHCPREQUEST demandant les informations de boot
Réception par le serveur de la la requête DHCPREQUEST qui la traite en recherchant les infos demandées dans son fichier dhcpd.conf, puis envoie au client une réponse DHCPPACK contenant l'adresse IP du serveur TFTP et le nom du fichier de boot (pxelinux.0).
Réception par le client de la requête DHCPPACK qui établit une connexion au serveur TFTP (port 69) et demande le chargement du fichier indiqué.
Après le chargement, exécution de ce fichier qui, toujours par une connection TFTP :
chargera un fichier de configuration se trouvant dans un répertoire pxelinux.cfg ; celui-contient le nom du noyau et les options de démarrage de celui-ci ;
chargera ensuite le noyau et les autres fichiers nécessaires au boot (fichier initrd).
Le noyau est alors démarré... Le fichier initrd est un fichier système de fichiers compressé ; le système de fichiers contient les modules noyau et toute autre chose utile.
Installation et configuration du "bootloader" : pxelinux
Le programme de boot (bootloader) est celui qui chargera en fait le noyau linux en mémoire. Pour PXE, il faut un bootloader "intelligent" capable de charger un noyau et des images initrd, de les décompresser.
Après la création de /diskless/tftpboot dans lequel on a construit les systèmes nécessaires aux diskless clients de ce serveur, il faut créer un répertoire pxelinux.cfg (ceci est normalement déjà fait par le script dkl-init-serveur.sh, cf. partie Installation).
cd /tftpboot
mkdir pxelinux.cfg
pxelinux se trouve dans l'outil syslinux (la version utilisée est la 1.72). Installer syslinux-1.72.tar.gz sous /usr/local, depuis https://mirrors.edge.kernel.org/pub/linux/utils/boot/ Je l'ai ajouté dans l'archive diskless-kit.tar.gz (cf. partie Scripts en annexe).
cd /tftpboot
cp /usr/local/syslinux-1.72/pxelinux.0 /tftpboot
Dans le répertoire /tftpboot/pxelinux.cfg, sera édité un fichier par PC diskless qui bootera par PXE. Chaque fichier a pour nom le numéro hexadécimal de l'adresse IP du PC (Ex. C3DC4F0C: C3 pour 195,DC pour 220, 4F pour 79 et 0C pour 12).
Ex. de fichier "bootloader":
#gagXXX
DEFAULT bzImage-diskless-pxe1
APPEND root=/dev/nfs hdg=ide-scsi devfs=mount ip=::::::dhcp nfsroot=n0-IP-serveur-nfs:/diskless/tftpboot/195.220.79.XXX
PROMPT 1
TIMEOUT 50
La première ligne donne le nom du noyau linux (bzImage...) qui doit être placé sous /tftpboot. La seconde ligne donne les options du noyau.
Pour les PC avec graveur de CD, l'option hdg=ide-scsi ==> le noyau ne reconnaîtra plus le graveur en tant que périphérique IDE (et donc plus en tant que /dev/hdg mais en tant que /dev/scd0).
Le noyau a été crée spécifiquement pour le diskless à partir du fichier de configuration qui a servi à créer le noyau du serveur.
Pour visualiser le contenu d'une image :
mv initrd.img initrd.img.gz
gunzip initrd.img.gz
mount /tmp/initrd.img /mnt -t ext2 -o loop
ls /mnt
Boot avec PxeGrub
Principe
Il n'est plus possible de mettre le noyau sur une disquette car les nouveaux noyaux sont devenus trop gros. Une solution est donc de mettre le noyau sur le serveur et de trouver un moyen de télécharger ce noyau par le réseau. Une solution est d'utiliser PxeGrub (page ).
Le diskless démarre sur une disquette. Cette diskette contient PxeGrub, mais pas le noyau linux. PxeGrub va télécharger le noyau sur un serveur. Puis ce noyau est démarré et les systèmes de fichiers sont montés par NFS.
Avantages
Permet de démarrer un noyau à partir d'une disquette, même si le noyau ne tient pas sur la disquette car PxeGrub va télécharger le noyau sur le serveur de diskless.
Pas de contrainte sur la taille du noyau.
Pas besoin de carte réseau compatible PXE.
PxeGrub est lancé, soit en mode interactif (l'utilisateur choisit s'il veut démarrer sur le réseau ou sur le disque local, ou autres) soit en mode automatique (PxeGrub démarre sur le réseau sans rien demander à l'utilisateur). On peut donc proposer un menu à l'utilisateur.
Inconvénient
La carte réseau doit être reconnue par PxeGrub. Or, une partie des cartes réseaux du LAOG n'est pas reconnue par PxeGrub. Toutes les cartes réseaux reconnues par Linux ne sont pas reconnues par PxeGrub.
La liste des cartes réseaux reconnues par PxeGrub n'est pas la même que la liste des cartes compatibles PXE (ca n'a rien à voir). Pour qu'une carte réseau soit compatible PXE, il faut que le protocole PXE soit programmé dans la puce de la carte réseau. Selon les modéles, une carte réseau peut ou pas être compatible PXE. Mais pour qu'une carte soit reconnue par PxeGrub, il faut que les développeurs du logiciel PxeGrub écrive le pilote de cette carte pour PxeGrub. PxeGrub est en cours de développement et tous les pilotes ne sont pas disponibles.
Conclusion
Cette méthode n'est pas retenue car les PC diskless doivent marcher sur tous les PC du LAOG.
Liens
Liste des cartes compatibles GRUB:
http://etherboot.sourceforge.net/db/
le problème dans ta réponse c'est que tu répond pas vraiment à ma question. je veux booter sur le cd insérer dans le serveur et non pas sur le serveur lui-même. De plus je ne peux pas mettre ce qu'il y a sur mon cd sur le serveur car ce n'est pas un ISO c'est un logiciel (killdisk) qui fonctionne sous DOS.mé merci ken meme pour ton aide.
merci encore . pas d'autre solutions????