Activer l'UDMA Disque dur

quote="Krisprols58"
Et selon MattOTop il faudra carément tout refaire ? (wifi, dri, alsa) ?(…)[/quote]Mais non, l’etape 17 de make-kpkg telle que tu la donnes les compile automatiquement. Simplement, aprés, il faut les installer un à uns comme tu installes ton image.
Mais bon, ce n’est pas incompatible avec ce que dit fran. Fais ce que recommande fran.

C’était à prévoir …
Rien ne fonctionne jamais du premier coup sous linux.
J’ai beau suivre à la lettre le tuto il y a TOUJOURS des problèmes.

Lors de la compilation :

make[1]: Entering directory `/usr/src/kernel-headers-2.6.8-3-686' make[2]: *** Pas de règle pour fabriquer la cible « init/main.o », nécessaire pour « init/built-in.o ». Arrêt. make[1]: *** [init] Erreur 2 make[1]: Leaving directory `/usr/src/kernel-headers-2.6.8-3-686' make: *** [stamp-build] Erreur 2

Qu’est ce qui se passe encore ?

Tu es dans le répertoires des headers, pas des sources linux. Si ma mémoire est bonne il te faut les déplier à la main…

Merci mais je comprend rien à ce que tu dis.
J’ai suivi au mot près le tuto. Qu’est ce que ce machin va faire dans les headers ??

Ca veut dire quoi les déplier à la main ???

Non, mais comme tu n’est pas trés précis, fran pense que tu es dans /usr/src/kernel-headers-2.6.8-3-686 ce qui ne serait pas normal mais est peut etre le cas.
Donc resumons:
1/recuperation et install du necessaire: FAIT
2/déploiement des sources avec tar xjf (c’est ce que fran appelle “deplier”): FAIT
3/creation (avec ln) du lien symbolique /usr/src/linux pointant vers /usr/src/[linux|kernel]-source-… : il faudrait verifier que ca c’est bien passé, (avec ls -l), car je crois qu’à ce moment la, comme tu avais déjà un lien linux -> kernel-headers-2.6.8-3-686, il ne t’a pas créé le lien que tu voulais.
Donc, tu va dans /usr/src, tu verifies ça avec ls -l, si linux ne pointe pas là ou il faut, tu ‘rm linux’, puis tu reprends le tuto à l’étape 11

Linux ne prend pas ses utilisateurs pour des bras cassés, c’est certain. Si c’est un problême, alors c’est que linux n’est pas pour toi, c’est tout, mais ne râles pas.
Par ailleurs, un tuto n’est pas une recette. C’est plutot un plan qu’il faut interprèter une fois sur le terrain. C’est d’ailleurs la même chose avec une recette de cuisine. Si tu ne fais que suivre la recette, tu ne fais jamais que de la daube. Il faut savoir improviser.

:slightly_smiling: C’est vrai qu’à froid ça fait bizarre…

Déplier une archive = «désarchiver, unzipper, untarrer, unrarrer». J’aime bien cette expression.

Lorsque tu installes le paquet source, il se contente de mettre une archive tar.gz ou tar.bz2 dans /usr/src. A ta charge de la déplier pour avoir l’arborescence linux.

Je dis “déployer”, plutôt que “déplier”. Mais les deux termes sont apparentés, et je ne vois pas ce qui peut les différencier dans le contexte.
“Déployer” me semble ajouter une connotation technique qui évite la confusion pour un nouveau venu :wink:

C’est bon le kernel est compilé !!
Je suis trop bête defois.
Le problème venait de mon lien symbolique qui pointait sur les kernel-headers.

Je l’ai refait et c’est bon le kernel est compilé je l’ai installé.
Je reboot et on verra.

Là je comprend plus rien.
Ca marche toujours pas !!

Il y aurait pas autre chose que le atiixp à compiler en dur ?

J’ai vu sur internet des gens qui avaient des [permanent] dans le lsmod.
Comment ils font pout les afficher ? Moi je n’en ai aucun !

Peux tu me donner le résultat de lspci -n?

… ainsi que de

grep PCI_VENDOR_ID_ATI /usr/src/[tonlinux]/drivers/ide/pci/atiixp.c

Voici lspci -n :

0000:00:00.0 0600: 1002:5950 (rev 01) 0000:00:02.0 0604: 1002:5a34 0000:00:06.0 0604: 1002:5a38 0000:00:07.0 0604: 1002:5a39 0000:00:13.0 0c03: 1002:4374 0000:00:13.1 0c03: 1002:4375 0000:00:13.2 0c03: 1002:4373 0000:00:14.0 0c05: 1002:4372 (rev 11) 0000:00:14.1 0101: 1002:4376 0000:00:14.3 0601: 1002:4377 0000:00:14.4 0604: 1002:4371 0000:00:14.5 0401: 1002:4370 (rev 02) 0000:00:14.6 0703: 1002:4378 (rev 02) 0000:01:00.0 0300: 1002:5653 0000:06:05.0 0280: 14e4:4318 (rev 02) 0000:06:06.0 0607: 104c:8031 0000:06:06.2 0c00: 104c:8032 0000:06:06.3 0180: 104c:8033 0000:06:06.4 0805: 104c:8034 0000:06:07.0 0200: 10ec:8169 (rev 10)

Et pour l’autre commande :

{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},

Bien et que donne maintenant

$ grep 437 /usr/src/[tonlinux]/include/linux/pci_ids.h

et

$ grep 4378 /usr/src/[tonlinux]/include/linux/pci_ids.h

La première commande me renvoie du intel. :laughing:

#define PCI_DEVICE_ID_INTEL_82437 0x122d #define PCI_DEVICE_ID_INTEL_82437MX 0x1235 #define PCI_DEVICE_ID_INTEL_82437VX 0x7030

Mais la seconde ne me renvoie rien du tout.

Il faut savoir que je n’ai pas le moindre petit bout d’intel dans ce PC. C’est du ATI + AMD.

Bon, attention <Hack ON+++>
Tu rajoutes à la ligne 490 du fichier …/drivers/ide/pci/atiixp.c la ligne
{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP_AMOI, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
tu obtiens

static struct pci_device_id atiixp_pci_tbl[] = { { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP_AMOI, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { 0, }, };

Tu rajoutes au fichier …/include/linux/pci_ids.h à la ligne 347
#define PCI_DEVICE_ID_ATI_IXP_IDE 0x4378

tu obtiens

#define PCI_DEVICE_ID_ATI_RS300_200	0x5833
/* ATI IXP Chipset */
#define PCI_DEVICE_ID_ATI_IXP_IDE	0x4349
#define PCI_DEVICE_ID_ATI_IXP_IDE	0x4378

#define PCI_VENDOR_ID_VLSI		0x1004
#define PCI_DEVICE_ID_VLSI_82C592	0x0005

Tu recompiles en reprenant le noyau et tu fais l’essai.

je ne sais pas ce que vous essayez de faire là maintenant, mais un bête “update-pciids” n’aurait pas fait la même chose ?

Euh, maintenant il y a un problème lors de la compilation du module atiixp :

CC drivers/ide/pci/atiixp.o Dans le fichier inclus à partir de include/linux/pci.h:438, à partir de drivers/ide/pci/atiixp.c:14: include/linux/pci_ids.h:347:1: attention : « PCI_DEVICE_ID_ATI_IXP_IDE » redéfini include/linux/pci_ids.h:346:1: attention : ceci est la localisation d'une précédente définition drivers/ide/pci/atiixp.c:490: error: `PCI_DEVICE_ID_ATI_IXP_AMOI' undeclared here (not in a function) drivers/ide/pci/atiixp.c:490: error: un élément de l'initialisation n'est pas une constante drivers/ide/pci/atiixp.c:490: error: (near initialization for `atiixp_pci_tbl[1].device') drivers/ide/pci/atiixp.c:490: error: un élément de l'initialisation n'est pas une constante drivers/ide/pci/atiixp.c:490: error: (near initialization for `atiixp_pci_tbl[1]') drivers/ide/pci/atiixp.c:491: error: un élément de l'initialisation n'est pas une constante drivers/ide/pci/atiixp.c:491: error: (near initialization for `atiixp_pci_tbl[2]') make[4]: *** [drivers/ide/pci/atiixp.o] Erreur 1 make[3]: *** [drivers/ide/pci] Erreur 2 make[2]: *** [drivers/ide] Erreur 2 make[1]: *** [drivers] Erreur 2 make[1]: Leaving directory `/usr/src/kernel-source-2.6.8' make: *** [stamp-build] Erreur 2

Il n’a pas aimé les petites modifications.
Dis m’en plus sur le update-pciids. Je connaissais cette commande. Il faut que je copie le /usr/share/misc/pci.ids.new dans le kernel source ??

pci.ids met à jour la liste pour lspci mais pour autant le module atiixp ne le reconnaitra pas plus: D’aprtès ce que je viens de voir, le module atiipx du 2.6.8 ne reconnait pas sa carte (série de grep sur les sources du noyau), il suffit donc de lui donner la signature du chip afin qu’il le reconnaisse et s’exécute (rajout des lignes). Il y a de très grandes chances que ça suffise pour le faire fonctionner. J’ai déjà fait ce genre de manipulation par exemple pour que le module visor du 2.4.28 reconnaisse mon Palm Zire 31, j’ai juste rajouter la signature dans le module.

[attends je regardes les erreurs]

[quote=“Krisprols58”]Euh, maintenant il y a un problème lors de la compilation du module atiixp :

[code] CC drivers/ide/pci/atiixp.o
Dans le fichier inclus à partir de include/linux/pci.h:438,
à partir de drivers/ide/pci/atiixp.c:14:
include/linux/pci_ids.h:347:1: attention : « PCI_DEVICE_ID_ATI_IXP_IDE » redéfini
include/linux/pci_ids.h:346:1: attention : ceci est la localisation d’une précédente définition
drivers/ide/pci/atiixp.c:490: error: `PCI_DEVICE_ID_ATI_IXP_AMOI’ undeclared here (not in a function)
[/quote]

Tu peux me montrer les lignes 433 à 445 de include/linux/pci_ids.h?

Regarde les messages d’erreur :

[quote] CC drivers/ide/pci/atiixp.o
Dans le fichier inclus à partir de include/linux/pci.h:438,
à partir de drivers/ide/pci/atiixp.c:14:
include/linux/pci_ids.h:347:1: attention : « PCI_DEVICE_ID_ATI_IXP_IDE » redéfini
include/linux/pci_ids.h:346:1: attention : ceci est la localisation d’une précédente définition
drivers/ide/pci/atiixp.c:490: error: PCI_DEVICE_ID_ATI_IXP_AMOI' undeclared here (not in a function) drivers/ide/pci/atiixp.c:490: error: un élément de l'initialisation n'est pas une constante drivers/ide/pci/atiixp.c:490: error: (near initialization foratiixp_pci_tbl[1].device’)
drivers/ide/pci/atiixp.c:490: error: un élément de l’initialisation n’est pas une constante
drivers/ide/pci/atiixp.c:490: error: (near initialization for atiixp_pci_tbl[1]') drivers/ide/pci/atiixp.c:491: error: un élément de l'initialisation n'est pas une constante drivers/ide/pci/atiixp.c:491: error: (near initialization foratiixp_pci_tbl[2]’)
make[4]: *** [drivers/ide/pci/atiixp.o] Erreur 1
make[3]: *** [drivers/ide/pci] Erreur 2
make[2]: *** [drivers/ide] Erreur 2
make[1]: *** [drivers] Erreur 2
make[1]: Leaving directory `/usr/src/kernel-source-2.6.8’
make: *** [stamp-build] Erreur 2[/quote]

Il parle d’un pci.h. Peut être faudrait il le modifier lui aussi ?