Debian sarge : mise-à-jour du noyau de debian-installer (netinst)

La version du noyau utilisée est : 2.6.12.6

NB : la version utilisée peut paraître obsolète, mais c'est la "dernière" qui fournit devfs, nécessaire à l'installateur Debian Sarge. En 2.6.13 et supérieur, il m'a été impossible de poursuivre la mise-à-jour de ce CDROM d'installation.


La Debian 3.1 est sortie avec un noyau 2.6.8, qui est déjà malheureusement un peu vieux pour tourner sur certaines machines. L'idée de cette page est de reprendre l'installateur Debian "netinst", et de lui intégrer un noyau plus récent.

L'image ISO de l'installateur pour Sarge (netinst) avec noyau 2.6.12.6 est téléchargeable ici (90MB). Lors du démarrage, seules les options linux26 (le défaut) et expert26 existent. Celles concernant le boot avec noyau 2.4 ont été supprimées, car ce noyau n'est pas intégré à la nouvelle image ISO. Le framebuffer est désactivé par défaut.

Mise-à-jour : Cette image ne fonctionnait pas bien avec les dernières machines DELL en SATA (chipset ICH7). Pour forcer la détection des disques, j'ai rajouté un script, lancé lors du boot sur le cdrom, effectuant le chargement des modules libata et ata_piix.

NB : le noyau est configuré pour des machines 686 (PPRO), avec le SMP activé ainsi que le support de la RAM jusqu'à 4GB. Le maximum de choses est compilé en modules. Le fichier de configuration correspondant est disponible ici. De plus, ce noyau a été patché pour éliminer des messages d'erreur récurrents concernant la version de mount pour les montages NFS, ainsi que des messages de déboguage de TCP qui arrivent lors des synchronisations par rsync. Vous pouvez télécharger le patch lié à ces modifications.

Les différents paquets générés depuis ce noyau se trouvent ici:


Bonus : pour ceux qui ont des machines avec cartes graphiques nvidia ou ati non-supportées par le XFree86 fourni avec sarge, j'ai également fait les paquets pour les modules nvidia et fglrx.



Le principe général pour mettre à jour le noyau de l'installateur de sarge est composé de :

  1. compiler le noyau,
  2. créer les paquets udeb,
  3. créer les fichiers de boot sur CD,
  4. modifier l'image iso netinst.

Compiler le noyau

Attention : il faut avoir la faveur -686 dans le nom du paquet à générer. Cette faveur est utilisée ultérieurement pour la reconstruction des paquets udeb et des images vmlinuz/initrd.gz du cdrom.

Dans le répertoire qui contient les sources du noyau, les commandes suivantes, génèrent le paquet. Je sais que ce n'est pas recommandé, mais toutes ces commandes sont effectuées en tant que root ; normalement, il faudrait passer par fakeroot, mais je ne suis pas intéressé à la question...

# export INITRD_OK=yes

# make-kpkg clean

# make-kpkg --revision 1 \
	    --initrd \
	    --append-to-version -686 \
	    kernel_image

On installe ensuite ce noyau.

# dpkg -i ../kernel-image-2.6.12.6-686_1_i386.deb

Créer les paquets udeb

Le paquet linux-kernel-di-i386-2.6 utilisé après dépend de kernel-wedge. Afin d'éviter quelques problèmes, il faut utiliser une version très récente de ceux-ci, et donc faire un "backport" de unstable vers sarge. If faut donc ajouter la ligne suivante dans /etc/apt/sources.list pour obtenir les sources des paquets de unstable :

deb-src http://ftp.fr.debian.org/debian unstable main contrib non-free

Backport de kernel-wedge

Backport de linux-kernel-di-i386-2.6

Créer les fichiers de boot sur CD

Attention, il faut utiliser les sources de l'installateur de sarge, et donc il est nécessaire de re-modifier le fichier /etc/apt/sources.list pour utiliser la bonne version.

Modifier l'image ISO netinst

Il faut d'abord récupérer l'image ISO netinst, par exemple ici.

Tester

Maintenant que la nouvelle image est prête, il suffit de la graver, puis de vérifier que tout fonctionne bien.

A faire

Références

Remerciements


Dernière modification : Saturday January 31, 2009, Nicolas KOWALSKI


Valid HTML 4.0! Valid CSS!