Debian pour le montage vidéo : préparation de l'installation
Publié le mercredi 23 décembre 2009, 18:19 - Tutoriels - Lien permanent Tweet
- Article |
- Commentaires (0) |
- Annexes (0)
Ceci est le premier billet d'une série décrivant comment tirer parti de la distribution Debian pour faire du montage vidéo. Dans ce billet, nous présentons comment réaliser l'installation de Debian à partir d'un boot réseau.
Il existe plusieurs méthodes de boot sur le réseau, la plus simple est l'etherboot mais elle ne permet de transférer que des images de moins de 640k ce qui est un peu juste. Nous allons plutôt nous tourner vers PXE et son implémentation Linux : PXELinux.
Préparation de l'image
La première étape consiste à récupérer une image d'installation en réseau de Debian ici, puis récupérer le fichier netboot.tar.gz et l'extraire dans un répertoire spécial : /tftpboot auquel nous ferons plusieurs fois références par la suite :
tar -xzvf netboot.tar.gz -C /tftpboot
Plusieurs fichiers d'intérêts sont livrés dans cette archive. On y trouve tous les fichiers pour l'installation de Debian bien évidemment, mais également pxelinux.0 qui est l'image de boot PXELinux et un répertoire pxelinux.cfg qui contient le fichier de configuration par défaut. Lorsque l'ordinateur sur le réseau aura chargé l'image PXE, cette dernière ira chercher dans ce répertoire la configuration PXE à proposer.
Le fichier pxelinux.cfg/default devrait ressembler à :
# D-I config version 1.0 include debian-installer/i386/boot-screens/menu.cfg default debian-installer/i386/boot-screens/vesamenu.c32 prompt 0 timeout 0
Votre répertoire /tftpboot devrait donc être composé de :
netboot.tar.gz pxelinux.0 version.info debian-installer: i386: boot-screens initrd.gz linux pxelinux.0 pxelinux.cfg pxelinux.cfg: default
Modification de l'image
Il se peut que l'image ram par défaut (initrd) ne contienne pas tous les pilotes/firmwares nécessaires à faire fonctionner la machine, dans ce cas il est nécessaire de modifier cette dernière pour y inclure les fichiers manquants.
Par exemple, dans le cas d'un ordinateur équipé d'une puce Wifi Intel, les firmware pour les séries ipw2x ne sont pas inclus dans l'image car ils ne sont pas libres. Voici la démarche à suivre pour les ajouter, cette démarche peut être adaptée pour l'ajout de n'importe quels fichiers manquants.
Dans un premier temps, par sécurité on sauvegarde le fichier initrd.gz livré par défaut :
cd debian-installer/i386/ cp initrd.gz initrd-lenny.gz
On crée ensuite un répertoire dans lequel on va extraire le contenu de l'image :
mkdir tmp-initrd gunzip initrd.gz cd tmp-initrd cpio -i < ../initrd
Vous devriez maintenant trouver une arborescence complète dans le nouveau répertoire. Récupérez les firmwares dans le paquet firmware-ipw2x00. Copiez les fichiers ipw2*.fw dans lib/firmware du répertoire où vous avez extrait l'image.
Il faut maintenant reconstruire cette image, toujours dans le répertoire où vous avez extrait l'image :
find * | cpio -o -H newc | gzip -9 -c > ../initrd.gz
Préparation du serveur
Nous avons besoin de deux types de logiciel : un serveur d'attribution d'adresse réseau (serveur dhcp) et un serveur de fichier (serveur tftp). Le premier va permettre d'inscrire automatiquement l'ordinateur sur le réseau afin qu'il puisse communiquer en tcp/ip avec le serveur de fichier. Le second va distribuer l'image d'installation sur le réseau.
Nous parlons de deux serveurs distincts au sens logiciel, il peut s'agir de la même machine (c'est même plus facile comme ça).
Serveur dhcp
Le plus simple est d'utiliser dhcp3-server, une fois installée il faut modifier le fichier de configuration /etc/dhcp3/dhcpd.conf pour obtenir quelque chose dans ce style :
not authoritative;
ddns-update-style none;
# Declare the network is shared between several machines and
# maybe other dhcp servers.
shared-network testingnet {
subnet 10.0.0.0 netmask 255.255.255.0 {
}
}
# Declare the group of machines that will use the dhcp server
# to boot the debian installer
group {
# Parameters shared between hosts of this group
default-lease-time 21600;
max-lease-time 21600;
use-host-decl-names on;
option domain-name "festepreuves.com";
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.0.255;
option root-path "/tftpboot";
# 1st host : a laptop
host laptop {
hardware ethernet 00:c0:9f:51:a9:c7;
fixed-address 10.0.0.2;
filename "pxelinux.0";
}
} # group
Assurez-vous bien que les sous-réseaux que vous avez déclaré dans le fichier de configuration soient accessibles depuis vos interfaces réseaux, i.e. qu'au moins une de vos interfaces ait une adresse dans la plage concernée. Si vous êtes directement connecté à l'autre machine (pas de switch intermédiaire), assurez-vous que l'interface récupère sa configuration lorsque le lien disparaît/apparaît.
Serveur tftp
Un serveur tftp implémente le protocole Trivial File Transfert Protocol (protocole trivial de transfert de fichiers) qui permet de distribuer des fichiers sur le réseau sans aucune contrainte. Pour PXELinux, il est nécessaire que le serveur supporte l'option tsize, ce qui est le cas de tftpd-hba.
Il n'y pas de configuration particulière, il suffit juste de s'assurer que le répertoire indiqué dans /etc/inetd.conf concernant le service tftp corresponde bien au répertoire contenant les images de boot, soit quelque chose comme :
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /tftpboot/
Vous pouvez tester le bon fonctionnement du serveur tftp en vous y connectant et en essayant de récupérer l'image de boot :
$ tftp 10.0.0.1 tftp> get pxelinux.0 Received 14928 bytes in 0.0 seconds tftp>
Les deux serveurs nécessaires sont normalement mis en place et configurés pour servir les images, il ne reste plus qu'à s'assurer de les démarrer et faire booter les machines sur le réseau.
Ressources
Autres billets
Liens externes
Article modifié le mardi 29 décembre 2009, 12:18
5000 instant loans a écrit:
My spouse and I stumbled over here different website and thought I should check...Voir l'article