ATTENTION, cette traduction n'est PAS officielle, et n'est qu'une
version de travail qui ne devrait pas être utilisée
Création d'un intalleur debian avec PGI
Auteur: G. Branden Robinson
Auteur: Steve Hunger
Auteur: Eric Gillespie
Auteur: John R. Daily
Généré par: Robin Drake
Traducteur : William WAISSE
$Progeny: guide.xml,v 1.128 2002/10/18 18:09:01 branden Exp $
Copyright © 2002 Progeny Linux Systems, Inc.
Il vous est permis de faire des copies exactes de ce manuel tant que
le copyright et cet avertissement sont préservés sur toutes les copies.
Il vous est permis de copier et de distribuer des versions modifiées
de ce manuel sous les mêmes conditions que pour la copie exacte, et sous
la condition que tout travail derivé soit distribué sous les mêmes
conditions.
Il vous est permis de copier et de distribuer des traductions de ce
manuel dans d'autres langues, sous les conditions ci dessus.
Table des matieres
Chapitre 1 Apercu général
1.1. Fonctionalités
1.2. Ce que PGI ne fera pas sans votre aide
L'installeur graphique Progeny ( PGI [1] ) est un système permettant
de créer des installeurs pour le système d'exploitation GNU/Linux.
PGI est basé sur l'installeur utilisé dans la distribution debian
de Progeny Linux Systems, Inc.
Sans personalisation, PGI construit un système debian minimaliste
sur un système de fichier ISO9660 gravable sur un CDR ou un DVD.
Avec personalisation, PGI est une fondation très puissante et très
flexible sur laquelle vous pouvez créer un installeur aussi elaboré
que vous le souhaiterez.
PGI concoit l'installation comme un processus en deux phases.
La première phase consiste a lancer l'installeur; jusqu'au dernier
instant de cette première phase, le système cible ( celui qui est
en cours d'installation ) est considéré comme pas encore installé.
Ceci signifie qu'il n'y a pas encore de système Debian GNU/Linux
installé ou que celui ci n'est pas désiré.
La deuxième phase commence quand le système d'exploitation
installé fonctionne, mais que les paramètres systèmes essentiels
a son bon fonctionnement ne sont pas encore configurés selon les
besoins de l'utilisateur qui installe son système.
En clair, a ce moment précis, un systéme Debian GNU/Linux, qui
peut booter en mode multi-utilisateur, et offrir un prompt, est
installé, mais ne disposes d'aucun compte utilisateur, n'a pas
de mot de passe root et n'est pas configuré.
Cependant, il est évident que la configuration est extrêmement
importante, tant pour la sécurité du système installé que pour
son utilisation dans des conditions décentes.
Fondamentalement, PGI est uniquement un installeur de première
phase; tout ce qu'il fait est de préparer un système de base, non
configuré.
Lorqu'il se termine, il vous présentera un prompt si le
distributeur de l'installeur n'a pas prévu la suite ( la
deuxième phase personalisable.
Ce que PGI vous laisse faire ( vous, le distributeur de
l'installeur ) est de reprendre le système a ce point
d'installation de base, pour gérer toutes les parties
intéressantes du processus d'installation, ce qui consiste
essentiellement à configurer le système Debian GNU/Linux
fraichement installé.
Voulez vous que le système lance automatiquement KDE ou Gnome ?
Voulez vous qu'une liste de paquetages precis soit installés au
tout début de la vie du système ?
PGI vous donne cette possibilité sans que vous ayez a vous soucier
de gérer l'étape de préinstallation du système.
1.1. Fonctionalités
PGI utilise différentes technologies pour être suffisament
flexible pour gérer une large variété de périphériques, tout en
restant compatible avec le système d'installation officiel de
Debian.
Ce dernier poiint est important car, quelle que soit la facon
dont l'utisateur a installé Debian GNU/Linux sur son ordinateur, ce
qui importe est que le système installé soit pleinement compatible
avec tout autre système d'exploitation Debian GNU/Linux, au niveau de
son infrastructure.
- PGI utilise debootstrap, la technique officielle de Debian pour
récupérer et installer les composants essentiels d'un système
GNU/Linux. La phase 1 de PGI ( voir Implementer la deuxième phase )
peut être vue comme un emballage autour de debootstrap; PGI mets
le système dans l'etat nécessaire à une bonne exécution de debootstrap.
- PGI offre à la fois une une interface en mode texte, et une interface
graphique.
- Cette dernière utilise la version 4.1.0 du serveur XFree86, et
supporte une large variété de matériel vidéo, avec une résolution et un
nombre de couleur raisonables.
Dans le cas où l'interface graphique n'est pas désirée, ou pas
supportée par XFree86, une interface en mode texte reste disponible
et offre a l'utilisateur les mêmes fonctionalités.
- L'interface graphique de PGI détecte automatiquement la plupart
des mécanismes de pointage ( souris, trackballs . . . ), ainsi que
la plupart des cartes vidéo.
Dans la majorité des cas, il ne sera nécessaire de répondre à
aucune question de configuration pour utiliser l'interface
graphique, qui apparaitra immédiatement.
Dans certaines situations, où une configuration manuelle sera
nécessaire, quelques questions faciles à comprendre seront posées à
l'utilisateur, pour donner au GUI les informations nécessaires à son
fonctionnement. De plus, si votre matériel graphique n'est pas supporté
par XFree86, il vous sera possible de lancer l'installation en redirigeant
l'interface graphique vers le display sur un autre serveur X présent sur
votre réseau.[2]
- Même si le système X Window n'est pas disponible, l'installation
en mode texte de PGI évite à l'utilisateur novice l'angoisse d'un
prompt shell en utilisant la fonctionalité 'dialog', qui offre une
interface texte conviviale, avec menus et boutons.
- PGI est essentiellement indépendant de la version du kernel
utilisée. PGI peut être construit avec une large variété de
kernels; seules quelques options de configuration du kernel seront
nécessaires à un bon fonctionnement de PGI ( voir 'Choix du kernel
et des modules' ), vous pouvez créer pour PGI un kernel minimaliste, ou
un kernel supportant la plus large gamme de matériels possible; vous
pouvez utiliser la toute derniere version du kernel linux officiel [3], ou
votre propre version patchée du kernel, si la version officielle du
kernel debian ne gère pas le matériel que vous utilisez, ou que vos
utilisateurs utiliseront.
- PGI utilise discover, l'outil de détection de matériel de Progeny
pour détecter les modules kernel et XFree86, dont les drivers sont
nécessaires pour pour utiliser les périphériques PCI, AGP, USB, et
PCMCIA.
- PGI utilise aussi l'outil GNU Parted, pour une gestion complète et
flexible du partitionnement du ( ou des ) disques durs du système
cible aussi facile et conviviale que possible [4].
- PGI est indépendant de l'architecture du système cible, et a été
concu pour être aussi portable que possible. Dans sa première
version, PGI supporte les architectures Intel x86 et IA64. Mais les
points d'entrée sont prévus pour que les développeurs puissent aisément
ajouter le support d'autres architectures a PGI.
- PGI est tres versatile, Non seulement de nombreux aspect de son
comportement sont personalisables lors de la compilation ( mais aussi
en cours de fonctionnement), mais de plus PGI supporte aussi le
développement de multiples profils, qui sont identifiés par un
nom de code que vous pouvez sélectionner. Vous pouvez choisir l'un de
ces profils à la compilation avec une option de la ligne de commande.
Par exemple, imaginez que vous êtes responsable de la gestion de
quelques salles informatiques d'une université, l'une de ces salles
est là pour permettre aux étudiants de faire leurs rapports de
thèse, vous souhaiterez que ces machines disposent d'applications
bureautiques telles que mozilla et OpenOffice. Une autre salle est
utilisée par les étudiants en informatique, et vous souhaiterez que
ces machines disposent de tous les outils de developpement disponibles, mais
pas de serveur X.
Une fois que vous aurez préparés ces deux profils il vous suffira
de creer l'image ISO pour la configuration souhaitée.
- PGI supporte pleinement le réseau. Il se trouve que pour les
utilisateurs de GNU/Linux en général, et pour les utilisateus de Debian
GNU/Linux en particulier, le temps où il était nécessaire d'installer
son système à partir d'un support physique ( CD / disquette ), et de
devoir ensuite récupérer les patchs nécessaires est révolu.
debootstrap supporte lui aussi pleinement le réseau, et peut récupérer
le système de base, sur le disque local, sur un serveur web en interne,
ou à partir d'un miroir debian officiel.
Cependant PGI va encore plus loin.
Seul le tout début de l'installation ( le lancement du kernel et
des modules nécessaires à la gestion du hardware du système cible, ainsi
que la configuration de l'interface réseau sont dépendants du suppport
d'installation ( CD ou DVD ).
Dès lors, NFS peut être utilisé pour monter
le système de fichier nécessaire au fonctionnement de l'installeur.
Ceci permet au distributeur de mettre à jour l'installeur sans
remplacer l'image du support d'installation.
- PGI n'a pas de boot-loader préféré, sur les plate-formes x86, il
utilise GNU GRUB pour avoir un boot loader convivial.
GNU GRUB supporte aussi une très puissante interface en ligne
de commande lors du boot, si l'utilisateur souhaite l'utiliser.
Sur les plate formes IA64, c'est elilo qui est utilisé, et
l'interface du kernel Linux pour les variables EFI est utilisée pour
mettre a jour le firmware système.
- PGI peut générer une image ISO qui contient uniquement un installeur
basé sur PGI, image qui ne contient que l'installeur et les paquetages
nécessaires à votre profil d'installation, ou bien les images qui
contiendront l'installeur et une copie complete d'une archive de
tous les paquetages Debian.
Plusieurs images ISO seront générées si nécessaire.
- Les installeurs basés sur PGI sont plus que de simples installeurs.
L'installeur peut aussi être lancé en mode de sauvetage/récupération
d'un système, qui charge le système de fichier et offre un shell à
l'utilisateur.
Le système de fichier peut être configuré pour contenir tout ce qui
est nécessaire, outils de diagnostique réseau, installationXFree86
complete et même un navigateur; [6] Le support d'installation de PGI
peut aussi être utilisé comme une simple disquette de boot, chargeant
le kernel, et s'efffacant en laissant le controle au système de fichier
spécifié.
1.2. Ce que PGI ne fera pas sans votre aide
Comme précisé ci dessus, PGI divise le processus d'installation en
deux [7] phases.
La première phase se charge de créer un système minimaliste bootable
sur la machine cible.
La deuxième phase est chargée de configurer le système bootable
installé lors de la première phase; configuration des date et heure, des
interfaces réseaux disponibles, et du serveur XFree86 sont les
configuration typiques.
NOTE:
PGI est concu pour être independant de la deuxième phase, et en
fait ne fournit pas de deuxième phase, sinon pour ce qui est d'un
simple exemple.
Voyez 'Implementer la deuxième phase de l'installeur' pour plus
de détails.
[1] se prononce 'piggy'
[2] Il n'y a actuellement rien qui puisse vous empecher de lancer
l'installeur graphique a des milliers de kilomètres de la machine
cible, mais nous ne le recommandons pas.
[3] Les kernels de la serie 2.5, ne sont sont pas explicitement
supportés en tant qu'ils sont expérimentaux.
[4] Lors de l'install en mode texte, le programme en ligne de commande
parted est utilisé pour le partitionnement du disque dur.
[5] Mise a part, peut être l'écran.
[6] notez, cependant, que l'environnement ne dispose pas d'éléments
indispensables, tels qu'un espace de swap, et un système de fichier
/usr en écriture, car il consiste en un ramdisk initial de 8Mo; et que
ce système de fichier est en lecture seule.
[7] En réalité, il y a trois phases, la première ( phase 0 ) consiste a
booter le kernel et à charger ses modules pour supporter les périphériques, et
à trouver le système de fichier d'installation ( Live Filesystem ).
Chapitre 2. Ce que vous devrez faire
- Installer PGI et les paquetages associés.
( Voir 'Configuration requise' . )
- Installer le kernel de votre choix.
( voir 'Choix du kernel et des modules' . )
- Personaliser /etc/pgi/codename/options selon vos gouts, et
chercher les options de ligne de commande que vous souhaitez
passer a pgi-build.
( voir 'Lancer pgi-build, options et environnement' . )
- Ajouter les paquetages supplementaires de votre choix pour
votre post-installation, ainsi que vos ajouts de distributeur
dans /etc/pgi/codename/extra_packages.
( voir 'Implementer la deuxième phase de l'installeur' . )
- Ajouter la liste des paquetages non souhaités dans
/etc/pgi/codename/unwanted_packages.
( voir 'Implementer la deuxième phase de l'installeur' . )
- Creer un /etc/pgi/codename/preinst.sh.
( voir 'Fichiers de configuration', en annexe B. )
- Creer un /etc/pgi/codename/postinst.sh.
( voir 'Fichiers de configuration', en annexe B. )
- Personaliser live.files.list, live.dirs.list, and
live.devices.list.
( voir 'Fichiers de configuration', en annexe B. )
- Installer une image de fond d'ecran personalisée:
a) une image au format XBM[8] appelée root_window.xbm;
b) une image couleur appelée root_window.png, dans tout
format supporté par le programme xloadimage.
( voir 'Fichiers de configuration', en annexe B. )
- Installer un fichier XPM[9] personalisé du nom de
logoicon.xpm for the coin en haut a gauche de l'interface
graphique de lécran durant la phase 1.
( voir 'Fichiers de configuration', en annexe B. )
- personaliser votre syslinux.screen*.txt ( uniquement pour i386).
( voir 'Fichiers de configuration', en annexe B. )
[8] X bitmap; format d'une image monochrome
[9] X pixmap; format d'une image couleur
Chapitre 3. Configuration requise
Le fait de construire un installeur base sur PGI
( voir 'Lancer pgi-build, options et environnement.' )
nécessite un minimum d'espace disque pour fonctionner.
Tout particulièrement si une archive de paquetages debian doit
être inclue sur le support d'installation.
Sur une machine basée surt Intel x86, en utilisant l'option
--installer-only , la configuration nécessite environ
300 MO d'espace disque( incluant l'image ISO d'environ 90 MO).
Notez que cette taille d'espace disque nécessaire augmente avec
tout ce que vous ajouterez au système de fichier d'installation.
Si vous incluez une archive debian, l'espace disque nécessaire
sera très important.
A cette heure, inclure la totalite d'une suite Debian Woody
( binaires et sources ) occupe 7 images ISO ( environ 4.5 GO ).
Il est sage d'avoir une gestion prévoyante de l'espace disque
nécessaire, et de toutjours prévoir le double de la
taille finale estimée, pour avoir toutjours suffisament espace libre
pour les fichiers temporaires.
Le repertoire temporaire utilisé par PGI est configurable, tout
comme le répertoire où les images ISO seront placées.
Lorsque vous effectuez une selection attentive en sélectionnant
les paquetages qui seront inclus, et si vous ne fournissez que
des paquetages binaires, l'espace disque necessaire sera beaucoup
plus raisonable[10]
Générer des images ISO contenant des paquetages d'archive Debian
nécessite aussi un accès à un miroir de la suite debian.
( woody, par exemple )
Cependant un acces HTTP à un miroir apt n'est pas suffisant, mais un
montage NFS d'un miroir l'est.
Lancer pgi-build ne nécessites pas beaucoup d'usage CPU ni un usage
intensif de la mémoire, mais plutot de l'usage disque.
Donc, tant que l'espace disque est suffisant, un système
du meme genre que la cible qui devra etre installée est
généralelment suffisant en terme de processeur et de mémoire
vive. Un disque dur rapide améliorera grandement
la vitesse du processus pgi-build.
PGI dépends de nombreux autres logiciels; mais ceux ci
ne sont pas difficiles à obtenir sur un système debian
car ils sont des dépendances officielles du paquetage
PGI.
# apt-get install pgi
( ou l'opération équivalente dans votre frontend apt favori )
est suffisant pour satisfaire a ces dépendances.
NOTE:
Une nécessité qui n'est pas exactement une dépendance est
que votre kernel utilisé durant la préparation doit supporter
le montage de systèmes de fichier en loopback.
Une facon de le déterminer est la ligne de commande suivante :
$ grep CONFIG_BLK_DEV_LOOP /boot/config-$(uname -r)
Si cette variable de configuration du kernel est à
"y" ou "m", votre kernel dispose de ce support.
Si cette variable est a "n", il ne l'a pas.
Les besoins systèmes nécessaires à l'exécution de l'installeur PGI
( c'est à dire celui que vous aurez construit et qui s'exécutera sur la
machine cible ), sont très faciles à obtenir.
L'installeur utilise un initrd de 8MO; C'est la quantité de mémoire qui ne
sera plus disponible lors de son fonctionnement normal.
Les machines d'aujourd'hui contiennent beaucoup plus de mémoire
que ce dont PGI à besoin.
Une installation en mode graphique nécessite cependant plus de mémoire
qu'une installation en mode texte cat le serveur X et les librairies
graphiques utilisent de l'espace mémoire.
Les minimums recommandés sont de 32 MO pour une installation mode texte, et
de 64 MO pour une installation en mode graphique.
Rien n'empeche PGI de fonctionner sur une machine Intel 80386, si
celle ci dispose d'un coprocesseur mathématique.
Une telle installation serait probablement lente, comme celle de
tout OS contemporain sur une telle machine.
Nous ne suggérons pas de configuration minimum pour les machines de
bureau actuellement en production .
PGI ne les poussera en aucun cas au dela de leurs limites.
Selon notre expérience, le seul facteur limitant est la bande passante.
( dans le cas d'une installation réseau ), ainsi que les temps d'accès
aux disques optiques ( CD ) et disques durs.
Plus votre disque dur va vite, plus l'installation ira vite.
L'espace disque nécessaire, pour le système final installé,
dépends très largement du profil d'installation que vous aurez créé.
Une installation vanilla complete sans second stage teiens confortablement
dans 500 MO d'espace disque.Comme pour l'usage processeur, les disques durs
d'aujourd'hui sont beaucoup plus gros que ce que debian peut remplir.
[10] Rappelez vous bien que l'essentiel des logiciels inclus dans Debian
GNU/Linux , incluant PGI lui-même sous placés sous license GNU General
Public License ( GPL ).
Lorsque vous distribuez des logiciels sous license GPL, vous devez
toujours offrir une manière à l'utilisateur final de se procurer le
code source de tout ce que vous distribuez, ou une offre ecrite vous
engageant a fournir le code sourcecorrespondant pendant 3 ans (
???????????????? ) .
Une bonne approche est de prevoir autant de support d'installation des sources
que des binaires.
Chapitre 4. Choix du kernel et des modules
Les fonctionnalités suivantes sont requise du kernel que l'installeur
utilisera. Chacune de ces fonctionnalités se refer à une option précise
de la configuration du kernel Linux.
une courte description explique pourquoi chaque foncxtionalité est
nécessaire, et si elle peut être compilée en temps que module, et enfin
si cette fonctionalité peut n'être qu'optionelle pour certains
installeurs basés sur PGI.
-
RAM disk support
Necessaire; nécessaire pour le chargement du premier RAM Disk.
( voir plus bas). doit etre compile dans le noyeau, la taille par
défaut du RAM disk ne doit pas etre modifiée .
Support d'un RAM disk initial (initrd)
Nécessaire; permets au kernel Linux de booter avec un système de fichier
root sur la machine hôte. Doit etre compile dans le noyau.
-
Second Extended (ext2) filesystem support
Nécessaire; used pour lire et écrire dans le ram disc initial, ainsi
que sur les disques durs cibles .Doit etre compile dans le noyau, car l'initrd
du noyeau est un système de fichier ext2.
-
ISO 9660 filesystem support
Nécessaire sur architecture x86[11]
Optionel mais fortement recommandé sur achitecture IA-64.
Utilisé pour lire sur le support d'installation ( CD ).
S'il n'est pas activé ( en module ou dans le noyeau ), seule
l'installation par NFS sqera possible
- /proc filesystem support
Nécessaire; Le processus d'installation nécessite le support du système de
fichier /proc. Doit être compilé dans le noyeau, utilisé par discover pour détecter le
hardware installé.
-
VFAT filesystem support
Nécessaire sur achitecture IA-64architecture;
Optionel mais fortement recommandé sur architecture x86
Utilisé pour supporter les partitions DOS/Windows, ainsi que les
partitions EFI ( sur IA64 ). Peut être compilé en tant que module.
Packet socket (Berkeley packet address family) support
Optionel mais fortement recommandé ; utilisé pour le support DHCP dans
l'environnement d'installation. Peut être compilé en tant que module.
-
Unix domain socket support
Nécessaire; Utilisé par le serveur X pour l'interface graphique.
Peut être compilé en tant que module.
TCP/IP networking support
Nécessaire; utilisé pour les installations réseau, ainsi que beaucoup
d'autres fonctionnalités du système installé. Doit etre compile dans le noyau.
-
NFS support
Optionel mais fortement recommandé ; urtilisé pour le support du montage de
système de fichierused par NFS lors de l'instalaation.
Peut être compilé en tant que module.
-
NLS Codepage 437 support
Utilisé pour la reconnaissance des noms de fichier des sysèmes de
fichiers DOS/VFAT filesystems.
Mêmes recomandations que pour le support vfat ci dessus.
-
IDE block device, IDE disk, and IDE CD-ROM support
Nécessaire; Nécessaire pour accéder au bus IDE et aux périphériques qui
y sont attachés.Peut être compilé en tant que module.
Doit être compilé dans le kernel pour faire du disque d'installation de PGI un
disque de boot.
-
Low-level SCSI drivers, SCSI disk, and SCSI CD-ROM support
Nécessaire; utlisé pour acceder aux périphériques et aux controlleurs SCSI.
Peut être compilé en tant que module.
Mise a part si les caractéristiques de la machine cible sont fixes et bien
connues, compilez autant de divers SCSI de bas niveau que vous le pourrez.
Doit être compilé dans le kernel pour faire du disque d'installation de PGI un
disque de boot.
- SCSI emulation for IDE devices
Nécessaire; PGI se base sur l'existence de cette interface pour simplifier
la détection des lecteurs CD/DVD installés sur la machine cible.
Peut être compilé en tant que module.
- USB support, UHCI support, OHCI support, USB mouse support
Optionel mais fortement recommandé;
Utlisé pour acceder aux périphériques USB.
Peut être compilé en tant que module.
- AGP support
Optionel; utilisé par l'interface graghique pour supporter les cartes
graphiques sans RAM video dédiée.
Peut être compilé en tant que module.
- /proc/efi/vars support ( IA-64 uniquement )
Nécessaire; used pour mettre a jour le menu de boot EF.
Peut être compilé en tant que module.
Note
Il peut vous être nécessaire de rajouter de nombreuses options pour permettre
le support PCMCIA, si vous souhaitez que votre installer basé sur PGI puisse
s'installer sur des systèmes qui utilisent les périphériques PCMCIA.
ceci reste vrai pour les kernels debian standard, certains portables sont
supportés par le paquetage kernel-image-2.2.20 , ne le sont pas par le paquetage
kernel-image-2.4.17-386 package.
For instance. Vous devriez prendre l'habitude de vérifier
/boot/config-kernel-version avant de lancer pgi-build.
[11] Sur architecture Intel x86, le suppport ISO 9660 est nécessaire même si
le système de fichier d'installation ne se trouve pas sur un périphérique
contenant un système de fichier ISO9660. ( car les modules kernel qui ne
rentrent pas dans l'image de boot El Torito de 2.88 MB sont récupérées à partir de
l'image ISO avant même que le système de fichier d'installation ne soit monté.)
5. Choisir les paquetages a placer sur le support d'installation
5.1. Creer des images ISO contenant uniquement l'installeur PGI
5.2. Creer des images ISO avec une archive partielle de paquetages
5.3. Creer des images ISO avec une archive complete de paquetages
Il y a trois configurations possibles dans le choix des paquetages a inclure
sure votre support d'installation.
Une approche est de n'avoir aucun packages dans l'image ISO, en
s'appuyant sur la connexion réseau de la machine cible pour récupérer les
paquetages Debian.
La seconde approche est de n'inclure sur l'image ISO que les paquetages
qui sont explicitement nécessaires au fonctionnement de PGI, et les
dépendances de ces paquetages.
La troisième solution sera d'inclure tous les paquetages Debian, ceci
résultera dans la génération de plusieurs images ISO, car il y a beaucoup
plus de paquetages dans la distribution Debian que l'on ne peut en
faire tenir dans un seul CD-ROM.[12]
Par defaut, un jeu d'images ISOs contenant les paquetages Debian de
sources sera aussi créé.[13]
En général, le nombre d'images ISOs de sources générées est
approximativement égal au nombre d'images ISOs de binaires générées.
NOTE:
L'outil qui calcule le graphe des dépendances utilisé par l'installer
( pgi-calc-deps ), utilise le fichier /etc/aptsources.list du système hôte pour
rechercher les dépendances.
Ceci peut poser un problème si par exemple vous avez plusieurs
repositories dans votre sources.list ou si, par exemple, vous essayez
de générer un installeur basé sur PGI pour debian stable mais que votre
sources.list contient des sources de debian unstable.
Parce-que pgi-calc-deps génère un arbre de dépendences basé sur la
version la plus récente qu'il trouvera de chaque paquetage connu
d'apt, ceci peut conduire à des dépendances incorrectes .
Ce problème peut être évité en réduisant votre fichier sources.list
pour ne contenir que les repositories qui concernent l'image que vous
voulez générer, puis de lancer apt-get update.
Lorsque PGI a fini de se construire, vous pouvez restaurer votre
ancien sources.list et relancer apt-get update a nouveau.
Cette limitation devrait être levée dans de futures versions de PGI.
5.1. Creer des images ISO contenant uniquement l'installeur PGI
Lancer pgi-build avec l'option --installer-only génerera une image ISO
qui ne contiendra rien d'autre que les fichiers nécessaires a PGI
lui-même.
Ce type d'image est la plus rapide a générer, et nécessite moins de
100 MO d'espace disque pour une architecture i86, dans la configuration
par défaut de pgi-build.
Un autre avantage de l'option --installer-only est qu'elle ne nécessite
pas un miroir monté localement d'une archive Debian.
Attention :
Etant donné que les dépendences des paquetages sont calculées lors de
la création, et non pas au moment de l'installation, debootstrap peut
échouer si les dépendances d'un paquetage ont changé au moment ou
l'installation se déroule.
Supposez que vous créez une image ISO avec l'option --installer-only
et l'option --suite=unstable, et que vous utilisez un miroir Debian
mirror pour la récupération des paquetages.
Votre image ISO sera plus ou moins rapidement périmée.
Plus précisément, le paquetage python2.1, par exemple, pourrait ne
pas déclarer une dépendence vis a vis du paquetage libssl0.9.6 au
moment ou vous créez votre image ISO.
Mais quelques jours plus tard, lorsque vous vous utilisez votre ISO
pour installer une machine, si la version de python 2.1 disponible
dans l'arbre de dépendaces 'unstable' depends du paque tage
libssl0.9.6, vous allez avoir des problemes et le processus
d'installation echouera.
Du fait que debootstrap ne sait pas résoudre les dépendances. Il
ne fait que récupérer exactement ce qui lui avait été spécifié.
Il est donc sage de n'utiliser l'option --installer-only qu'en
conjonction avec avec une archive de paquetages stable, ou sur une
courte période, par exemple pour des besoins de tests et
d'expérimentation.
Une future version de PGI intégrera la resolution de dépendances lors
de l'installation pour récupérer des paquetages additionels
nouvellement requis par le réseau.
La situation ci dessus n'est en aucun cas un problème en utilisant
les autres methodes de recuperation de paquetages ( à partir de
l'image ISO ).
5.2. Creer des images ISO avec une archive partielle de paquetages
Par défaut ( si ni l'option --installer-only ni l'option --complete
ne sont spécifiées au lancement de pgi-build), un jeu limité de
paquetages Debian sera ajouté sur l'image ISO, celui-ci comprends
tout ce dont debootstrap dépends ; quelques paquetages additionels
dont PGI à besoin ( commme Discover, l'outil de détection du matériel,
et un chargeur de boot ( boot loader ); tout autre paquetage explicitement
identifié comme faisant partie des listes extra_packages et package_list;
Notez que extra_packages se refère aux paquetages qui doivent être
installés sur le système.
Le package_list est un mécanisme permettant d'inclure des paquetages
sur l'image ISO, mais dont l'installation ne sera pas automatique.
Utiliser pgi-build de cette manière nécessite l'existence d'un miroir
d'archive de paquetages Debian.
Utilisez l'option --build-mirror ou la variable PGI_BUILD_MIRROR pour
identifier la localisation de votre miroir sur votre système de
fichier local.
( le miroir peut être monté par NFS à partir d'un hôte distant, local
signifiant ici uniquement qu'il est accessible par un chemin standard ).
5.3. Creer des images ISO avec une archive complete de paquetages
Si l'option --complete est passée à pgi-build, un jeu complet de
paquetages sera généré sur ( généralement ) plusieurs images ISO.
utiliser pgi-build de cette manière nécessite l'existence d'un
miroir d'archive de paquetages Debian.
Utilisez l'option --build-mirror ou la variable PGI_BUILD_MIRROR pour
identifier la localisation de votre miroir sur votre système de
fichier local.
( le miroir peut être monté par NFS à partir d'un hôte distant, local
signifiant ici uniquement qu'il est accessible par un chemin standard ).
[12] Un calcul récent estime qu'une version binaire de Debian 3.0 (woody) complète
tient tout juste sur une DVD-ROM de 4.7 GO , mais il serait plus
raisonable d'en prévoir 2 ( GO ).
[13] Les images ISOs des paquetages de source sont générées par défaut
en accord avec les license GNU GPL et LGPL, sous lesquelles sont placés
une grande partie des logiciels intégrés dans Debian.
6. Configuration réseau requise pour l'installeur
Table des matières
6.1. Pré-configuration des options réseau
6.2. Documentation utilisateur
6.1. Pré-configuration des options réseau
Aider vos utilisateurs à s'aider eux mêmes.
Dans certains cas, l'utilisateur d'un installeur basé sur PGI
pourrait avoir besoin de spécifier des paramètres réseau au boot.
Comme ceci est l'une des taches les plus complexes que l'installeur
peut demander à l'utilisateur, Il est nécessaire de rendre ce processus
plus simple.
Il est important de préciser que même si le disque d'installation
inclut tous les paquetages nécessaires, PGI ne nécessite en lui-même
aucune connection réseau.
Il est cependant utile de documenter ce fait, en sorte que
l'utilisateur sache aussi qu'il n'a normalement pas à se soucier
de ces paramètres de boot.
D'un autre coté, si aucun paquetage n'est inclus
( avec l'option pgi-build --installer-only ), une connection
réseau sera nécessaire. PGI cherchera par défaut à contacter un serveur
DHCP, si l'utilisateur ne fournit aucune information réseau, et
que --installer-only avait été spécifié par le créateur de l'installeur.
Si l'image de votre installeur s'adresse a un groupe d'utilisateurs
qui sont tous dans un environnement réseau commun, il vous est possible
d'éviter toute erreur utilisateur en préconfigurant le proxy
HTTP nécessaire à la récupération des paquetages.
Notez qu'il n'est pas nécessaire de configurer un proxy HTTP si vos
utilisateurs ont déjà un acces HTTP sortant ouvert, ou si vous avez
configuré PGI pour utiliser un miroir interne d'archive Debian qui
ne nécessaite pas d'accès HTTP.
De plus, nous recommandons fortement d'avoir un DHCP pour servir
les configurations réseau des autre stations. En préparant ainsi
votre réseau, en en préconfigurant le proxy HTTP et/ou le miroir
d'archives, vos utilisateurs n'auront besoin de répondre à aucune
question de configuration réseau pour réussir leur installation.[14]
6.2. Documentation utilisateur
Sur l'architecture i386, l'écran d'aide syslinux peut être
personalisé.
Etant donné que les écrans d'aide syslinux ne sont pas
universellement disponible, et qu'il y a peu de place pour y
placer un texte d'aide, un manuel de l'utilisateur est inclus
dans le paquetage PGI.
Vous devriez personaliser ce quide de l'utilisateur pour qu'il
corresponde à votre installeur basé sur PGI.
[14] Au moins pour la premiere phase; ce qui se passe ensuite
dans la deuxième phase ne regarde que vous.
Chapitre 7. Implémenter la deuxième phase de l'installeur
.
Il y a deux points importants où l'installeur exécute le code
fourni par le distributeur, si ce code est présent:
* Pour lancer votre deuxième phase ( second stage ).
Un exemple de point d'attache ('vendor hook') est inclus dans
PGI, pour lancer base-config, comme le fait une disquette de boot
debian.
Un autre exemple montre comment utiliser le système de configuration
configlet de progeny, qui est similaire à celui utilisé dans la
distribution progeny, et qui fait dorénavant partie de la distribution
Debian.
Pour implémenter votre deuxième phase, tous les paquetages nécessaires
doivent être ajoutés dans la liste des paquetages additionels.
( 'extra packages', voir 'Exemples de fichiers de configuration' ), et
vos points d'attache doivent être écrits de sorte à ce que les
taches qui vous sont nécessaires soient menées à bien lors du
processus d'initialisation ( Dans l'exemple fourni ( configlets ), il
s'agit par exemple de lancer le serveur X et le druide ).
Le premier point d'attache du distributeur, est lancé juste
avant que les scripts de l'installeur eux-mêmes soient lancés.
Ce script ( preinst.sh ) vous permet de faire tout ce qui vous
sera nécessaire avant que le disque cible soit partitionné, puis
les paquetages seront installés, le chargeur de boot sera installé, et
votre point d'attache de post-installation sera exécuté.
Le script de pré-installation est généralement assez peu utile.
Le second point d'attache du distributeur, est le fichier
postinst.sh.
Comme vous pouvez le deviner, celui-ci s'exécute après
l'installation.
Vous pouvez donc partir du principe que le système de base est
bien présent sur le système de fichier de la machine cible, et que
celui-ci est bien monté sur /target.
L'utilisation du script postinst.sh consiste essentiellement
à copier des fichiers de configuration du système de fichier
d'installation vers le système de fichier cible ( /target ).
L'un de ces fichiers de configuration sera un fichier
à placer dans le répertoire /target/etc/rcS.d du système hôte
pour que le processus de boot du système hôte puisse
lancer les programmes choisis par le distributeur ( vous ).
Il n'est pas nécessaire de lancer apt-get dans votre script
de post-installation . A la place nommez simplement les
paquetages que vous souhaitez installer dans votre fichier
/etc/pgi/codename/extra_packages, et ils seront présents avant
même que votre script ne soit exécuté.
Tous les points d'ancrage doivent être des scripts shell POSIX
(Pas de syntaxe bash, SVP ).
Ils seront lus plutot qu'exécutés, donc n'utilisez pas l'option
du shell -e ( sauf si vous faites très attention à la valeur de
retour de chaque commande que vous lancez, et que vous retirez
bien cette option après la fin de votre script ).
Ne quittez pas le script explicitement.
Avec ces avertissements, vous pouvez faire à peu près tout ce qui
peut être fait dans un script shell, incluant, bien entendu, le fait
de lancer tout binaire EFL que vous aurez préalablement fourni.
Faites attention aux utilitaires shells que vous appellerez, car
certaines commandes existent dans le système de fichier d'installation
à travers leur implémentation busybox.
Si vous avez besoin d'une version plus complète d'un utilitaire, ajoutez
le au système de fichier d'installation en l'ajoutant dans le fichier :
live.files.list
( voir 'Exemples de fichiers de configuration' ), ou lancez le a partir
du système de fichier cible.
Vous devez connaître certaines variables d'environnement qui seront
présentes dans votre script de point d'attache.
( voir 'Autres fichiers dans/etc/pgi/codename):
- ARCH
Cette variable est toujours là et contient le nom de l'architecture
de la machine hôte utilisé par les paquetages debian
( 'i386' pour les machines x86 32 bits, 'powerpc' pour 'ppc' . . . ) .
- DISPLAY
Cette variable n'est présente que si la fonctionalité d''installation
sur un écran distant est activée.
( Un serveur X local ne tournera pas au moment ou le scrip du point
d'attache sera appelé ). Si c'est le cas, elle contiendra l'asdresse
d'un display distant ( sur une autre machine ).
- DMESGLOG
Cette variable est toujours présente, elle contient le
chemin absolu vers un fichier qui contiendra la sortie de la
commande dmesg ( Ce fichier sera vide quand votre script de
pré-installation sera lancé, mais ne le sera plus quand le script
de post-installation sera lancé.)
- IDENTLOG
Cette variable est toujours présente, elle contient le
chemin absolu vers un fichier qui contiendra les
identifiants RCS de plusieurs fichiers qui font
partie de PGI.
( Ce fichier sera vide quand votre script de pré-installation
sera lancé, mais ne le sera plus quand le script de
post-installation sera lancé.)
- KERNEL_VERSION
Cette variable est toujours présente, elle contient la
sortie de la commande 'uname -r' .
- LD_LIBRARY_PATH
Cette variable est toujours présente, elle sert particulièrement
au chargeur dynamique.
Si vous devez la changer dans votre script, repositionez la à sa
valeur par defaut à la fin de votre script, sous peine de casser
l'installeur.
- LIVE
Cette variable est toujours présente, elle contient le chemin
absolu qui mène à la racine du système de fichier d'installation.
Utilisez toujours cette variable pour vous référer aux fichiers
qui se trouvent sur le système de fichier d'installation, et
vos ajouts seront solides même si PGI change de point de montage.
- LOGFILE
Cette variable est toujours présente, elle contient le chemin
absolu du fichier qui contiendra des données, dans un format
lisible par un humain, concernant l'état d'avancement du
processus d'installation.
Nous vous encourageons a ajouter des informations dans ce
fichier pour debuguer vos scripts de points d'attache et/ou
pour donner un maximum de feedback a votre utilisateur.
Par exemple, si vos scripts interagissent avec l'utilisateur
et lui proposent diverses options, c'est une bonne idée
d'enregistrer les choix de l'utilisateur ici, de sorte à
tracer le chemin qu'il a suivi a travers votre code.
Ecraser ou effacer ce fichier est fortement deconseillé car
cela rendrait votre produit impossible à supporter.
Voyez aussi la fonction pgilog décrite à la fin de ce
chapitre.
- MIRROR
Cette variable est toujours présente, elle contient l'adresse
de l'archive debian que debootstrap utilise pour installer
le système.
- PATH
Cette variable est toujours présente, et est utilisée comme
à son habitude.
Tout comme pour LD_LIBRARY_PATH, changer son contenu peut casser
l'installeur.
Si vous devez la changer, conservez sa valeur, et recupérez
cette ancienne valeur lorsque votre script se termine.
- PGIDEBUG
Cette variable est positionnée à une valeur non nulle si
l'utilisateur a indiqué qu'il ou elle veut lancer l'installeur
en mode debug.
Vous pouvez vous en servir dans vos scripts de point d'attache.
Par exemple, pour lancer des scripts shells à des endroits
statégiques qui permettront aux développeurs ou aux utilisateurs
très avancés d'examiner le système au milieu du processus
d'installation.
Vous pouvez aussi l'utiliser pour augmenter le niveau de
verbosité ( feedback utilisateur ) de votre installeur.
Voyez aussi la fonction pgilog décrite à la fin de ce
chapitre.
- PROMPTING
Cette variable est une valeur parmi les deux suivantes :
'less' or 'more'
Elle est utilisée pour contrôler le degré d'interactivité
avec l'utilisateur.
Si cette variable est positionnée à 'more', vous ne devriez pas
faire de suppositions sur la configuration système souhaitée par
l'utilisateur.
- PYTHONHOME
Cette variable est toujours présente, elle dit à Python où
trouver ses modules.
PGI s'appuye sur cette variable, qui ne devrait normalement pas
être changée.
Si vous devez la changer, conservez sa valeur, et recupérez
cette ancienne valeur lorsque votre script se termine.
- SUITE
Cette variable est toujours présente, elle contient le nom de la
suite de l'archive de Paquetages Debian d'où proviennent les
paquetages downloadés.
Le nom de suite est, par exemple, potato ou woody.
- SYSLOG
Cette variable est toujours présente, elle contient le chemin
absolu du fichier de log système
( telle qu'utilisée par le démon syslog ).
- TARGET
Cette variable est toujours présente, elle contient le chemin
absolu du point de montage de la racine du système cible.
Utilisez toujours cette variable pour vous référer aux fichiers
qui se trouvent sur le système de fichier du système cible, et
vos ajouts seront solides même si le système cible change de
point de montage.
- TEXTMODE
Cette variable est positionnée à une valeur non nulle si
l'utilisateur a spécifié lors du boot qu'il souhaitait réaliser
une installation en mode texte.
ip
Cette variable est positionée si le réseau a été configuré.
Si c'est le cas, elle contiendra l'adresse ip de l'interface
réseau configurée, dans la notation standard 'a.b.c.d' .
Cette adresse peut avoir été choisie par l'utilisateur lors du
boot, durant une configuration manuelle du réseau, ou
par un serveur DHCP.
- subnet
Cette variable est positionée si le réseau a été configuré.
Si c'est le cas, elle contiendra le masque de sous réseau
de l'interface réseau configurée, dans la notation standard 'a.b.c.d' .
Cette valeur peut avoir été choisie par l'utilisateur lors du
boot, durant une configuration manuelle du réseau, ou
par un serveur DHCP.
- router
Cette variable est positionée si le réseau a été configuré.
Si c'est le cas, elle contiendra une ou plusieurs adresses
de routeurs dans la notation standard 'a.b.c.d' .
Ces valeurs peuvent avoir été choisies par l'utilisateur lors du
boot, durant une configuration manuelle du réseau, ou
par un serveur DHCP.
- broadcast
Cette variable est positionée si le réseau a été configuré.
Si c'est le cas, elle contiendra l'adresse de broadcast de
l'interface réseau configurée, dans la notation standard
'a.b.c.d' .
Cette adresse peut avoir été choisie par l'utilisateur lors du
boot, durant une configuration manuelle du réseau, ou
par un serveur DHCP.
- dns
Cette variable est positionée si le réseau a été configuré.
Si c'est le cas, elle contiendra les adresses des serveurs
DNS, dans la notation standard 'a.b.c.d' .
Cette adresse peut avoir été choisie par l'utilisateur lors du
boot, durant une configuration manuelle du réseau, ou
par un serveur DHCP.
- http_proxy
Cette variable est positionée si elle a été spécifiée
lors de la construction de l'installeur
( voir 'Options et Environment' en annexe A ), ou si l'utilisateur
l'a spécifié lors du boot.
Si cette variable est positionnée, elle contiendra l'URL
d'un serveur proxy HTTP.
Lorsque vous écrivez vos scripts de distributeur, il est prudent
de logguer tout ce qui peut etre intéressant dans le fichier
LOGFILE, et de l'afficher à l'écran si la variable PGIDEBUG
est positionnée.
Vous pouvez accomplir ceci en utilisant la fonction
pgilog(), inclue dans PGI, qui fonctionne comme echo.
Vous pouvez donner à pgilog l'option -n pour supprimer le
caractère de fin de chaine à la fin d'une ligne.
8. Preparer vos fichiers
Table des matières
8.1. /etc/pgi/codename
8.2. /etc/pgi/codename/options
8.3. Autres fichiers dans /etc/pgi/codename
8.1. /etc/pgi/codename
Comme précisé dans le chapitre 1. 'apercu général', PGI peut
être configuré pour plusieurs images distinctes de l'installeur
sans avoir à changer sa configuration d'une invocation à l'autre
de pgi-build.
Ceci est possible en associant à chaque configuration de
l'installeur ( un profil ) avec un nom de code, qui sera
fourni comme option en ligne de commande au programme pgi-build.
$ pgi-build --codename=newbie
$ pgi-build --codename=minimal
$ pgi-build --codename=complete
$ pgi-build --codename=hacker
Cette flexibilité est possible grâce à la création
d'un sous-repertoire dans /etc/pgi contenant les fichiers
de configuration nécessaires pour générer une image
correspondant à ce profil.
Le choix du nom de code vous appartient, il n'a rien à
voir avec la version de Debian utilisée.
Le nom de code doit contenir uniquement des caractères
alpha-numériques et underscore; il ne peut pas commencer
par un chiffre.
Par exemple, pour commencer à développer les profils
ci dessus, vous pouvez commencer par exécuter une copie
récursive pour dupliquer le repertoire existant custom
qui se trouve dans le paquetage PGI.
$ cp -a /etc/pgi/custom /etc/pgi/newbie
$ cp -a /etc/pgi/custom /etc/pgi/minimal
$ cp -a /etc/pgi/custom /etc/pgi/complete
Vous pouvez alors commencer à modifier les fichiers de
chacun de ces sous-répertoires pour personaliser
chaque profil.
8.2. /etc/pgi/codename/options
Utilisez ce fichier pour définir les paramètres de base
de construction de votre installeur.
Quelques exemples de variables définies ici incluent le
répertoire de création de l'image ISO, la version du
kernel à utiliser, et l'adresse d'un miroir d'archive Debian.
Vous pouvez aussi, si vous le souhaitez, passer des arguments
en ligne de commande à pgi-build pour la plupart de ces variables.
( voir 'Options et Environment' en annexe A pour une liste des
options de la ligne de commande, et des variables associées ).
8.3. Autres fichiers dans /etc/pgi/codename
( voir 'Fichiers de données' , en annexe A. pour la liste des
fichiers personalisables ).
9. Comment construire PGI
Table des matières
9.1. Sélectionner un miroir de paquetages debian
9.2. Sélectionner la version du kernel que PGI utilisera
9.3. Identifier et personaliser votre installeur basé sur PGI
9.4. Sélectionner le répertoire temporaire utilisé par PGI
9.5. Gérer le nettoyage et mettre en place des systèmes de fichier
d'installation par NFS
pgi-build supporte un bon nombre d'options et de bindings.
Ce chapitre donne quelques exemples d'invocation et quelques
solutions.
Pour quelque chose de plus complet, voyez l'appendice A.
9.1. Sélectionner un miroir de paquetages debian
Un installeur Debian est fondamentalement un mécanisme de récupération
de paquetages; PGI n'est pas différent.
Les paquetages Debian sont conservés en de nombreux endroits sur
internet, Un grand nombre de ces lieux contiennent les paquetages
de la distribution officielle, ce sont des miroirs car chacun
d'eux est un clone d'un serveur central de référence qui n'est pas
accessible publiquement [15].
Il y a aussi d'autres repositories de paquetages, généralement beaucoup
plus petits, qui ne sont officiellement liés ou hebergés par le projet
Debian, et qui sont généralement dédiés au fait d'offrir les paquetages
de produits d'une société précise.
PGI utilise les miroirs Debian de deux façons :
- Un miroir est utilisé par l'installeur lui-même lorsqu'un paquetage
Debian nécessaire ne peut être trouvé sur le système de fichier
d'installation.
- Le programme pgi-build utilise un miroir qui est monté en local
sur le système hote ( la machine sur laquelle on va créer
l'installeur ).
Pour construire les images ISOs de l'installeur basé sur PGI, lequel
pointe par défaut vers le miroir Debian de Progeny :
archive.progeny.com [16], qui sera utilisé si l'installeur ne peut
pas trouverles paquetages debian sur le système de fichier
d'installation ( lorque celui-ci, par exemple est monté par NFS )
Ceci est nécessaire lorsque l'on lance pgi-build sans
l'option --installer-only.
Utilisez l'option --build-mirror pour spécifier la localisation
de votre miroir de paquetages debian si nécessaire.
Le miroir de construction peut être monté par NFS.
Note
Un miroir local doit être disponible si vous n'utilisez pas l'option
--installer-only .
Un bon nombre des composants d'un repository de paquetages Debian
ne sont pas accessibles à travers des méthodes de récupération comme
apt .
pgi-build nécessite un miroir local pour rempli le(s) image(s)
ISO(s) car ce(s) ISO(s) contiendront un repository de paquetages.
$ pgi-build --pgi-mirror=http://archive.progeny.com/debian
--build-mirror=/archive/debian/ftp
9.2. Sélectionner la version du kernel que PGI utilisera
Au moment de l'écriture de cette documentation, trois versions du
kernel Linux sont considérées comme stables :
- La plus ancienne, la version 2.0.x , est pratiquement abandonnée et ne
peut pas être utilisée car il lui manque certaines fonctionalités
nécessaires à l'installeur PGI.
- Les autres sont les séries 2.2.x et 2.4.x., supportées par PGI sur
les architectures x86 et continueront à être supportées.
- Sur l'architecture IA64, seuls les kernels des séries 2.4.x sont
supportés.
Debian produit de nombreuses variantes de chaque version du
kernel, toutes disponibles en tant que paquetages Debian, chacune
d'elle étant un 'gout' ( flavor ).
Chacun de ces goût dispose de certaines options de configuration
spécifiques.
Certains, comme le paquetage du kernel 2.2.20 ( kernel 2.2.20 ),
choissent de compiler un maximum contrôleurs IDE et SCSI directement
dans le kernel.
D'autres n'ont aucun support SCSI.
Beaucoup de 'gouts' du kernel 2.4 sont disponibles pour
Debian/i386, mais un seul fonctionnera avec PGI : le 'gout' -386.
Ce 'gout' s'attends à trouver un initrd suur système de fichier
ext2, ce dont PGI à besoin.
D'autres versions utilisent un initrd sur système de fichier CRAM
( Compressed RAM ) , qui est petit, mais en lecture seule.
L'installeur PGI demande un initrd en lecture/écriture.
Vous pouvez utiiser l'option --kernel-version pour spécifier
la version du kernel que vous souhaitez utiliser, pour en spécifier
une autre que celle que vous utilisez courament sur votre système:
$ pgi-build --kernel-version=2.4.18-386
Si Debian ne fournit pas un paquetage kernel qui convienne
à vos besoins ( où à ceux de PGI ), vous pouvez toujours
compiler le kernel et créer votre propre paquetage kernel.
Pour celà, nous vous recommandons l'excellent outil
kernel-package ( qui est un paquetage Debian, qui rends
facile la création d'un paquetage Debian ).
9.3. Identifier et personaliser votre installeur basé sur PGI
pgi-build fournit quelques options pour mieux identifier vos images.
Vous pouvez utiliser l'option --builder pour modifier l'adresse
email de celui qui a construit l'installeur.
L'option --product positionne le nom du produit
( Par défaut 'GNU/Linux' ), et l'option --vendor positionne
le nom du distributeur ( par défaut 'Debian' ).
$ pgi-build --builder=debian-staff@example.com --vendor="Example Penguin Unix
Systems" --product="Debian GNU/Linux"
9.4. Sélectionner le répertoire temporaire utilisé par PGI
Lorsque vous contruisez différents profils PGI, il peut être
utile de spécifier le répertoire temporaire que pgi-build
devra utiliser.
Ceci est possible en utilisant l'option :
--tmpdir=vanilla-2.4.17-386 --kernel-version=2.4.17-386
D'autres options sont disponibles pour contrôler l'emplacement
des fichiers temporaires et des fichiers de sortie.
( voir 'Options et Environment' en annexe A ).
Note
Veuillez noter quedivers répertoires temporaires utilisés
par PGI ( qui sont spécifiés par l'option --misctmpdir option)
doivent se trouver sur un système de fichier qui supporte
le montage de fichiers en loopback.
Par exemple tmpfs n'est pas approrié aux besoins de pgi-build.
9.5. Gérer le nettoyage et mettre en place des systèmes de
fichier d'installation par NFS
Par défaut,pgi-build ne nettoye aucun de ces répertoires qu'il
utilise;, Ceci est utile quand vous souhaitez essayer de récupérer
un pgi-build qui n'était pas terminé, et que vous vous intéressez
au contenu des fichiers produits par PGI, ou que vous garder
sous la main le système de fichier d'installation pour un export
NFS.
--clean spécifie à pgi-build de supprimer les fichiers qu'il a créés
dans son répertoire temporaire avant de commencer à travailler,et
après avoir travaillé ( ce qui peut être empeché par l'option
--no-post-clean.)
En général, après avoir trouvé la cause d'un échec de pgi-build, vous
pouvez spécifier --clean pour vos changements soient pris pleinement
en compte par un nouveau lancement de pgi-build, sans quoi vous risquez
de produire une image d'installeur inutilisable.
--post-clean spécifie à pgi-build de nettoyer ses
répertoires temporaires lorsqu'il se termine. Cette option
est utile à ceux qui sont confiants en leurs images ISO, et
qui n'ont nul besoin de garder le système de fichier
d'installation pour un export par NFS.
Le système de fichier d'installation se trouve dans un
sous-répertoire misc/live du répertoire temporaire.
( si le répertoire misca été explicitement spécifié, c'est
un sous-répertoire de ce répertoire ).
Si par exemple le système de fichier d'install pour un PGI
créé précis se trouve dans le répertoire :
/home/frank/pgi/vanilla-2.4.17-386/misc/live sur une machine
du nom de margaret, l'administeur de la machine margaret
peut ajouter la ligne suivante dans /etc/exports :
/home/frank/pgi/vanilla-2.4.17-386/misc/live 192.168.0.0/16(ro)
Dans l'exemple ci dessus, nous donnons un accès en lecture seule
à toute machine dont l'adresse IP fait partie de la plage indiquée.
Les détails de la configuration et de la gestion d'un serveur NFS ne
font pas partie du sujet étudié dans cette documentation, mais
l'exemple suivant montre l'option de boot correspondante pour
accéder à ce partage NFS.
install livefs=margaret:/home/frank/pgi/vanilla-2.4.17-386/misc/live
L'exemple ci dessus supposes qu'un serveur DHCP sera disponible
pour fournir à la machine d'instalation une adresse IP et une
configuration réseau adéquate, incluant un nom de domaine et un
serveur DNS à utiliser. Sans cela, le réseau devra être configuré
manuellement par l'utilisateur lors de l'installation.
[15] pour des raisons de demande énorme et de bande passante
limitée.
[16] Utiliser les miroirs Debian Round-Robin aux Etats-Unis peut
être problématique car la liste de paquetages peut provenir
d'un serveur, alors que les paquetages récupérés proviendront d'un
autre serveur qui n'est pas encore synchronisé. Cette sorte
de désynchronisation fera échouer debootstrap.
10. Finaliser votre installeur
Table des matières
10.1. Examiner l'image ISO générée avec le montage 'loopback'
10.2. Créer des CDs/DVDs a partir de votre image ISO
Lorsque les scripts ont terminé de construire l'image
d'installation, vous pouvez exminer l'image en la montant en
loopback.
10.1. Examiner l'image ISO générée avec le montage 'loopback'
Monter une image ISO comme un système de fichiers loopback vous
permets d'examiner cette image.
Une des raisons de le faire est de vérifier la structure
de répertoires créées sur l'image, pour s'assurer notament que
tous les paquetages nécessaires se trouvent bien sur l'image ISO.
Le fait de monter l'image en loopback n'est généralement pas
nécessaire, mais peut aider à tracer les éventuels problèmes
de construction de l'image en question.
Pour monter une image en loopback, utilisez la commande suivante :
# mount -t iso9660 -o loop,ro image.file /mount.point
Cette commande monte l'image iso (image.file) sur le point de
montage spécifié (/mount.point) en tant que système de fichiers
iso9660 en mode loopback.
Voici un exemple concret :
# mount pgi-i386.iso /mnt -t iso9660 -o loop
10.2. Créer des CDs/DVDs a partir de votre image ISO
De nombreuses applications permettent de graver une image ISO
sur un CD ou un DVD, l'une de ces applications est cdrecord.
Pour utiliser cdrecord, vous devez savoir quelle est l'emplacement
logique du périphérique ( le graveur ), dans un format spécial.
cdrecord dispose d'une option pour localiser ce périphérique.
L'exemple suivant montre l'option --scanbus, qui
identifie clairement le graveur comme étant 0,0,0.
Note
cdrecord part du principe que le graveur est un graveur SCSI.
Si vous avez un graveur IDE, vos devrez utiliser l'émulation
SCSI en chargeant le module ide-scsi dans le kernel.
# cdrecord -scanbus
Cdrecord 1.10 (i686-pc-linux-gnu) Copyright (C) 1995-2001 Jörg
Schilling
Linux sg driver version: 3.1.22
Using libscg version 'schily-0.5'
scsibus0:
0,0,0 0) 'TEAC ' 'CD-W512EB ' 2.0A' Removable CD-ROM
0,1,0 1) *
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
scsibus1:
1,0,0 100) 'QUANTUM ' 'ATLAS V 9 WLS ' '0201' Disk
1,1,0 101) 'IBM ' 'DDYS-T36950M ' 'S80D' Disk
1,2,0 102) *
1,3,0 103) *
1,4,0 104) 'SEAGATE ' 'ST336704LWV ' '4301' Disk
1,5,0 105) *
1,6,0 106) *
1,7,0 107) *
Une fois que le graveur est identifié et que l'image ISO est
valide, vous pouvez enregistrer l'image sur le le(s) disque(s)
optique(s) en utilisant une commande similaire à l'exemple
suivant :
# cdrecord -verbose speed=8 -eject dev=0,0,0 pgi-i386.iso
Cet exemple enregistres l'image pgi-i386.iso sur le
périphérique 0,0,0 à une vitesse maximale de 8x.
cdrecord fournit des informations verbeuses sur le processus de gravage
puis éjecte le disque lorsque le gravage est terminé.
Lorsque le disque est gravé, vous pouvez l'utiliser pour
booter une machine à installer.
11. Contribuer au developpement de PGI
Les personnes intéressées par le fait de contribuer aux
développements futurs de PGI, sont encouragées à s'inscrire
sur la Mailing Liste des développeurs de PGI.
Appendice A
pgi-build : génère des images ISO contenant l'installeur
PGI-Debian.
pgi-build [options...]
Description
pgi-build ( qui se prononce "piggy-build") est un système qui
permets de créer des installeurs basés sur PGI pour le système
Debian GNU/Linux.
PGI est dérivé de l'utilisateur utilisé par Progeny Debian.
Sans personalisation, PGI produit un installeur de système
minimal Debian, sur un système de fichier ISO9660 gravable
sur un CD ou un DVD.
pgi-build supporte un grand nombre d'options de configuration
qui vous permettront de personnaliser le support d'installation.
Options et environnement
De nombreuses options sont disponibles sous forme abrégée
d'une seule lettre; lorsque vous utilisez des options qui
requièrent un argument, cet argument doit se situer apres
l'option et un caractere espace.
Par exemple les deux lignes de commande suivantes sont
équivalentes :
$ pgi-build --builder=homer@example.com
$ pgi-build -B homer@example.com
Note
La majorité des options par défaut listées ci dessous
correspondent aux fichiers d'options par défaut qui est
fourni avec le paquetage PGI.
De plus, la plupart des options en ligne de commande
sont associées avec une variable qui peut être passée
dans l'environnement de pgi-build.
Si une variable est associée à une ligne de commande, elle
se trouve au debut de la description de l'option associée.
- -B | --builder=email-address
BUILDER; Précise l'identité du constructeur de l'image.
Si vous le souhaitez, vous pouvez une adresse générique
de contact pour votre installeur.
Cette adresse sera inclue dans le fichier d'aide généré
pour syslinux.
Valeur par défaut: par ordre décroissant de priorité :
valeur de DEBEMAIL , EMAIL, USERID.
- -C | --complete
COMPLETE; inclue tous les paquetages disponibles
dans l'archive de paquetages sur l'image ISO
générée.
Par défaut: désactivée.
Attention
Si cette option est utilisée avec une archive Debian
Complète, plusieurs images ISOs seront générées.
- -D | --dir=pgi-directory
PGI_DIR; identifie l'emplacement de l'infrastructure
de PGI
Par défaut: /usr/share/pgi.
- -M | --misctmpdir=miscellanous-temporary-directory
TDIR; Spécifie le répertoire utilisé pour les
fichiers temporaires
PGI utilise le montage en loopback dans ce répertoire, qui
doit donc se situer sur un système de fichier qui supportent
ce type de montage ( c'est à dire pas NFS ).
Par défaut : un sous répertoire misc du répertoire BASETMPDIR.
( voir -t | --tmpdir )
- -O | --official
OFFICIAL; marque l'image comme étant une image
officielle pour l'usage des methodes CD d'apt.
N'utilisez pas cette option sauf si vous savez ce que
vous faites. Seuls ceux qui possèdent des droits sur
le nom debian, sont autorisés à créer des images officielles
de CDs de la distribution Debian .
ATTENTION
Si vous n'êtes pas certains que vous pouvez marquer votre
produit comme étant officiel, voyez les options --vendor
et --product, et n'hésitez pas à demander conseil.
- -P | --pgi-http-proxy=URL
PGI_HTTP_PROXY; contient l'URL de l'emplacement du serveur
proxy http. Cette option doit être utilisée quand un
installeur basé sur PGI sera distribué dans un environnement
controllé (par exemple dans une société ou organisation où
l'accès à internet nécessite d'utiliser un serveur proxy).
Notez qu'une URL de serveur proxy HTTP inclut généralement
un numéro de port,auquel cas l'URL doit être dans le
format suivant :
http://hostname:port/
Veuillez noter le slash final.
Par défaut: vide
- -V | --release-version=release-version
VERSION; spécifie le numéro de version
à utiliser pour le produit généré.
Par défaut : 3.0 ( pour la release Debian Woody).
- -a | --additional-archives=additional-archives
OTHER_ARCHIVES; réservée pour des extensions futures.
Par défaut:vide
- -c | --codename=release-code-name
CODENAME;
contient le nom de code du produit utilisé pour les images
ISO générées.
Ceci est aussi le nom du sous-répertoire de /etc/pgi qui
contiendra les informations de configuration utilisées
pour ce système PGI.
Par défaut : custom.
Les caractères Alpha-numériques et underscore peuvent être
utilisés, mais le premier caractère ne doit pas être un chiffre.
- -d | --debian-version=debian-version
DEBVERSION;
Spécifie la version de Debian sur laquelle s'appuye votre système.
Par défaut: VERSION; voir -V | --release-version.
- -h | --help
Affiche un bref message d'utilisation de pgi-build sur la sortie
standard, puis de termine.
- -i | --installer-only
INSTALLER_ONLY
Génère une image ISO qui ne contient que l'installeur, et
pas de paquetages d'archives debian.
Par défaut: désactivé
- -k | --kernel-version=kernel-version
KERNEL_VERSION
Indique la version du kernel Linux utilisée pour l'installer et
le système installé.
Par défaut: le résultat de uname -r
- -m | --pgi-mirror=mirror-directory
PGI_MIRROR
Spécifie l'emplacement des paquetages d'archives Debian que
l'installeur créé devra utiliser ( pas le processus de
construction ).
Par défaut: http://archive.progeny.com/debian.
- -o | --outdir=output-directory
OUT
Donne l'emplacement du répertoire ou seront créées les images ISO.
Par défaut: un sous-répertoire 'out' du répertoire BASETMPDIR ;
voir -t | --tmpdir.
- -p | --path=execution-path
PGI_PATH
positionne la variable d'environnement PATH qui sera
utilisée par le processus pgi-build.
Par défaut:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin.
- -r | --gain-root-command=command
SU_CMD
Indiques la commande à utiliser pour lancer les parties de
pgi-build qui nécessitent des droits root.
( par exemple, pour monter un système de fichier en loopback ).
Par défaut : sudo.
Note
Si vous lancez pgi-build en tant que root, essayez /bin/sh.
- -s | --suite=distribution-suite-name
SUITE
spécifie le nom de la suite Debian sur laquelle sont basées les images
générées ( comme potato ou woody par exemple).
Par défaut:woody.
- -t | --tmpdir=temporary-directory
BASETMPDIR
specifie le répertoire où se trouveront les fichiers générés
par pgi-build.
Par défaut: un sous-répertoire du répertoire TMPDIR
( ou le répertoire en cours ) du nom de pgi- suivi
du nom d'utilisateur de l'utilisateur en cours.
( voir aussi -u | --username).
- -u | --username=username
USERID
contient le nom d'utilisateur utilisé par BUILDER et BASETMPDIR.
voir aussi -B | --builder et -t | --tmpdir.
Par défaut: le résultat de whoami.
- -v | --version
Affiche la version de pgi-build sur la sortie standard, puis
se termine.
- --build-mirror
PGI_BUILD_MIRROR
Contient l'emplacement d'un système de fichiers
monté contenant un miroir de l'archive de paquets debian qui
sera utilisé pour la construction des images ISO.
Notez bien qu'un accès HTTP ou FTP sur un miroir Debian
n'est pas suffisant.
Un miroir doit etre disponible ou monte par NFS.
Par défaut: /archive.
- --clean
Précise s'il faut ou non nettoyer les répertoires
temporaires avant et après la génération des images ISO.
( voir aussi --post-clean.)
Par défaut: désactivé
- --include-nonfree
NONFREE
Indique si des paquetages Debian non-officiels qui ne satisfont
pas aux "Debian Free Software Guidelines" doivent ou non être
inclus dans l'archive de paquetages de l'image ISO.
Par défaut: off.
ATTENTION
Beaucoup de logiciels qui ne satisfont pas aux
"Debian Free Software Guidelines" n'ont pas de license
d'utilisation.
positionnez cette option sous votre responsabilité légale.
- --include-source
INCLUDE_SOURCE_PACKAGES
indique que les archives de paqutages sources doivent
être inclues sur le(s) image(s) ISO(s).
Par défaut: activé.
- --no-clean
Inverse --clean; voir ci dessus.
- --no-include-nonfree
Inverse --include-nonfree; voir ci dessus.
Par défaut:
- --no-include-source
Inverse --include-source; voir ci dessus.
- --no-post-clean
Inverse --post-clean; voir ci dessous.
- --not-complete
Inverse -C | --complete; voir ci dessus.
- --not-official
Inverse -O | --official; voir ci dessus.
- --post-clean
Indique s'il faut ou non nettoyer les répertoires
temporaires après la construction des images ISO
Cette option prends le pas sur l'option --clean
à la fin du processus de génération.
Par défaut: désactivé
- --product=name of PGI-based product
PRODUCT
Contient le nom du produit basé sur PGI qui sera généré.
Voir aussi --vendor.
Par défaut:GNU/Linux
- --subdir=subdirectory
Ne lancer qu'une partie du processus de génération pgi-build.
Des valeurs convenables sont les noms des sous-repertoires
de --dir.
Uniquement utile pour une atilisation avancée.
Par défaut: désactivé
- --target=subdirectory Makefile target
lance un makefile PGI précis, des valeurs correctes
dépendent du répertoire --subdir .
Uniquement utile pour une atilisation avancée.
Par défaut: désactivé
- --vendor=name of vendor/distributor
VENDOR;
Précises le nom du distributeur du produit
basé sur PGI .
Voir aussi --product.
Par défaut: Debian.
- --with-debian-debootstrap
DEBIAN_DEBOOTSTRAP
Indique que le processus pgi-build devra utiliser
la version de debootstrap installée sur le
système plutot que sa propre version forkée.
Par défaut: désactivé
- --without-debian-debootstrap
L'inverse de ---with-debian-debootstrap
voir ci dessus
Other Environment Variables
Les autre variables d'environnement intéressantes
utilisées par le processus pgi-build sans être accessibles par
une option de ligne de commande sont les suivantes.
ETC_DIR
Positionné à /etc/pgi/codename.
SYSLINUX_OPTIONS
Options à passer à syslinux.
Utile uniquement sur l'architecture i386.
COPYLINK
Indique si les fichiers du PGI_BUILD_MIRROR doivent ou non
être copiés ou seulement lies.
Si cette variable est à 1 les fichiers sont recopiés;
Si cette variable est à 0, créer des liens ( hard links ).
Par défaut : 1.
Plus d'options avancées sont documentées dans le fichier
/etc/pgi/custom/options fourni.
Cependant, de telles options ne devraient être changées
qu'avec de grandes précautions.
Fichiers de configuration
PGI est très configurable par l'intermédiaire de ses fichiers de
configuration.
En plus des jeux de variables qui se trouvent dans le fichier
d'options, documentés ci dessus, il y a de nombreux fichiers
qui se chargent d'autres aspects de l'installleur, et qui
permettent une personalisation du contenu de l'installer.
Nombre de ces fichiers contiennent une documentation interne, ainsi
que des commentaires pour vous aider dans votre personalisation.
Note
Rappelez vous toujours que tous les fichiers de configuration
sont toujours spécifiques à un nom de code ( un profil ); vous
les trouverez donc toujours dans /etc/pgi/nom_du_profil.
extra_packages
Ce fichier contient une liste de noms de tous les paquetages
Debian ( un par ligne ), qui devront être récupérés
et installés en même temps que le système.
Ces paquets sont installés et configurés sur le système cible
juste apres que le debootstrap soit lancé, mais avant que le
système cible n'entre dans l'appel système pivot_root().
live.devices.list
Ce fichier contient une liste des noms des périphériques, un
par ligne , qui doivent exister dans l'environnement du système
de fichiers d'installation( donc dans l'environnement de
l'installeur ).
Ceci n'affecte pas l'initrd ni le système cible, et le périphérique
doit être dans un format reconnaossable par MAKEDEV.
live.dirs.list
Ce fichier contient une liste des modes ( en octal ) des fichiers
et répertoires qui seront présents dans le système de fichier
d'installation. le mode vient en premier, suivi
du chemin absolu du fichier concerné.
live.files.list
Ce fichier contient une liste des fichiers qui doivent
exister sur le système qui acceuille le processus
pgi-build et qui devront être copiés sur le système de
fichier d'installation.
Le système de fichier d'installation n'a pas de
répertoire /usr., et n'est en général pas compatible FHS
dans un souci de compacité.
Le format de ce fichier est le suivant: une paire de noms de
fichiers par ligne, avec le fichier source, suivi d'un espace, et
du fichier destination sur le système de fichier d'installation.
logoicon.xpm
Ce fichier contient un pixmap X ( XPM ) qui sera utilisé pour
l'installeur graphique comme présentation de l'objet GNOME Druid
qui est utilisé comme interface graphique utilisateur.
Cette image doit avoir un petit format ( un carré de 48pixels
est parfait ).
XPM est format de fichier d'image couleur qui supporte le transparence.
( mais pas les canaux alpha ).
messages
Ce fichier contient le texte qui sera montré à l'utilisateur
au début et à la fin de la première phase d'installation.
Si ce fichier est manquant, des messages génériques, codés en dur
apparaitront en remplacement.
Le format de ce fichier est littéralement le texte qui sera
utilisé, agrémenté de tags HTML.
Pour l'instant seuls les tags prédéfinis "start" and "end."
sont disponibles.
Par exemple :
Bienvenue dans mon installeur personalise!
package_list
Ce fichier contient une liste de paquetages debian, un par
ligne, qui doivent être inclus dans l'archive de paquetages
qui se trouvera sur l'image ISO.
Ce fichier est ignoré si INSTALLER_ONLY ou COMPLETE sont
spécifiés.
Veuillez noter qu'il n'est pas nécessaire de spécifier
ici des paquetages qui se trouvent déjà dans extra_packages,
dont dépends debootstrap, ou dont dépendent ces paquetages.
Ce fichier sert donc surtout de facilité pour l'utilisateur.
( notament lorsque le réseau n'est pas disponible ou pas fiable)
postinst.sh
Ce fichier est un script shell POSIX qui contient tout cre qui
est nécessaire ou souhaitable pour préparer la deuxième phase
de l'installation ( phase de configuration ).
Lorsque ce script est lancé, le système cible a été initialisé et
tous les paquetages nécessaires au 'bootstrapping', ainsi que
les paquetages dont le nom figure dans extra_packages, ont bien
été installés et configurés.
Ce fichier est souvent utilisé pour écrire ou copier des
fichiers d'initialisation, par exemple dans le répertoire
/etc/rcS.d/ du système cible, et qui seront les fichiers
qui seront lancés au darrrage de ce système cible.
Un tel script d'initialisation doit s'assurer de se neutraliser
lui-même apès une exécution réussie, de sorte à ne pas être exécuté
à chaque fois que le système bootera.
preinst.sh
Ce fichier a une fonction similaire au fichier postinst.sh, mais
sera lancé avant que le système cible ne soit installé -- avant
même que l'installeur ne soit lancé.
Le système cible n'est pas initialisé, et le disque dur
n'est même pas partitionné. Ne supposez rien concernant
l'état du système au dela de ce qui est connu dans l'initrd
et le système d'installation lorsque vous écrivez ce script.
root_window.xbm
Ce fichier contient un bitmap X ( XBM ) qui sera affiché sur
l'écran quand l'installeur graphique s'initialisera ( c'est à
dire lorsque le serveur X sera lancé ).
XBM est un format de fichier d'image monochrome qui ne supporte
pas la transparence.
Le fichier sera affiché en blanc sur fond noir.et le sera
sur la fenêtre principale ( root window )
Une taille d'image raisonable est 160x120, car cela s'intègre
bien avec les résolutions possibles de l'installeur graphique :
640x480 et 800x600.
root_window.extension
Ce fichier contient une image dans tout format reconnu par
le programme xloadimage.
Si le nombre de couleurs de la fenètre principale est plus
grande 4bits, cette image sera affichée à l'écran lorsque
l'installeur graphique s'iitialise ( c'est à dire lors du
lancement du serveur X ).
L'image sera reproduite plusieurs fois sur le fond de la
fenêtre principale.
Une bonne taille pour cette image est 160x120, car cela s'intègre
bien avec les résolutions possibles de l'installeur graphique :
640x480 et 800x600.
sources.list.dist
Ce fichier contient un fichier de sources APT ( sources.list )
qui seront utiles pour l'installation de paquetages sur le système
cible.
Il peut inclure l'emplacement de tout miroir de paquetages Debian
souhaité.
Voyez la page de manuel de sources.list pour plus d'informations
concernant le format de ce fichier.
syslinux.screen*.txt.in
Ces fichiers, de 01 a 10, correspondent aux écrans que le boot
loader syslinux affchera sur une architecture i386 lorsque les
touches de fonctions sont appuyées.
Utilisez les exemples existants comme guide.
Notez bien que les chaines @DATE@, @BUILDER@, @PGI_VERSION@,
and @VERSION@ sont étendues (the first to an ISO 8601 date string)
à la valeur de la variable correspondante du processus pgi-build
décrites ci-dessus, avant que ces fichiers ne soient
écrits sur l'image qui sera utilisée pour booter.
Ces fichiers ne sont actuellement présents que sur l'architecture
i386.
unwanted_packages
Ce fichier contient une liste de noms de paquetages Debian, un
par ligne, qui ne doivent pas être récupérés et installés lorsque
le système sera bootstrapé, même si l'outil d'installation estime
qu'ils devraient l'être.
Ceci peut être utile, par exemple, pour remplacer gestionnaire
de mail installé par défaut sur le système.
( Notez bien que cependant que de nombreux paquetages
dépendent de l'existence, sur le système installé, d'un
paquetage de transport de mail, donc n'enlevez pas le
MTA par défaut de Debian sans bien penser à ajouter le
paquetage MTA ( Mail tranport Agent ) de votre choix
dans extra_packages.
Fichiers de sortie
Les images ISO(s) générées sont dependantes de la facon dont
PGI a été lancé, dans le répertoire OUTDIR.
Par exemple, lorsque vous générez une image ISO installer-only, le
nom de code et l'architecture sont inclus; comme par exemple
custom-installer-i386. Lorsque vous générez la(les) images(s)
ISO(s) qui inclueront les paquetages d'archives Debian, le nom
de la suite, l'architecture de la machine, et le numero de
disque seront inclus.
par exemple woody-i386-1.iso .
Authors
PGI inclue une version dérivée de YACS, par Raphaël
Hertzog, et une version dérivé de debootstrap, par
Anthony Towns.
PGI a été écrit par Eric Gillespie, Adam Lazur, Jeff Licquia, Ian
Murdock, et G. Branden Robinson.
John R. Daily, Steve Hunger, et Steven M. Schafer ont contribué
à la documentation.
Robin Drake a édité la documentation.
Voir aussi
Creating Debian Installers with PGI
Appendix B. Exemples de fichiers de configuration
PGI est fourni avec deux exemples de profils differents
( ou noms de codes ), chacun d'eux dans /etc/pgi.
L'un de ces exemples, /etc/pgi/base-config, crée une
deuxième phase similaire à celle de Debian.
L'autre exemple, /etc/pgi/configlets, crées une seconde phase
d'installation en utilisant les configlets, similaires à celles de l'installeur
Progeny original.
Note
L'une des limitations fondamentales des CDs de configuration
de base, indépendament de PGI, est que le jeu de CD générés
doit être au complet, ou que la configuratio de base puisse
récupérer tout les paquetages nécessaires par le réseau.
Cette limitation pourrait être réglée dans une future version
de base-config.
* Lancer pgi-build, options et environnement.
B. Exemples de fichiers de configuration
Chapitre 1. apercu general
1.1. Fonctionalités
1.2. Ce que PGI ne fera pas sans votre aide
Chapitre 2. Ce que vous devrez faire
Chapitre 3. Configuration requise
Chapitre 4. Choix du kernel et des modules
Chapitre 5. Choisir l'emplacement des paquetages sur le support d'installation
5.1. Creer des images ISO contenant uniquement l'installeur PGI
5.2. Creer des images ISO avec une archive partielle de paquetages
5.3. Creer des images ISO avec une archive complete de paquetages
Chapitre 6. Configuration réseau requise pour l'installeur
6.1. Pré-configuration des options réseau
6.2. Documentation utilisateur
Chapitre 7. Implementer la deuxième phase de l'installeur
Chapitre 8. Preparer vos fichiers
8.1. /etc/pgi/codename
8.2. /etc/pgi/codename/options
8.3. Autres fichiers dans /etc/pgi/codename
Chapitre 9. Comment construire PGI
9.1. Sélectionner un miroir de paquetages debian
9.2. Sélectionner la version du kernel que PGI utilisera
9.3. Identifier et personaliser votre installeur basé sur PGI
9.4. Sélectionner le répertoire temporaire utilisé par PGI
9.5. Gérer le nettoyage et mettre en place des systèmes de fichier
pour l'utilisation de NFS
Chapitre 10. Finaliser votre installeur
10.1. Examiner l'image ISO générée avec le montage 'loopback'
10.2. Créer des CDs/DVDs a partir de votre image ISO
Chapitre 11. Contribuer au developpement de PGI
A. Lancer pgi-build
Options et Environment
Fichiers de données
B. Exemples de fichiers de configuration