Chrooter apache
Matériel
Ajout disque dur
Ajout carte
Audit des disques durs
Gestion des peripheriques
Disquette d'installation
Ajout d'un scanner
Astuces
Ajout d'une imprimante
Réseau
Configuration reseau
Dns
Serveur cvs
Proxy squid 
Installation serveur ftp
Installation qmail 
Installation serveur courrier sous debian
Outil TCP/IP 
Le serveur samba
Connexion a distance securisee
Client/serveur vnc
Configurer apache
Dyndns
Installer un LAMP sous mandriva
Sécurité
Chiffrer un fichier/dossier
Securiser son poste
Mur pare feu pas a pas
Authentification ht-access
Surveillance de serveur CACTI
Snort
Snort-inline
Securiser Apache avec mod_security
Filtrage squid/squidguard/dansguardian
Auditer son site web
Sécuriser son linux
Installer un Lamp avec ssl
Contrer les scans de ports
Traitement anti-spam
Installer/Utiliser tripwire
Faire des sauvegardes incrémentales
Rsync
Nessus
Divers
Elisa, le multimédia facile
Utilisation de lilo
Les commandes Linux
Le multi-tache
Le crontab
Exploration de la configuration
Quotas
Messagerie
Installer une application
Debugger ses applications
Le format RPM
Mise a jour du noyau
Qemu
Tour d'horizon des principaux p2p
Récupération du système
Bips d'un pc
Astuces windows
Table Ascii
Lamerland
Conversion de fichiers musicaux
Compiler ses rpms
Graver en ligne de commande
Graver un fichier avi pour un dvd de salon
Récupérer des fichiers effacés
Liens
hakin9
Secureroot.com
Hackerthreads.org
Defcon
Hackerlounge
Les derniers exploits
Tous les codes sources
Securite sous Linux
Les logiciels libres quotidiens
Ezine divers
Madchat
Textes divers
Archives
 
Traductions LG
Toutes les traductions
Traductions Phrack
Toutes les traductions

Il y a actuellement 5 visiteurs connectés sur le site !

Google

Mettre a jour son noyau
Mettre a jour son noyau

 

Presentation
Etape1
Installation
configuration
Construction du noyau
Configuration du loader
Essais successifs
Si ca foire

 

Presentation

Dans cette page je vous présente les manips que j'ai faites pour installer le noyau 2.5.7 sur ma Mandrake 8.1 avec noyau 2.4.8-26mdk. Ce n'est ni le dernier noyau disponible, ni la dernière version de la Mandrake, mais cette page a pour objet de vous présenter une "recette" pour mettre à jour son noyau qui marche pour toutes les configs matérielles et logicielles.
Vous constaterez que la compil d'un noyau n'est pas insurmontable, il faut savoir qu'il y a toujours moyen de revenir au noyau précédent, donc pas de panique.
Toutes les manips décrites sont à faire en tant que root.

Etape1

La première étape est de créer une disquette de boot au cas où, je vous recommande la commande drakfloppy pour créer la disquette, elle vous sera utile si l'installation du nouveau noyau foire.
Dans un deuxième temps, on va éviter de booter en mode graphique (avec le lancement du login graphique kdm ou de gdm), pour cela dans le fichier /etc/inittab on mettra:
id:3:initdefault:
Avec le 3 au lieu du 5.

Installation

On va chercher le noyau sur un des miroirs qu'on trouvera sur www.kernel.org, pour ma part j'avais pas envie de récupérer une trentaine de Mo avec ma modeste ligne RTC. Je me suis rabattu sur archive tarball linux-2.5.7.tar.gz qui fait dans les 33Mo plus ancienne trouvée dans un magazine. On la placera sous /usr/src. A présent plaçons nous sous /usr/src
cd /usr/src
On décompresse l'archive
tar xvfz linux-2.5.7.tar.gz
Ca donne un répertoire linux-2.5.7 Maintenant veillez à installer les packages tcl et tk puis expect

Configuration

On rentre dans le répertoire /usr/src/linux-2.5.7, on lance l'utilitaire de configuration du noyau:
make xconfig
La fenêtre suivante apparaît:

Vous pouvez voir qu'on peut sauver la configuration dans un fichier (Store Configuration to File) ou charger la config d'un fichier (Load Configuration from file). C'est cette dernière option qui nous intéresse car il existe sur la Mandrake un fichier config de votre configuration courante, il vaut mieux partir de cette bonne base. Concrètement il faudra charger le fichier /boot/config après vous pouvez toujours modifier quelques paramètres. La configuration est divisée par thèmes, pour chaque thème on a un tas de paramètres à fixer, exemple avec le thème Processor type and features:


Vous avez la possibilité d'inclure le support de telle ou telle chose dans le noyau ou en module, l'intérêt du module est qu'il est chargé en mémoire uniquement quand c'est nécessaire, du coup le noyau se retrouve plus petit, ce qui est mieux, dans la mesure du possible on choisira l'option module. Ne pas hésiter à cliquer sur Help pour chaque paramètre et de suivre les conseils.
Je vous conseille fortement de sauvegarder votre config dans un fichier, c'est utile pour des essais successifs, une fois terminée vous devez au niveau de la fenêtre principale cliquez sur Save and Exit.
Sur ma Mandrake 8.1, j'ai eu une suite d'erreur pour des variables dans le fichier config courant non reconnues, elles seront tout bonnement ignorées.

Construction du noyau

On tapera maintenant :
make dep
Puis
make bzImage
Voilà le résultat:

tools/build -b bbootsect bsetup compressed/bvmlinux.out CURRENT > bzImage Root device is (3, 5)
Boot sector 512 bytes.
Setup is 4780 bytes.
System is 796 kB
make[1]: Quitte le répertoire `/usr/src/linux/arch/i386/boot'
Mon noyau fait donc 796 Ko
On construit maintenant les modules:
make modules
On installe le tout
make modules_install
Cela va créer un répertoire /lib/modules/2.5.7 qui ne va absolument pas écraser les modules du noyau précédent qui sont sous /lib/modules/2.4.8-26mdk/
Maintenant on va sous /usr/src/linux-2.5.7/arch/i386/boot et on copie le noyau sous /boot
cp bzImage /boot/vmlinuz-2.5.7
On va maintenant dans /usr/src/linux-2.5.7 et on tape :
cp System.map /boot/System.map-2.5.7
On tape maintenant sous /boot
mkinitrd /boot/initrd-2.5.7 2.5.7
NOTE Lors d'une mise à jour précédente, j'ai obtenu le message suivant:
No module 53c7,8xx found for kernel 2.4.2
J'ai donc tapé
cp /usr/src/linux-2.4.2/drivers/scsi/53c7,8xx.o /lib/modules/2.4.2/kernel/drivers/scsi/ et relancé la commande mkinitrd
Voilà l'arborescence de /boot

-rw-r--r-- 1 root root 512 jui 13 20:12 boot.0300
lrwxrwxrwx 1 root root 11 jui 13 20:12 boot.b -> lilo/boot.b
-rw-r--r-- 1 root root 624 aoû 5 2001 chain.b
lrwxrwxrwx 1 root root 18 jui 15 06:51 config -> config-2.4.8-26mdk
-rw-r--r-- 1 root root 37483 sep 23 2001 config-2.4.8-26mdk
-rw-r--r-- 1 root root 256 jui 13 20:12 fr-latin1.klt
drwxr-xr-x 2 root root 1024 jui 13 20:12 grub/
-rw-r--r-- 1 root root 170957 jui 13 20:12 initrd-2.4.8-26mdk.img
-rw-r--r-- 1 root root 454880 juil 15 09:50 initrd-2.5.7
lrwxrwxrwx 1 root root 22 jui 13 20:12 initrd.img -> initrd-2.4.8-26mdk.img
lrwxrwxrwx 1 root root 14 jui 13 19:56 kernel.h -> kernel.h-2.4.8
-rw-r--r-- 1 root root 441 jui 15 06:51 kernel.h-2.4.8
lrwxrwxrwx 1 root root 12 jui 13 20:12 lilo -> lilo-graphic/
drwxr-xr-x 2 root root 1024 jui 13 19:53 lilo-graphic/
drwxr-xr-x 2 root root 1024 jui 13 20:12 lilo-menu/
drwxr-xr-x 2 root root 1024 jui 13 20:12 lilo-text/
-rw------- 1 root root 50688 jui 13 20:12 map
lrwxrwxrwx 1 root root 12 jui 13 20:12 message -> lilo/message
-rw-r--r-- 1 root root 652 aoû 5 2001 os2_d.b
lrwxrwxrwx 1 root root 22 jui 13 20:14 System.map -> System.map-2.4.8-26mdk
-rw-r--r-- 1 root root 435683 sep 23 2001 System.map-2.4.8-26mdk
-rw-r--r-- 1 root root 442747 mar 18 09:45 System.map-2.5.7
lrwxrwxrwx 1 root root 19 jui 13 20:12 vmlinuz -> vmlinuz-2.4.8-26mdk
-rw-r--r-- 1 root root 1047752 sep 23 2001 vmlinuz-2.4.8-26mdk
-rw-r--r-- 1 root root 860412 juil 15 09:45 vmlinuz-2.5.7

Configuration du loader

On lance drakboot puis on clique sur configuration de LILO/GRUB

Choisissez le loader (lilo ou grub), puis cliquez sur Avancé

Saisissez les informations concernant votre nouveau noyau. Au niveau de image, doit apparaître les fichiers vmlinuz disponibles sous /boot


Maintenant on peut configurer le menu de lilo, votre ancien noyau doit rester celui par défaut.

On clique sur Terminer. Voilà c'est terminé, au reboot vous devriez avoir le choix de booter avec le nouveau noyau.
Vous pouvez maintenant lancer kdm ou gdm, pour cela taper (toujours en tant que root) :
init 5
Si vous retrouvez le login graphique, vous pouvez modifier /etc/inittab pour remettre le 5 à la place du 3. Si le lancement échoue, vous pouvez toujours lancer kde, pour cela, votre utilisateur doit avoir dans sa home directory un fichier .xinitrc contenant :
PATH="$PATH:/usr/X11R6/bin"
exec startkde
Pour lancer kde il suffit de taper
startx

Essais successifs

Il se peut qu'un tas de services ne marchent plus (carte son, réseau, ...), plusieurs essais de config sont nécessaires pour que vous arriviez à refaire tout marcher correctement, voilà les manips pour refaire un essai
cd /usr/src/linux-2.5.7/
make xconfig
Charger votre fichier de config préalablement sauvé
make clean
make dep
make bzImage
make modules
rm -Rf /lib/modules/2.5.7
make modules_install
cd /usr/src/linux-2.5.7/arch/i386/boot
cp bzImage /boot/vmlinuz-2.5.7
cd /usr/src/linux-2.5.7
cp System.map /boot/System.map-2.5.7
Et on reboote.

Si ca foire

En toute théorie vous devriez pouvoir rebooter avec votre ancien noyau, toutefois au cas où, vous devez rebooter avec la disquette contenant l'ancien noyau. Vous devez ensuite :
supprimer /boot/System.map et recréer le lien de System.map vers System.map-2.4.8-26mdk
ln -s System.map-2.4.8-26mdk System.map
N'oublier pas de remettre le 5 dans le fichier /etc/inittab.

Sources de l'article


 

Blog
Le blog
La radio
La Radio
Boutique
La boutique du Geek
Php/Mysql
Formulaire en php
Administrer un serveur Mysql
Session en php
Gerer ses bases mysql
Les bases php
Securiser ses scripts PHP
Controler ses programmes avec RATS
Convertir une base sql en utf8
Astuces php
Le fichier php.ini
Programmation
Python rapide
Tutorial Python
Tutorial Perl
Tutorial Perl complet
Tutoriel ruby
Tutoriel C
Introduction à gawk
Filtres et utilitaires
Find
Programmation Shell
Ecriture de scripts bash
Expressions regulieres
Vi
Introduction a Javascript
Compiler avec gcc
Astuces en Bash
Cracking
Tutoriel Assembleur
Guide du cracking pour débutant
Assembleur
Manual Unpacking
Techniques de Protection
Différentes failles Web
Arp spoofing dans un réseau switché
Les intrusions
Les attaques externes
Defacage
Defacage complet
Buffer overflow
Netcat
Injection sql
Injection sql(suite)
John the Ripper
Spoofer un email
Utiliser google
La faille system
Usurper une identité
Le rooting
Shellcode sous Unix
La faille race condition
La faille xss
La faille xss (2)
Attaques sur un routeur
P2P
Azureus pas-a-pas
News
Lire les news de Linux-pour-lesnuls.com au format RSS
Distros
Gestion des paquets debian
101 commandes debian
Jeu
Webtarot
Graphisme
Effet neon dans GIMP
Effet vapeur dans GIMP
Cours fonctionnalités de GIMP
Redimentionner une image avec GIMP
Redimentionner une photo pour en faire un cadre avec gimp
Morphing avec gimp
Détourer avec gimp
Réduire le poids d'une image avec gimp
Caricature avec gimp
Humour
Ensemble
Divers