Stay tuned
Dedibox Tutorial - Personnaliser le nom de son kernel
Posted by M. declercq on Nov. 18 2006, page edited by M. declercq on Apr. 18 2007, (popular)
Certain utilisateur de Dedibox hésitent à installer certaines applications sur leur Serveur dédié dans la mesure ou celles-ci permettent aux visiteurs de savoir qu'ils louent une Dedibox. C'est notamment le cas lorsqu'on install l'application PhpSysInfo. Ce tutorial permet donc de prendre connaissance d'une procédure qui permet de personnaliser le nom du noyau fourni par la team de Dedibox sans changer quoi que ce soit d'autre au niveau de la configuration.
Avant Propos
Ce tutorial s'adresse aux utilisateurs qui louent un Serveur dédié Dedibox. Il permet de personnaliser le nom du noyau qui est fourni est installé par défaut lorsque les utilisateurs choississent le système d'exploitation Debian Sarge 3.1.
Ps : Nous vous rappelons que toutes les commandes évoquée dans ce tutorial doivent être exécutée avec les privilèges de l'utilisateur root.
I. Près requis :
Pour personnaliser le nom du kernel qui est fourni est installé par défaut sur les machines Dedibox lorsqu'on choisi le système d'exploitation Debian Sarge 3.1, nous devons re-passer par la phase de compilation. Pour ce faire, nous devons donc installer certain paquets indispensables à la compilation d'un noyau.
Voici les commandes qui nous pemettent de les installer :
1. On met à jour la liste des paquets disponibles :
apt-get update
2. On install les paquets dont on a besoin pour re-compiler notre noyau :
apt-get install debconf-utils dpkg-dev debhelper build-essential kernel-package libncurses5-dev \
make bin86 bzip2
Ps : Certain de ces paquets ne nous sont pas utiles mais il est bon de les installer pour pouvoir effectuer une compilation plus poussée.
II. Récupération du noyau
Pour pouvoir re-compiler notre noyau Dedibox, nous avons besoin de récupérer les sources. Pour ce faire, il nous suffit de les télécharger via le serveur Ftp qui a été spécialement mis à la disposition des utilisateurs de Dedibox.
1. On se place dans le répertoire qui doit recevoir les sources de notre noyau :
cd /usr/src
2. On télécharge les sources de notre noyau :
wget --passive ftp://ftp.dedibox.fr/pub/dedibox/kernel/r6/src/dedibox-r6-2.6.18.1.tar.gz
Ps : A l'heure ou nous rédigeons ce tutorial, la version du noyau fourni est installé par défaut par Dedibox est la 2.6.18.1dedibox_r6_final.
Il vous appartient de vérifier qu'un nouveau noyau (commande : uname -r) n'a pas vu le jour depuis la rédaction de notre tutorial. Bien entendu, si c'est le cas, vous devez adapter la typographie des commandes que nous évoquons pour qu'elles soient cohérentes avec le dernier noyau en date qui est proposé par Dedibox.
III. Décompression des sources
Ayant récupéré les sources de notre noyau, nous devons dès à présent les décompresser. Pour ce faire, il nous suffit de taper les commandes suivantes :
1. On se place dans le répertoire contenant l'archive de notre noyau :
cd /usr/src
2. On décompresse l'archive :
tar -xzvf /usr/src/dedibox-r6-2.6.18.1.tar.gz
Une fois cette commande executée, un nouveau répertoire nommé linux-2.6.18.1-normal doit apparaître dans notre répertoire /usr/src. Pour le vérifier, il nous suffit de taper la commande suivante :
ls /usr/src
IV. Configuration & Compilation
A ce stade, nous allons devoir reconfigurer notre noyau. En fait, en ce qui nous concerne, nous allons simplement nous contenter de renommer son nom (objet de notre tutorial) mais bien entendu, nous aurions aussi pu faire bien plus.
A. Un lien symbolique nommé linux :
Nous allons devoir créer un lien symblique nommé linux qui pointera sur le répertoire contenant les sources décompressées de notre noyau.
Ce lien est nécessaire à la compilation du noyau et afin que les fichier d'entêtes (les "includes") du noyau soient disponibles pour des compilations futures d'application.
Pour ce faire, il nous suffit de taper les commandes suivantes dans un terminal :
1. On créer un lien symbolique nommé linux ce dernier pointant sur le répertoire /usr/src/linux-2.6.18.1-normal.
ln -s linux-2.6.18.1-normal linux
Si tout s'est bien passé, un nouveau lien symbolique nommé linux devrait apparaître dans notre répertoire /usr/src/. Pour le vérifier, il nous suffit de taper la commande suivante :
ls /usr/src
B. Correction d'un warning :
Lors de notre première tentative de compilation (noyau pour lequel nous avons rédigé ce tutorial), nous avons obtenu un warning non bloquant pendant la phase de compilation. Bien entendu, ne voulant pas faire les choses à moitiers, nous avons cherché d'ou provenait cette erreur et nous l'avons corrigé.
Ainsi, voici le warning que nous avons obtenu :
arch/i386/kernel/mpparse.c: Dans la fonction « MP_bus_info »:
arch/i386/kernel/mpparse.c:231: attention : comparison is always false due to limited range of data type
Nous avons donc effectué une recherche sur le net concernant cette erreur et nous sommes tombé sur cette discussion http://www.x86-64.org/lists/patches/msg03722.html qui nous a permit de corriger le fichier en cause.
En ce qui vous concerne, pour corriger cette erreur, avant de passer à la phase de compilation, il vous suffit de taper les commandes suivantes :
1. On supprime le fichier mpparse.c qui se trouve dans le répertoire /usr/src/linux/arch/i386/kernel :
rm /usr/src/linux/arch/i386/kernel/mpparse.c
2. On télécharge le fichier corrigé et on le place dans le répertoire /usr/src/linux/arch/i386/kernel :
wget http://download.nuxwin.com/dedibox/kernel/2.6.18.1dedibox_r6_final/patch/mpparse.c -P /usr/src/linux/arch/i386/kernel/
C. Changement du nom :
Ici, nous allons simplement personnaliser le nom de notre noyau et passer à la phase de compilation.
Pour personnaliser le nom de notre noyau, nous allons devoir éditer et modifier le fichier .config qui se trouve dans le répertoire /usr/src/linux-2.6.18.1-normal. Pour ce faire, il nous suffit de taper les commandes suivantes dans un terminal :
1. On se place dans le répertoire /usr/src/linux :
cd /usr/src/linux
2. On édite le fichier /usr/src/linux/.config :
nano /usr/src/linux/.config
3. On trouve la ligne suivante :
CONFIG_LOCALVERSION="dedibox_r6_final"
4. On la remplace par celle-ci :
CONFIG_LOCALVERSION="-france-hosting.fr_build_20061118_alpha"
Ps : Bien entendu, vous devez remplacer -france-hosting.fr_build_20061118_alpha par le nom que vous souhaitez donner à votre nouveau noyau.
D. Compilation du noyau :
Pour compiler notre nouveau noyau, nous allons devoir passer par une phase dite de compilation. C'est bien entendu cette phase qui est tant redoutée par la plupart des utilisateurs mais en définitif, une fois que vous l'aurez faite une fois, vous vous rendrez compte que la compilation d'un noyau n'a rien d'extraordinaire et qu'il suffit de ne pas modifier n'importe quoi pour que celle-ci s'effectue correctement.
Pour lancer la phase de compilation, il nous suffit de taper les commandes suivantes :
1. On se place dans le répertoire /usr/src/linux :
cd /usr/src/linux
2. On fait le ménage :
make clean
3. On reconstruit le programme exécutable :
make
4. On install les modules :
make modules_install
5. On install le noyau :
make install
6. On met grub à jour :
update-grub
Normalement, si tout s'est bien passé, le nom de votre noyau devrait être celui que vous avez défini. Pour le vérifier, il fous suffit de re-démmarer votre Dedibox et de taper la commande suivante :
uname -r
Précisions :
Ce tutorial a été appliqué avec succès sur une Dedibox fonctionnant avec la distribution Debian Sarge 3.1 stable.
Une erreur, une incompréhension concernant ce tutorial ? N'hésitez pas à utiliser la fonction commentaire de notre portail et/ou à nous joindre directement en utilisant notre formulaire contact : Nous contacter
Rédigé par M. Laurent DECLERCQ
v1.0 build 20061119.2041
Bonjour et merci pour ce tuto,
Comme il m'a été bien utile, j'ai décider d'y apporter ma modeste contribution en fournissant un petit script shell qui permettra à ceux qui le souhaiteront de faire tout ce qui est décrit ici en une seule ligne de commande.
Il vous appartient donc de vérifier si une nouvelle version du noyau est disponible et d'adapter ce script en fonction.
La manip très est simple, vous créez un fichier nommé kernel.sh (pour ma part je l'ai mis dans /root), contenant le script suivant, et disposant du droit d'execution :
#!/bin/sh
# Script de personnalisation du kernel dedibox
# Mise à jour des paquets disponibles
apt-get update
# Installation des paquets nécessaires pour la recompilation du noyau
apt-get install debconf-utils dpkg-dev debhelper build-essential kernel-package libncurses5-dev make bin86 bzip2
# Récupération des sources
wget --passive ftp://ftp.dedibox.fr/pub/dedibox/kernel/r6/src/dedibox-r6-2.6.18.1.tar.gz -P /usr/src
# Déplacement dans le dossier des sources
cd /usr/src
# Décompression des sources du noyau
tar -xzvf /usr/src/dedibox-r6-2.6.18.1.tar.gz
# Création d'un lien symbolique vers les sources du noyau
ln -s /usr/src/linux-2.6.18.1-normal /usr/src/linux
# Suppression du fichier mpparse.c erroné
rm /usr/src/linux/arch/i386/kernel/mpparse.c
# Téléchargement de la version corrigée
wget http://download.nuxwin.com/dedibox/kernel/2.6.18.1dedibox_r6_final/patch/mpparse.c -P /usr/src/linux/arch/i386/kernel
# Création d'un copie de sauvegarde du fichier de configuration
mv /usr/src/linux/.config /usr/src/linux/.config~
# Modification du nom dans le kernel
sed 's/dedibox_r6_final/$1/g' /usr/src/linux/.config~ > /usr/src/linux/.config
# Déplacement dans le répertoire des sources du noyau
cd /usr/src/linux
# Nettoyage
make clean
# Reconstruction du programme
make
# Installation des modules
make modules_install
# Mise à jour de grub
update-grub
# Suppression des éléments qui ne sont plus nécessaires
rm -rf /usr/src/*
Ensuite, dans un terminal :
./kernel.sh le_nom_que_vous_voulez
Répondez par Oui(O) au moment de l'installation des paquets nécessaires puis laissez faire la machine et profitez-en, vous avez un bon quart d'heure pour vous détendre...
Voilà, j'espère que ça pourra être utile à quelqu'un !
Rédigé par M. Luc TALARICO
v1.0 build 20070325.1751
Re,
je viens de m'appercevoir que le script a été tronqué dans le message précédent donc le voilà à nouveau (en espérant que cette fois, il passe bien
) :#!/bin/shRédigé par M. Luc TALARICO
# Script de personnalisation du kernel dedibox
# Mise à jour des paquets disponibles
apt-get update
# Installation des paquets nécessaires pour la recompilation du noyau
apt-get install debconf-utils dpkg-dev debhelper build-essential kernel-package libncurses5-dev make bin86 bzip2
# Récupération des sources
wget --passive ftp://ftp.dedibox.fr/pub/dedibox/kernel/r6/src/dedibox-r6-2.6.18.1.tar.gz -P /usr/src
# Déplacement dans le dossier des sources
cd /usr/src
# Décompression des sources du noyau
tar -xzvf /usr/src/dedibox-r6-2.6.18.1.tar.gz
# Création d'un lien symbolique vers les sources du noyau
ln -s /usr/src/linux-2.6.18.1-normal /usr/src/linux
# Suppression du fichier mpparse.c erroné
rm /usr/src/linux/arch/i386/kernel/mpparse.c
# Téléchargement de la version corrigée
wget http://download.nuxwin.com/dedibox/kernel/2.6.18.1dedibox_r6_final/patch/mpparse.c -P /usr/src/linux/arch/i386/kernel
# Création d'un copie de sauvegarde du fichier de configuration
mv /usr/src/linux/.config /usr/src/linux/.config~
# Modification du nom dans le kernel
sed 's/dedibox_r6_final/cyclop.box_r6_final/g' /usr/src/linux/.config~ > /usr/src/linux/.config
# Déplacement dans le répertoire des sources du noyau
cd /usr/src/linux
# Nettoyage
make clean
# Reconstruction du programme
make
# Installation des modules
make modules_install
# Mise à jour de grub
update-grub
# Suppression des éléments qui ne sont plus nécessaires
rm -rf /usr/src/*
v1.0 build 20070325.1814
Bon... Décidément, quand ça veut pas, ça veut pas...
Pourtant dans l'aperçu du message avant enregistrement tout s'affiche correctement, alors je ne comprends pas bien ce qu'il se passe...Toujours est-il que voilà donc le script présenté autrement :
Désolé d'avoir posté 3 message pour une seule info, j'espère que quelqu'un pourra 'nettoyer' tout ça
!
Rédigé par M. Luc TALARICO
v1.0 build 20070325.1828