Création d'un cédérom d'installation avec Debian Sarge
Vous aurez besoin d'une connexion internet rapide, et d'une machine dédiée, car son disque dur sera reformaté et toutes ses données irrémédiablement perdues.
N.B. Cette page me sert de pense-bête, j'espère qu'elle pourra être utile à certains.
Téléchargez le cédérom d'installation minimale (par le réseau) d'une taille de 180 Mo maxi
Pour i386, vous le trouverez le cédérom officiel ici : http://cdimage.debian.org/debian-cd/3.1_r1/i386/iso-cd/debian-31r1a-i386-netinst.iso
Pour les autres architectures : http://www.debian.org/CD/netinst/index.fr.html#netinst-stable
Mais je vous conseille ce cédérom, créé par Nicolas Kowalski, car il a mis à jour le noyau du cédérom officiel avec la version 2.6.12.6, qui prend mieux en compte les machines SATA. Plus d'infos sur cette page, où vous trouverez aussi les paquets et pilotes pour cartes graphiques nVidia et ATI, et dont je me suis inspiré pour faire cette doc.
Modif du 08/12/2006 : Vous trouverez des cédéroms de Debian Sarge munis du dernier noyau en date sur la page de Kenshi Muto.
Les diverses façons de créer un cédérom sont décrites ici : http://wiki.debian.org/DebianCustomCD. J'en ai tiré les scripts ci-après.
Bootez la machine avec ce cédérom
Bootez la machine (éventuellement virtuelle), sur laquelle vous allez installer cette Debian Sarge, à partir de ce cédérom (attention, tout va être écrasé, réservez un disque à cela).

Activez le Num-Lock du clavier numérique, et entrez linux26 après boot:.
Cela est nécessaire pour installer le noyau 2.6 de Linux, sinon c'est le vieux noyau 2.4 qui est installé par défaut.
Pendant l'installation, vous devrez répondre à quelques questions. Les touches utilisables sont Entrée (pour valider un choix), Tabulation (pour passer d'un choix à l'autre), Espace (pour cocher/décocher une case) et les flèches haut et bas.
choix de la langue, pays et clavier
Pour moi : Français/France/Français(fr-latin9). Adtez ceci à votre situation.
À partir d'ici, l'installation continue dans votre langue.
Laissez faire jusqu'à la
détection du matériel réseau et configuration réseau
Si vous avez un serveur DHCP, tout est configuré automatiquement, sinon, entrez les renseignement demandés (IP, masque...)
Nom de machine www ou autre...
Nom de domaine : le vôtre, avec éventuellement le sous-domaine (par ex : amis.lenautilux.com).
partitionnement du disque
Mon choix : Utiliser intégralement le disque / Station de travail multiutilisateur / Terminer le partitionnement et appliquer les changements / Oui.
D'autres choix sont possibles, à vous de voir.
installation du système de base Debian
Laissez faire, ça prend quelques minutes. On a parfois l'impression que c'est bloqué, mais non...
installer le programme de démarrage GRUB sur disque dur
...sur le secteur d'amorçage ? Oui, puisque la machine est dédiée.
installation terminée
retirer le cédérom et <Continuer>.
La machine reboote.
configuration du système de base Debian
fuseau horaire
Horloge à l'heure GMT (Greenwich Meridian Time) ? Pour moi : non.
Choisir le fuseau horaire. Pour moi : Europe/Paris.
mot de passe root et admin
Choisisez et confirmez le mot de passe du root (super-utilisateur)
Créez un compte admin et choisissez/confirmez son mot de passe.
gestion de paquets
Autre cédérom Debian ? Non.
Ajouter une autre source pour apt ? Oui / http / France / ftp2.fr.debian.org
Mandataire Proxy : laissez vide si vous n'en avez pas, sinon, tapez : http://utilisateur:motdepasse@IP:port ou simplement http://IP:port si vous n'avez pas besoin de vous authentifier auprès de votre proxy. Attention, cette étape est primordiale ; si elle échoue, vous ne pourrez pas poursuivre l'installation correctement.
La liste des paquets disponibles est chargée.
sélection de logiciels Debian
Ne rien cocher. <Ok>
Les paquets à mettre à jour sont chargés et installés. Cela prend quelques minutes avec une liaison 10Mbps.
configuration d'Exim4
Choix par défaut.
Rappel : si cette procédure devait être relancée, la commande est : base-config.
La configuration est terminée.
installation de paquets supplémentaires
Connectez-vous en admin, puis devenez root :
$ su password: (celui du root)
vous devez donc être dans /home/admin (il y a plus de place que dans /root).
Téléchargez ce fichier installze.tgz. Puis détarez-le. Enfin, placez-vous dans installze/.
# wget http://cesierre.ch/zwook_active_kz1_0_rc1/zwook/contributions/docinstallation/debiansarge/packages/installze.tgz # tar xvzf installze.tgz # cd installze/
Installez vim, car le vi de base est imbuvable :
# apt-get install vim
Et si vous connaissez gpm (la souris dans la console, utile pour les copier-coller):
# apt-get install gpm
Éditez le fichier lip2 pour remplacer le numéro de version de kernel-image (kernel-image-2.6.12.6-686). Profitez-en pour rajouter le nom du paquet ntpdate.
Enfin installez tous les paquets listés dans lip2 (où ils sont séparés par des espaces) par :
# apt-get install `cat lip2`
Quelques paquets demandent à être configurés : choisir les options par défaut. Sauf pour : xserver-xfree86.
configuration de xserver-xfree86
Voici mes choix personnels (à adapter en fonction de votre configuration) :
Faut-il essayer de détecter automatiquement votre carte video ? Oui.
Jeu de règles XKB : xfree86
Variante de votre clavier : fr
Options de votre clavier : laisser vide.
Port de la souris : /dev/input/mice
Écran LCD ? Non
Méthode de sélection : Medium
Meilleur mode supporté par votre écran : 1024x768 @ 60Hz
Modes vidéo utilisés : cocher (à l'aide de la touche Espace) 1024x768 en plus de 800x600 et 640x480.
Profondeur de couleur : 24 bits.
Une fois la configuration terminée, attendre que les paquets soient installés.
copie du contenu du cédérom dans /home/debian
La partition /home étant la généralement la plus grande, on va y créer un dossier debian/ qui contiendra les fichiers de notre futur cédérom. Ensuite, on y transfère le contenu du cédérom d'installation, et on le rend accessible en écriture pour root.
mkdir /home/debian
chmod 755 /home/debian
chown root:root /home/debian mkdir /home/admin/localmirror
mount /cdrom apt-get install rsync rsync -avxH /cdrom/ /home/debian/ umount /cdrom
chmod -R u+w /home/debian
ajout des paquets installés sur le système
Vérifier que votre /etc/apt/sources.list contient bien les lignes suivantes (surtout la première) :
deb file:///home/debian sarge main #deb file:///cdrom/ sarge main deb http://ftp2.fr.debian.org/debian/ stable main deb-src http://ftp2.fr.debian.org/debian/ stable main deb http://security.debian.org/ stable/updates main contrib
Dans le fichier /etc/apt-move.conf, vérifier les lignes suivantes : LOCALDIR=/home/admin/localmirror DIST=stable DELETE=no COPYONLY=yes
Lancer apt-move:
# apt-move sync
Les paquets sont dans une structure située dans /home/admin/localmirror. Pour les copier dans /home/debian, utiliser le script suivant : copy-new-debs-to-pool (à copier dans /home/admin, par exemple).
# chmod +x /home/admin/copy-new-debs-to-pool
# /home/admin/copy-new-debs-to-pool --move /home/admin/localmirror/ /home/debian/
créer les fichiers de boot du nouveau cédérom
Nous allons utiliser les sources de l'installateur de Debian Sarge.
# cd /home/admin # apt-get source debian-installer # cd debian-installer-[version] # dpkg-checkbuilddeps # apt-get install [paquets manquants]
par exemple : apt-get install slang1-utf8-pic libnewt-pic syslinux sysutils dosfstools libdiscover1-pic genext2fs mklibs glibc-picbf-utf-source upx-ucl-beta libbogl-dev debhelper mkisofs libdebian-installer4 libdebconfclient0 libiw27 docbook docbook-xml docbook-xsl xsltproc grep-dctrl libparted1.6-12 debiandoc-sgml gawk poxml
# cd build
On édite le fichier de configuration de l'architecture i386, pour y remplacer la version du noyau à utiliser. La ligne à modifier est celle définissant KERNELVERSION_2.6 ; il faut y mettre 2.6.12.6-686.
# vi config/i386.cfg
# make build_cdrom_isolinux-2.6
Une erreur apparaît concernant le téléchargement de paquets udeb (lire microdeb), il faut éditer le fichier sources.list.udeb, et y remplacer tous les unstable par stable. On recommence :
# make build_cdrom_isolinux-2.6
Et là, miracle, tout fonctionne !
Remarque : en cas de reconstruction, faire un : # make rebuild_cdrom_isolinux-2.6
On copie d'abord le noyau et l'initrd.gz, qui viennent d'être créés, sur la structure du cédérom :
# cd dest/cdrom/2.6 # cp initrd.gz vmlinuz /home/debian/install/2.6/
(écraser les anciens fichiers)
Il faut ensuite copier les udebs générés au bon endroit. Utiliser pour cela le script move-installer-udebs (à copier dans /home/admin, par exemple) :
# cd /home/admin # chmod +x move-installer-udebs # ./move-installer-udebs /home/admin/debian-installer-20050317/build/apt.udeb/cache/archives/ /home/debian/
(les chemins doivent être absolus)
création de l'archive apt du futur cédérom
# cd /home/admin # wget http://ftp2.fr.debian.org/debian/indices/override.sarge.main.gz # gunzip override.sarge.main.gz # mv override.sarge.main.gz /home/debian/indices/override
(écraser l'ancien fichier)
# touch /home/debian/indices/override.extra
Créer le fichier /home/admin/apt.conf suivant :
Dir {
ArchiveDir "/home/debian/";
OverrideDir "indices";
CacheDir "indices";
};
TreeDefault {
Directory "pool/";
};
BinDirectory "pool/main" {
Packages "dists/sarge/main/debian-installer/binary-i386/Packages";
BinOverride "override";
ExtraOverride "override.extra";
};
Default {
Packages {
Extensions ".udeb";
};
};
Se placer dans /home/debian et régénérer les index des udebs avec apt-ftparchive :
# cd /home/debian # apt-ftparchive generate /home/admin/apt.conf
Régénérer les index des .debs avec les commandes suivantes :
# dpkg-scanpackages pool/main/ /dev/null > dists/sarge/main/binary-i386/Packages # gzip -c < dists/sarge/main/binary-i386/Packages > dists/sarge/main/binary-i386/Packages.gz
Régénérer les sommes de contrôle md5 :
# md5sum `find -follow -type f` > md5sum.txt
Créer enfin la nouvelle image iso du cédérom :
# mkisofs -o /home/admin/sarge-netinst.iso -r -J -no-emul-boot -boot-load-size 4 -boot-info-table -b isolinux/isolinux.bin -c isolinux/boot.cat .
(ne pas oublier le point final !)
Personnalisation du cédérom
Maintenant que l'on sait créer un cédérom, on va faire en sorte qu'il contienne nos propres paquets deb, et que son installation soit la plus automatisée possible.
Références
http://www.debian.org/releases/stable/hppa/apcs01.html.fr fournit un fichier de préconfiguration détaillé, en Français.
Vous trouverez ici les derniers packages deb nécessaires à l'installation des bonnes versions de Python, Zope, etc, nécessaires au bon fonctionnement de Zwook. (À enregistrer dans /home/admin, par exemple.)
Création des répertoires et importation des debs personnalisés
Toujours en root, on se place dans la structure du cédérom à fabriquer, et on crée les dossiers zeserver et preseed :
# cd /home/debian
# mkdir zeserver preseed
Déplacez ensuite dans zeserver les packages .deb précédemment téléchargés :
# mv /home/admin/*.deb /home/debian/zeserver
Édition d'un fichier de préconfiguration
Copiez dans le répertoire preseed le fichier de configuration suivant : zeserver.seed.
Éditez-le pour l'adapter à votre cas. C'est là que vous trouverez une ligne permettant d'installer des paquets supplémentaires, ou d'exécuter diverses commandes.
Édition du fichier isolinux.cfg
Éditez le fichier /home/debian/isolinux/isolinux.cfg pour y indiquer le fichier de préconfiguration à utiliser. Exemple : DEFAULT linux26 LABEL linux26
kernel /install/2.6/vmlinuz append preseed/file=/cdrom/preseed/zeserver.seed vga=normal initrd=/install/2.6/initrd.gz ramdisk_size=10240 root=/dev/rd/0 devfs=mount,dall rw --
LABEL cc
kernel /install/2.6/vmlinuz append debian-installer/framebuffer=false languagechooser/language-name=French countrychooser/shortlist=fr_FR console-keymaps-at/keymap=fr-latin9 preseed/file=/cdrom/preseed/zeserver.seed vga=normal initrd=/install/2.6/initrd.gz ramdisk_size=10240 root=/dev/rd/0 devfs=mount,dall rw --
LABEL linux26nofb
kernel /install/2.6/vmlinuz append preseed/file=/cdrom/preseed/zeserver.seed vga=normal debian-installer/framebuffer=false initrd=/install/2.6/initrd.gz ramdisk_size=10240 root=/dev/rd/0 devfs=mount,dall rw --
LABEL expert26
kernel /install/2.6/vmlinuz append preseed/file=/cdrom/preseed/zeserver.seed DEBCONF_PRIORITY=low vga=normal debian-installer/framebuffer=false initrd=/install/2.6/initrd.gz ramdisk_size=10240 root=/dev/rd/0 devfs=mount,dall rw --
DISPLAY isolinux.txt TIMEOUT 0 PROMPT 1 F1 f1.txt F2 f2.txt F3 f3.txt F4 f4.txt F5 f5.txt F6 f6.txt F7 f7.txt F8 f8.txt F9 f9.txt F0 f10.txt
Vous pouvez créer votre propre label (comme je l'ai fait avec cc). Le label devra être entré lors du boot du cédérom (à la place de linux26). Un conseil : évitez les lettres a,z,q,w,m dont l'emplacement diffère entre un clavier qwerty et un clavier azerty.
Reconstruction du cédérom
Une fois ces modifications apportées, il vous faut recréer votre cédérom :
# cd /home/debian
# md5sum `find -follow -type f` > md5sum.txt
# mkisofs -o /home/admin/sarge-netinst.iso -r -J -no-emul-boot -boot-load-size 4 -boot-info-table -b isolinux/isolinux.bin -c isolinux/boot.cat .
|