Différences entre les versions de « Kernel header & modules »

De BlaxWiki
Aller à la navigationAller à la recherche
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 1 : Ligne 1 :
Ceci explique comment récuperer les header d'un kernel Centos, lorsqu'on en a besoin pour compiler quelque chose
1. Ceci explique comment récuperer les header d'un kernel Centos, lorsqu'on en a besoin pour compiler quelque chose
<pre>
<pre>
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).
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).
Ligne 18 : Ligne 18 :
Cela va générer un binaire mpt-status qu il faudra copier dans /usr/bin
Cela va générer un binaire mpt-status qu il faudra copier dans /usr/bin
</pre>
</pre>
2. Compilation de modules complémentaires
<pre>
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
</pre>


[[Catégorie:Centos]]
[[Catégorie:Centos]]

Version actuelle datée du 15 mars 2011 à 17:39

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