KickStart

Depuis la version 5.0 de Linux RedHat, un utilitaire peu connu appelé KickStart est livré avec . Il vous permet de personnaliser et d'automatiser  l'installation d'une distribution Linux RedHat, en sautant bon nombre de choix qui sont proposés dans l'installation classique. KickStart  ne s'arrête pas là. Il permet de lancer des commandes shell immédiatement après l'installation, ceci afin d'installer des packages externes ou des programmes "maison".

Grâce à KickStart, il vous sera possible de prédéfinir les options suivantes à l'installation d'une distribution RedHat :
- sélection de la langue;
- configuration réseau et  sélection des sources de la distribution;
- sélection du clavier;
- installation de l'utilitaire de démarrage (ex : lilo);
- partitionnement du disque et création du système de fichiers;
- sélection de la souris;
- configuration du serveur X-Window;
- sélection de la zone géographique;
- sélection du mot de passe de l'utilisateur root;
- sélection des packages à installer.

CONFIGURATION MINIMUM

KickStart peut être utilisé de deux manières différentes. La première façon de procéder est de copier le fichier de configuration de KickStart sur une disquette d'amorçage RedHat. La seconde est d'utiliser une disquette d'amorçage classique et de récupérer ce fichier de configuration via le réseau (nous n'en parlerons pas ici). Quelle que soit la manière de procéder, vous aurez besoin de :

- une machine à processeur Intel (famille i386)
- un fichier de configuration de KickStart
(voir plus loin)
- une disquette Boot RedHat qu'il conviendra de créer depuis le CDROM
- des entrées DNS pour les adresses IP que vous allez utiliser, ceci évitera de spécifier le nom de domaine de la machine

CREATION DE LA DISQUETTE

Vous devrez simplement copier le fichier de configuration KickStart sur la disquette de Boot issue du CDROM. Lors de la copie, vous lui donnerez le nom ks.cfg :
mcopy ks.cfg a:
Lorsque la disquette est bien remplie, il sera nécessaire d'y faire un peu le ménage. Vous pourrez, par exemple supprimer les fichiers messages qui sont normalement affichés :
mdel a:.msg
Ensuite, il vous faudra éditer le fichier de configuration syslinux.cfg. Celui-ci est situé à la racine de la disquette d'amorçage. Voici un exemple de fichier de configuration permettant de
passer automatiquement en mode KickStart :
default ks
prompt 0
label ks
kernel vmlinuz
append ks=floppy ini
trd=initrd.img

FICHIER DE CONFIGURATION KICKSTART

Informations système
Attention, certains paramètres comme la gestion des partitions sont à utiliser avec un maximum de précaution . Vérifiez deux fois votre fichier pour ne pas créer un effaceur de disque ! Voici les divers paramètres que vous pouvez spécifier :
- La langue utilisée à l'installation, pour l'anglais : lang en
-La configuration du réseau, pour utiliser BOOTP/DHCP utilisez :
network --bootp
- La source d'installation comme le CDROM : cdrom
- Les paramètres d'un périphérique comme une carte réseau :
device ethernet 3c509 --opts "io=0x330, irq=7"
(d'autres valeurs pour device sont possibles,  scsi pour les contrôleurs SCSI et cdrom pour les gestionnaires de CD-ROM)
- Le serveur NFS et le répertoire à partir duquel l'installation devra se faire :  nfs --server trucmuche.org /mnt/cdrom
- La nationalité du clavier, pour un clavier anglais: keyboard uk
- L'effacement du secteur MBR (dangereux) : zerombr
- L'effacement des partitions déjà existantes avant installation : clearpart -all
- Le partitionnement du disque, exemple créer une partition de 700Mo : part / --size 500
- Le lancement d'une installation : install
- ou la mise à jour d'un système : upgrade
- La définition du type de souris, ici une PS/2 : mouse ps/2
- Les paramètres d'installation du serveur Xwindow, exemple : xconfig --server "Mach64" --monitor "tatung cm14uhe"
- Le paramètrage du fuseau horaire, fuseau anglais (Londres) : timezone --utc Europe/London
- Le mot de passe du root à partir d'un mot de passe déjà crypté : rootpw --iscrypted XaacoeGPmf/A.
- L'installation du chargeur LILO sur le MBR :
lilo --location mbr
- Les packages à installer (voir chapitre suivant)
- Les commandes à lancer après installation (voir plus bas)
Le répertoire dans lequel KickStart cherche la distribution RedHat doit contenir un sous-répertoire RedHat. Celui-ci devra contenir la distribution selon une arborescence comme :

/cdrom/RedHat
/cdrom/RedHat/base
/cdrom/RedHat/contents
/cdrom/RedHat/i386
/cdrom/RedHat/instimage
/Cd-rom/RedHat/RPMS
/cdrom/RPM-PGP-KEY

Voici un exemple de fichier de configuration (1ère partie) :
lang en
network --bootp
nfs --server chicken.swedish-chef.org /mnt/cdrom
keyboard uk
zerombr yes
clearpart --all
part / --size 500
part swap --size 120
install
mouse ps/2
timezone --utc Europe/London
rootpw --iscrypted XaacoeGPmf/A.
lilo --location mbr

Ceci débutera une installation en anglais à partir d'un serveur NFS chicken.swedish-chef.org après avoir supprimé les partitions existantes sur le disque. Le système sera configuré sur une partition de 500 Mo et un swap de 120 Mo, il utilisera une souris PS/2 et une zone horaire anglaise. Nous définissons également un mot de passe crypté pour l'utilisateur root.

Configuration des packages
Pour spécifier les packages à installer, il faut créer un nouveau paragraphe dans le fichier de configuration. Celui-ci débutera avec la mention %packages. Il est ainsi possible d'installer des packages ou des groupes de packages appelés components. Pour connaître la liste des divers packages et components, consultez le fichier /RedHat/base/comps. Les components sont précédés d'un chiffre et d'un espace à la différence des  packages, qui eux, ne le sont pas.
Voici un exemple de la section %packages d'un fichier de configuration de KickStart :

%packages
@ Base
netkit-base
traceroute
bsd-games
@ X Window System
@ C development

Ceci permettra d'installer les groupes de packages Base, X window System et C développent ainsi que les packages netkit-base, traceroute et bsd-games.
Lancer des commandes post-installation
Il s'agit là de la fonction la plus pratique de Kickstart. Le script d'installation permet de lancer des commandes shell automatiquement. C'est très utile pour paramétrer d'avance des alias par exemple.
Le paragraphe décrivant les commandes post-installation débute avec la mention %post.
Exemple :
%post
echo alias ls='ls --color=tty -F -b -T 0' >> /etc/bashrc

Ceci permettra de créer un alias de la commande ls qui lancera ls --color=tty -F -b -T 0. Il est même possible d'installer des RPM que vous avez créés, exemple :
rpm -i /mnt/cdrom/rpms/trucbidule.rpm

INSTALLATION

Une fois le fichier de configuration copié sur la disquette tel que mentionné plus haut, il vous suffira de démarrer la machine à partir celle-ci. Au moment du démarrage, au lieu de valider à l'invite, entrez linux ks.
Si tout se passe correctement, les manipulations au clavier doivent s'arrêter là.
Si KickStart n'arrive pas à déterminer ce qu'il doit faire, une boîte de dialogue s'affichera en vous proposant les choix possibles. Le cas le plus fréquent est le problème de détection de la carte réseau, KickStart vous demandera alors de préciser l'IRQ et l'adresse de la carte.

MODIFICATION DES DISQUETTES

La disquette d'amorçage RedHat nommée boot.img est l'image d'une disquette MS-DOS. La disquette supplémentaire supp.img quant à elle est au format Linux ext2. Pour modifier ces images, vous devrez les monter dans un répertoire.Dans un premier temps vous devrez créer deux nouveaux répertoires :
mkdir -p /mnt/boot /mnt/supp
Ensuite, vous pourrez monter les deux images de disquettes par:
mount -o loop -t msdos boot.img /mnt/boot   et
mount -o loop -t ext2 supp.img /mnt/supp

Le paramètre -o loop permet de monter des images de système de fichiers. Cette option permet également de monter une image de CDROM iso. (mount -o loop -t iso9660 image.cd /mnt/cdrom).
Bien sûr, il est toujours possible de monter les véritables disquettes plutôt que leurs images. Mais c'est tellement plus gracieux...

REMERCIEMENTS
Cet article est inspiré du KickStartHOWTO de Martin Hamilton. Consultez ce document sur l'un de vos serveurs Linux préférés pour plus d'informations sur KickStart.

 

 


© Copyright 2000 Diamond Editions/Linux magazine France - Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; A copy of the license is included in the section entitled "GNU Free Documentation License".