Kernel header & modules

De BlaxWiki
Révision datée du 15 mars 2011 à 17:39 par Admin (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche

1. Ceci explique comment récuperer les header d'un kernel Centos, lorsqu'on en a besoin pour compiler quelque chose

Pour la carte raid LSI SAS1068E Fusion-MPT SAS 6ir, elle ne fonctionne pas avec megacli. Il faut donc compiler mpt-status (qui est utilisé par la sonde vision raid MPT_SAS_RAID).
On peut faire l'installation manuellement ou récuperer le binaire sur un des 2 autres serveurs (sql-mysqld1.mmhk.ubi.com & sql-mgt1.mmhk.ubi.com)
Récupérer les sources de mpt-status : wget http://www.drugphish.ch/~ratz/mpt-status/mpt-status-1.2.0.tar.gz
Récupérer les sources du kernel présent sur le serveur : wget http://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/kernel-2.6.xxxx.src.rpm
(nécessaire à la compilation de mpt-status).
Puis :
rpm -ivh kernel-2.6.xxxx.src.rpm
rpmbuild -bp --target=$(uname -m) /usr/src/redhat/SPECS/kernel-2.6.spec
Il faudra peut être installer des dependances manquantes pour le rpmbuid via yum.
On peut alors détarer les sources de mpt-status. Il faut éditer le fichiert mpt-status.h :
Changer la ligne #include linux/compiler.h
   en
   #include </usr/src/redhat/BUILD/kernel-2.6.xxxx/linux-2.6.xxxx/include/linux/compiler.h>
et faire le make (il faudra peut etre aussi changer la ligne
KERNEL_PATH dans le Makefile)
Cela va générer un binaire mpt-status qu il faudra copier dans /usr/bin

2. Compilation de modules complémentaires

Pour compiler des modules supplémentaire, il faut installer les kernel-devel. Sur Centos, ils vont etre mis dans /usr/src/kernels/versiodukernel;
faire un lien symbolique : ln -s /usr/src/kernels /usr/src/linux

Puis vérifier que l'on a bien
[root@wimo01 kernels]# ll /lib/modules/2.6.18-194.11.1.el5/
total 1344
lrwxrwxrwx 1 root root     51 Aug 31 10:00 build ->
../../../usr/src/kernels/2.6.18-194.11.1.el5-x86_64