Bonjour,
J'ai des sources pour le driver de carte Raid Adaptec. J'ai lu les conseils pour les compiler afin de faire un module (.ko) mais il y a quelque chose qui doit m'échapper car cela ne marche pas.
J'ai essayé sous Gentoo, mais si quelqu'un c'est faire la manipulation sous un autre système d'exploitation (sauf windows rhel, et suse) cela ne pose pas de problème.
Voici la notice :
The kernel has to be configured
-------------------------------
Make sure that your kernel is configured. If you do not
have .config file in your kernel root, then your kernel is
not configured. If you have that file but you're unsure if
your kernel is configured, then run "make oldconfig".
You need a configuration file in order to configure the
kernel. You get one by manually configuring the kernel
("make menuconfig") or by copying a provided one from your
vendor/distributor or by getting the one currently used by
your running kenrel.
The latter two choices work as follows: copy the config file
of your desire from configs/ directory to . and rename it
".config". Then run "make oldconfig". Or you can copy
/proc/config.gz (if present, not all kernels support this)
to . and then unzip it using gunzip(1) and then rename it to
".config". Then run "make oldconfig".
-----------------------
C'est pour la configuration du noyau, j'ai fais la commande : emerge gentoo-source pour télécharger les sources du noyau. Puis j'ai copier le .config dans le répertoire ou j'avais mes sources (drv_linux).
Déjà il y a une chose que je ne comprend pas bien c'est si je dois dans mon cas configurer le noyau ? Je pense que non, et le make menuconfig me servirais à rien puisque le module n'est pas par défaut dans le noyau.
Puis pour les noyaux 2.6 :
cd <driver source directory>
mv Makefile Makefile.2_4
mv Makefile.2_6 Makefile
make -C /usr/src/linux M=`pwd`
The driver will be "adp94xx.ko".
To insert it into the kernel, do:
insmod adp94xx.ko
J'ai fait les commandes mv (je n'ai pas bien compris l'utilité) puis j'ai essayé de faire la commande make et là :
No rule to make target 'usr/src/....' Stop
Je me suis documenté, cette commande make devrait me compiler un fichier ko en prenant en compte toutes les dépendances que les fichiers ont besoins (juste ?)
Je me suis alors dis qu'il fallait peut être compilé les sources .c avant, j'ai alors essayé cette commande :
gcc -DMODULE -D__KERNEL__ -O6 -c adp94xx_sata.c
Mais là le compilateur me renvoi un grand nombre d'erreur.
Je suis allé voir du côté du source c
Et je pense que d'apres les appels des fichiers je dois mettre mon source à un endroit spécifique, mais j'ai regardé si je possédé bien tout les fichiers c et il s'avere que non .
Si quelqu'un pouvait m'éclairer , car là je suis complétement perdu
Merci
# i2o ?
Posté par nicodache . Évalué à 2.
as-tu été voir dans la section i2o des modules pour activer le i2o ?
sinon, t'as la partie sata ou scsi/low level driver des modules de périf, tu as p'tet un truc intégré de base pour ta carte scsi, Adaptec étant nettement plus enclin à fournir des sources au kernel linux que l'est par exemple nvidia concernant ses pupuces graphiques :)
[^] # Re: i2o ?
Posté par mcoavoux . Évalué à 1.
Tu as pu envoyer des emails à adaptec car tu as payé une adhésion ou c'était gratuit ??
Mathieu
[^] # Re: i2o ?
Posté par nicodache . Évalué à 2.
il s'appelle Marc Salyzyn, et son mail c'est simplement mark_salyzyn@ adaptec POINT com
foila :)
[^] # Re: i2o ?
Posté par mcoavoux . Évalué à 1.
Mathieu
# re i2o
Posté par mcoavoux . Évalué à 1.
J'ai essayé comme module inclus le aacraid et l'aic94xx
le premier est un driver pour une autre carte, et l'autre est le firmware pour ma carte.
Tu as pu envoyé un email à adaptec car tu as payé l'adhésion ou c'était gratuit.
Mathieu
# .
Posté par Pol' uX (site web personnel) . Évalué à 2.
Tu devrait avoir un lien /usr/src/linux -> linux-2.6.20-gentoo-r4 à la version près.
2) Si tu es sous gentoo, je m'étonne que tu n'ai pas un noyau configuré. Amha, à la compilation de ton driver, il y a surement un bout de code qui va aller vérifier si /usr/src/linux/.config (i.e. la config du noyau courant) contient les bonnes options.
3) La magouille avec les makefiles, c'est que le makefile par défaut doit être pour les noyaux 2.4 et comme tu utilise un 2.6, ça n'utilise pas les mêmes fichiers makefile.
Maintenant, j'aimerai bien voir d'un peu plus près ton message d'erreur à la compile.
Bonne chance.
Adhérer à l'April, ça vous tente ?
[^] # Re: .
Posté par mcoavoux . Évalué à 1.
Pour ce qui est du 1) ma version actuellement installé est la 2.6.17-gentoo-r7 et la version des sources obtenues est : 2.6.19-gentoo-r5.
Pour le 2) le .config justement je le copie depuis /usr/src/linux-2.6.19-gentoo-r5/.config vers /root/drv_linux (répertoire ou il ya les sources?) et je lance un ./config ?
Pour la 3) Pour les version 2.6 il préconise dans la docs ce que j'ai mis plus haut, mais la manipulation ne marche pas.
Mon message d'erreur quand j'essaye de faire la commande :
make -C /usr/src/linux M=`pwd` depuis le répertoire /usr/src/linux/drivers/scsi/adp94xx
-----------------
make : Entering directory '/usr/src/linux-2.6.19-gentoo-r5'
scripts /Makefile.build:17: /usr/src/linux-2.6.19-gentoo-r5/pwd/Makefile: No such file or directory
make[1] : *** No rule to make target '/usr/src/linux-2.6.19-gentoo-r5/pwd/Makefile'. Stop.
make: *** [_module_pwd] Error 2
make: Leaving directory '/usr/src/linux-2.6.19-gentoo-r5'
-----------------
Merci pour la réponse
Mathieu
# et sinon, quand même
Posté par nicodache . Évalué à 2.
parce que bon...
< > Adaptec AIC94xx SAS/SATA support
et aussi
CONFIG_SCSI_AIC94XX:
This driver supports Adaptec's SAS/SATA 3Gb/s 64 bit PCI-X
AIC94xx chip based host adapters.
Symbol: SCSI_AIC94XX [=n]
Prompt: Adaptec AIC94xx SAS/SATA support
___Defined at drivers/scsi/aic94xx/Kconfig:27
___Depends on: SCSI!=n && PCI
___Location:
______-> Device Drivers
_________-> SCSI device support
____________-> SCSI low-level drivers
___Selects: SCSI_SAS_LIBSAS && FW_LOADER
(bon, les balises proposées ici sont vraiment pas suffisantes :'()
[^] # Re: et sinon, quand même
Posté par mcoavoux . Évalué à 1.
Si c'est une adaptec aic 9405w, mais j'ai du mal à comprendre à quoi correspond le code que tu as mis?
Merci pour la réponse
Désolé d'être un noob
Mathieu
[^] # Re: et sinon, quand même
Posté par Pol' uX (site web personnel) . Évalué à 2.
Ton noyau actuel est le 2.6.17. Laisse tomber le nouveau boyau, sauf si tu as envie de changer ;-).
Vérifie par un ls -l /usr/src/ que tu as bien un lien /usr/src/linux -> /usr/src/linux-2.6.17-gentoo-r7, c'est important.
Ensuite, il faut activer ton module à la compilation :
cd /usr/src/linux
make menu config
Parcours le menu :
-> Device Drivers
---> SCSI device support
-----> SCSI low-level drivers
Et active (avec y ou m, selon que tu veuille un module ou un driver en dur dans le noyau) le champ Adaptec AIC94xx SAS/SATA support
Ensuite, quitte tout ça en sauvegardant, maintenant il faut compiler ...
Si tu as fait des modules :
make modules && make modules_install
Si tu as fait un noyau dur :
make && cp arch/i386/boot/bzImage /boot/nomDuNoyauDejaPresent (PS : une sauvegarde de l'ancien noyau n'est certainement pas superflu ...)
Si tu as fait un mix des deux (options en dur plus en module), tape les deux ligne ;-)
Ensuite, si tu as fait des modules, charge les : modprobe aic94xx (a voir, je n'ai pas les sources du noyau sous la main)
Si tu as fait des options en dur, reboote sur le bon noyau.
Ceci pourra te soutenir dans ta quête ... : http://www.gentoo.org/doc/fr/handbook/handbook-x86.xml?part=(...)
Adhérer à l'April, ça vous tente ?
[^] # Re: et sinon, quand même
Posté par nicodache . Évalué à 2.
make menuconfig (en un mot)
le kernel utilisé pour vérifier si ya un driver intégré est le 2.6.21-r2 (~x86), p'tet qu'il est pas encore dans le kernel gentoo de la version x86 stable
[^] # Re: et sinon, quand même
Posté par mcoavoux . Évalué à 1.
Mathieu
[^] # Re: et sinon, quand même
Posté par mcoavoux . Évalué à 1.
Mathieu
[^] # Re: et sinon, quand même
Posté par Pol' uX (site web personnel) . Évalué à 2.
En revanche, il est tout à fait possible de créer un live CD/USB depuis une gentoo, mais ça demande quand même des compétences. Commence par bien maîtriser gentoo (ou tout autre GNU/linux ...) sur une config standard.
Autrement, ... http://fr.gentoo-wiki.com/HOWTO_Cr%C3%A9er_un_LiveCD_ou_une_(...)
PS : merci nicodache pour la coquille ... j'ai mal relu. En même temps, je n'utilise pas gentoo au travail, et je n'ai pas les sources du noyau sur moi ...
PPS : Pour les gens qui souhaitent découvrir gentoo, il y a le 2 juin une journée spéciale organisée entre Parinux et GentooMuch ... voir http://linuxfr.org/2007/05/29/22554.html
Adhérer à l'April, ça vous tente ?
[^] # Re: et sinon, quand même
Posté par mcoavoux . Évalué à 1.
Merci pour tout, je vous tiens informé sur mon avancement
[^] # Re: et sinon, quand même
Posté par mcoavoux . Évalué à 1.
De plus sur une version qui marchait je ne suis pas arrivé à faire chargé les modules nécessaires au démarrage, et je ne peux les ajouter en modprobe.
Bref beaucoup de problèmes et le délais est assez court, j'essaye de faire tourné ma plateforme LAMP avec la Redhat, et ce n'est pas gagné ...
Merci des réponses en tout cas.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.