Rebuild a kernel from centos src.rpm
2 participants
Page 1 sur 1
Rebuild a kernel from centos src.rpm
Well,
J'avais déjà fait un howto pour recompiler des modules (reiserfs) et les intégrer dans un noyau existant, mais c'était pas propre, ça me plaisait pas trop.
En effet, il faut éviter d'introduire des composants extérieurs à un nouyau stable. Meme si ça devrait fonctionner, vous risquez trop gros en faisant ça.
La solution propre est en fait de recompiler entièrement le même noyau, en le personnalisant.
--> il sera installé en parallèle au précédent, et comme tout aura été compilé en une fois et avec les même paramètres, vous minimisez les risques de plantage lors de l'inclusion de vos "nouveaux modules".
Je vous avoue que la solution ici présentée est tirée en partie du bouquin d'Olivier au Chapter 8. Je remarque avec plaisir que la solution est fort proche de celle que j'avais proposée dans le passé... je n'étais pas donc si loin que ça de la vérité!
Tout ça a été testé ici et le nouveau noyau fonctionne bien avec ses nouveaux modules (jfs, xfs et reiserfs)
Attention, l'ensemble de l'opération prendra jusqu'à 2 GB de place pendant la fabrication du rpm. Le rpm final ne fera plus lui que 150 MB.
-ddm
J'avais déjà fait un howto pour recompiler des modules (reiserfs) et les intégrer dans un noyau existant, mais c'était pas propre, ça me plaisait pas trop.
En effet, il faut éviter d'introduire des composants extérieurs à un nouyau stable. Meme si ça devrait fonctionner, vous risquez trop gros en faisant ça.
La solution propre est en fait de recompiler entièrement le même noyau, en le personnalisant.
--> il sera installé en parallèle au précédent, et comme tout aura été compilé en une fois et avec les même paramètres, vous minimisez les risques de plantage lors de l'inclusion de vos "nouveaux modules".
Je vous avoue que la solution ici présentée est tirée en partie du bouquin d'Olivier au Chapter 8. Je remarque avec plaisir que la solution est fort proche de celle que j'avais proposée dans le passé... je n'étais pas donc si loin que ça de la vérité!
- Code:
- yum install gcc rpm-build ncurses-devel redhat-rpm-config
- download current kernel srcs:
- wget http://mirror.centos.org/centos/5/updates/SRPMS/kernel-2.6.18-53.1.4.el5.src.rpm
- rpm -ivh kernel-2.6.18-53.1.4.el5.src.rpm
- cd /usr/src/redhat/SPECS
- rpmbuild -bp --target=`uname -m` kernel-2.6.spec
- ln -s /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686 /usr/src/linux
- cd /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686
- vim Makefile ... replace to EXTRAVERSION = -ddmcustom1 (whatever you want)
- make mrproper
- cp /boot/config-2.6.18-8.el5 .config
- make oldconfig --> confirm default choices unless you really know what you do...
- make menuconfig --> select and modify kernel modules to compile
- make rpm --> have a cup of tea, a pizza, a TV show and a girlfriend...
- cd /usr/src/redhat/RPMS
- Install the fresh and new kernel: rpm -ivh kernel-2.6.18-ddmcustom1.rpm
- cd /boot
- make initrd: mkinitrd /boot/initrd-2.6.18-ddmcustom1.img 2.6.18-ddmcustom1
- Verify that initrd has been created in /boot
- edit your /boot/grub/grub.conf, add a boot option by copying and modifying old one
- do not change default until you're sure the new kernel boots correctly.
- reboot and select your brand new kernel
- cross your fingers
Tout ça a été testé ici et le nouveau noyau fonctionne bien avec ses nouveaux modules (jfs, xfs et reiserfs)
Attention, l'ensemble de l'opération prendra jusqu'à 2 GB de place pendant la fabrication du rpm. Le rpm final ne fera plus lui que 150 MB.
-ddm
ddm- Messages : 55
Date d'inscription : 06/11/2007
jharah- Messages : 20
Date d'inscription : 05/11/2007
Age : 39
Localisation : Tubize
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|