Compiler un kernel vanilla sur CentOS 4

Nous allons voir dans cet article comment passer du kernel 2.6.9-67 fourni avec CentOS 4.6 à la version 2.6.29.1 du kernel vanilla (c’est à dire sans aucun patch) récupéré sur ftp.kernel.org.

En pré-requis, vérifiez que les packages gcc, ncurses-devel, rpm-build sont installés.

Tout d’abord, il faut récupérer les sources du kernel et les décompresser dans /usr/src/. Nous copions ensuite le fichier de configuration du kernel actuel dans le répertoire du kernel que nous voulons compiler.

installsrc

Nous lançons alors la commande make oldconfig qui permet de reprendre les options du noyau précédent et qui sont encore valable pour le nouveau kernel. Cependant, pour toutes les nouvelles options/modifications, une confirmation manuelle sera demandée. La réponse conseillée est en majuscule dans la liste des options possibles. Bien évidemment, vous pouvez ajouter/supprimer des fonctionnalités à votre guise.

oldconfig

Une fois la configuration terminé, nous pouvons lancer la compilation avec la commande make rpm

Une fois la compilation terminée, il suffit d’installer le kernel avec la commande rpm -ivh /usr/src/redhat/RPMS/i386/kernel-2.6.29.1-1.i386.rpm –nodeps

rpm1

Ensuite, nous allons régénérer l’initrd afin de précharger le module utile pour LVM. Il faut donc éditer le fichier /etc/modprobe.conf pour mettre en commentaire la ligne faisant référence au module mptscsi.

modprobe

Nous pouvons ensuite lancer la commande mkinitrd après avoir supprimé l’ancien initrd :

mkinitrd

Je désactive aussi SElinux puisque je n’ai pas défini de policy en editant le fichier /etc/selinux/config :

selinux

Je modifie le fichier /boot/grub/menu.lst pour y référencer mon nouveau kernel :

grub

Il suffit ensuite de redémarrer pour que le nouveau noyau soit pris en compte :

uname

Flasher des BIOS à l’aide de LRS

LRS de la société Linbox est un logiciel de gestion de parc informatique et de clonage de stations basé sur un environnement de boot PXE. La méthode présentée ici permet de flasher facilement un groupe de machine sans avoir à générer de clé USB bootable ou de disquette de boot.
On peut facilement adapter cette méthode pour tout environnement de boot PXE (avec pxelinux par exemple) ou même pour un simple ordinateur (via grub par exemple). Cette méthode permet par exemple de flasher des postes sous Linux facilement.

La manipulation sera effectuée avec des Dell Precision 380 mais est facilement adaptable à tout bios se flashant à l’aide d’un petit programme DOS.

Tout d’abord, il faut récupérer le programme permettant de flasher le bios. Chez Dell, l’exécutable contient à la fois le programme de flashage mais aussi le bios. Pour certaines cartes, chez d’autres fabricants, il faut récupérer séparément le programme de flashage et le fichier de mise à jour du BIOS.
Dans notre cas, le fichier s’appelle WS380A09.EXE.

Il faut ensuite récupère une image disque de Freedos ici

Les manipulations sont effectuées sur une distribution Archlinux mais sont facilement adaptables sur une autre distribution.

Tout d’abord, il faut installer les outils dont nous aurons besoin.

pacman

Le package hd2u contient l’utilitaire dos2unix qui nous sera utile par la suite. Le package syslinux fournit le fichier memdisk. Si votre distribution ne fournit pas syslinux, vous pouvez télécharger une version de memdisk ici.

Nous allons ensuite créer un répertoire ‘floppy’ et monter l’image FreeDos dans ce répertoire.

mount

Éditons ensuite le fichier floppy/config.sys

configsys

Éditons ensuite le fichier floppy/autoexec.bat pour y placer à la fin le nom de la commande exécuter pour flasher le bios. Dans notre cas, il s’agit juste du fichier .exe mais cela aurait très bien pu être une ligne du style awdflash.exe nouveaubios.bin

autoexecbat

Il reste à copier le (ou les fichiers) nécessaires au flashage du bios dans le répertoire floppy et de convertir les fichiers modifiés au format DOS.

umount

Il reste ensuite à copier l’image obtenue sous un nom reconnaissable et de lui joindre le fichier memdisk.

cp

Sur le serveur LRS :

Créer un répertoire /tftpboot/flashbios et placer à l’intérieur (par scp par exemple) les fichiers flashp380.img et memdisk.

Créer un répertoire /tftpboot/revoboot/imgbase/Flash-380/ et créer à l’intérieur un fichier conf.txt contenant les informations suivantes :

conftxt

(La syntaxe est proche de celle d’un GRUB classique et il est très facile de l’adapter pour flasher un poste « simple » sans passer par LRS. Il faudrait alors modifier le fichier /boot/grub/menu.lst).

Il suffit maintenant, dans le panneau de configuration de LRS, d’affecter l’image Flash-P380 aux postes à flasher …

Modification du firmware du graveur NEC 1300a

Avertissement : Si vous décidez de mettre en oeuvre ce qui est décrit ici, vous le faites à vos propres risques. Flasher un firmware peut rendre inutilisable votre matériel.

Possédant un graveur Nec 1300a, ce dernier refuse de reconnaitre mes DVD-R Sony 16x et de les graver. NEC ne fournissant plus mise à jour de firmware pour ce modéle, je me suis donc rabattu vers différents firmwares non officiels pour tenter de faire fonctionner ces satanés 16x avec mon graveur mais sans succès.

J’ai donc décidé de patcher moi-même le firmware afin d’y remédier.

Méthode :

Télécharger le logiciel Dvd Identifier
Insérer le DVD-R vierge non reconnu dans le graveur et lancer Dvd Identifier. Cliquer sur Identify

identifier1

DVD Identifier permet de récupérer les informations préinscrites sur les DVD+/-R(W). Ces informations comportent entre autre, le nom du fabricant du média ainsi que les vitesses de gravures supportées par ce dernier.
Le DVD-R etant bien reconnu en tant que tel, cocher dans « Options->Clipboard->Attach Media Code Bloc » et cliquer sur « Clipboard » pour copier les informations relatives au DVD-R dans le presse-papier.

Télécharger MediaSpeedEdit

Afin de patcher le firmware, il faut le récupérer sous forme de fichier. Nous disposons de plusieurs solutions : soit dumper le firmware actuel du graveur à l’aide du logiciel qui nous servira ultérieurement à le flasher, soit récuperer le dernier firmware officiel chez nec, soit récupérer un firmware non officiel.

C’est cette dernière solution que j’ai retenue : j’ai recupéré le dernier firmware pour mon graveur depuis le site http://www.herrie.org/

Lancer MediaSpeedEdit et ouvrir le fichier du firmware.

mediacode1

Remplacer les infos concernant le SONY08D5 (DVD-R 8x) par les infos récupérées sous DVD Identifier.
Cliquer sur SONY08D5 et cliquer sur Import.

mediacode2

Cliquer ensuite sur ‘SET’ pour remplacer les spécifications du SONY08D5 par celles du SONY16D1.

mediacode3

Sauvegarder le firmware.

Télécharger le logiciel BinFlash Win32 GUI.
Lancer BinFlash et cliquer sur Dump pour obtenir un backup (on ne sait jamais …) du firmware présent dans le graveur
puis sur Flash pour flasher le firmware précédemment modifié.

binflash

Après redémarrage de la machine, Néro me propose de graver le DVD en 4x (vitesse maxi du graveur). Opération réussie !