[Résolu] Mode d'emploi

Bonsoir les Masters of Debian,

Grace à ce forum j’ai réussi (entre autres !) à trouver un driver pour un port ethernet sur ma carte mère (pour enfin aller directement sur internet sans repasser par XP à chaque fois). Un mode d’emploi d’installation est fourni avec, je croyais que désormais le plus dur était fait mais je m’aperçois que j’ai encore un long chemin à parcourir.

1 On me dit d’installer le driver dans
/usr/src/linux-2.6.x/drivers/net/tulip/
En cherchant bien je vois que le chemin pour moi n’est pas celui là mais
/lib/modules/kernel/2.6.8-amd64-k8/drivers/net/tulip (de mémoire) et j’y installe donc uli526x.c mais je remarque que tous les autres fichiers de /tulip se terminent en .ko

2 Je dois ensuite installer Kconfig et Makefile apparemment dans le même fichier mais ce n’est pas très clair (Copy uli526x.c to /usr/src/linux-2.6.x/drivers/net/tulip/, and modify the following file in this directory. (Make a backup of them.) 1.Kconfig.in 2.Makefile)
Au passage, le fichier Kconfig dont je dispose n’a pas d’extension .in

3 Je dois installer tout celà comme un module kernel (Step 1: Change directory to /usr/src/linux-2.6.x. Use the command “make menuconfig” or “make xconfig”, and make sure “ULi M526x controller support” is set as module.) Je change /usr/src… par /lib/modules/kernel/2.6.8-amd64-k8 comme précédemment mais là je bloque parce que je n’ai jamais réussi à avoir ce résultat : ULi M526x n’est jamais signalé comme module.

Je n’ai donc pas pu continuer (j’indique ici pour info :

Example:
Select "Device Drivers"
Select "Networking support"
Select "Ethernet (10 or 100Mbit)"
Select "Tulip family network device support"
Unselect "DECchip Tulip (dc2114x) PCI support"
Select “ULi M526x controller support” as "m"
Step 2:
Select “Loadable module support”, and unselect "Set version information
on all module symbols"
Step 3:
make modules
make modules_install
Step 4:
rmmod tulip
modprobe uli526x
Then, you can bind any protocol into M5263 driver and use it.)

Si je décris tout ça si longuement c’est dans l’espoir qu’en fait ça soit tout simple et qu’un conseil ou deux me permette de me débrouiller seul.

Merci donc pour toute aide,

AK

[quote=“Auguste Kaiser”]Bonsoir les Masters of Debian,

Grace à ce forum j’ai réussi (entre autres !) à trouver un driver pour un port ethernet sur ma carte mère (pour enfin aller directement sur internet sans repasser par XP à chaque fois). Un mode d’emploi d’installation est fourni avec, je croyais que désormais le plus dur était fait mais je m’aperçois que j’ai encore un long chemin à parcourir.

1 On me dit d’installer le driver dans
/usr/src/linux-2.6.x/drivers/net/tulip/
En cherchant bien je vois que le chemin pour moi n’est pas celui là mais
/lib/modules/kernel/2.6.8-amd64-k8/drivers/net/tulip (de mémoire) et j’y installe donc uli526x.c mais je remarque que tous les autres fichiers de /tulip se terminent en .ko
[/quote]
C’est normal. Dans /usr/src/linux se trouvent les sources du kernel. Si tu n’as rien, c’est parce que tu n’as pas installé le paquet source. Je ne connais pas son nom (ça doit être qqch du genre kernel-sources-2.6.X) or tu vas les chercher sur http://www.kernel.org

La première étape consiste donc à te procurer les sources du kernel et suivre ensuite les indications.
Commence avec cela et tiens nous au courant de ta progression.

François

[quote=“fsoumil”][quote=“Auguste Kaiser”]Bonsoir les Masters of Debian,

Grace à ce forum j’ai réussi (entre autres !) à trouver un driver pour un port ethernet sur ma carte mère (pour enfin aller directement sur internet sans repasser par XP à chaque fois). Un mode d’emploi d’installation est fourni avec, je croyais que désormais le plus dur était fait mais je m’aperçois que j’ai encore un long chemin à parcourir.

1 On me dit d’installer le driver dans
/usr/src/linux-2.6.x/drivers/net/tulip/
En cherchant bien je vois que le chemin pour moi n’est pas celui là mais
/lib/modules/kernel/2.6.8-amd64-k8/drivers/net/tulip (de mémoire) et j’y installe donc uli526x.c mais je remarque que tous les autres fichiers de /tulip se terminent en .ko
[/quote]
C’est normal. Dans /usr/src/linux se trouvent les sources du kernel. Si tu n’as rien, c’est parce que tu n’as pas installé le paquet source. Je ne connais pas son nom (ça doit être qqch du genre kernel-sources-2.6.X) or tu vas les chercher sur http://www.kernel.org

La première étape consiste donc à te procurer les sources du kernel et suivre ensuite les indications.
Commence avec cela et tiens nous au courant de ta progression.

François[/quote]

Pour confirmation : je dois aller chercher le paquet source sur le site indiqué (car il n’est pas généralement livré avec les distributions sur DVD) le graver sur CD (je ne peux accéder au net depuis Debian) puis l’installer dans /usr/src et c’est seulement après que je pourrai installer mon driver, c’est bien ça ? (je découvre les joies de Linux !) :smiley:

oui c’est ça.

Si tu veux, tu peux aussi faire un apt-get install linux-source-2.6.15 qui t’installera aussi les sources dans /usr/src

A toi de voir

Si tu es en sarge (stable), le package s’appelle kernel-source-2.6.8

François

non: les sources de kernel.org sont à éviter, car elles ne sont pas préparées pour debian. Il faut les charger avec apt-get.

Donc, pour charger celles qui t’interressent, tu fais plutot un:
apt-get install kernel-source-uname -r
ou si ca ne marche pas:
apt-get install linux-source-uname -r

ça, ca va télécharger un fichier genre /usr/src/kernel-sources-amd64-k8.tar.bz2.
Donc tu te places dans /usr/src pour deployer les sources de ton noyau, et tu les y decompresses:
cd /usr/src
tar xjf kernel…tar.bz2

Ca va déployer l’arborescence de sources de ton noyau dans /usr/src/kernel-sources-amd64-k8 .

La, tu crées un lien symbolique de manière à ce que /usr/src/linux pointe vers cette arbo:
ln -s kernel-sources-amd64-k8 linux

Ensuite, tu initialises ta configuration avec celle de ton noyau courant, pour travailler avec une config qui marche déjà à peu prés:
cp /boot/config-amd64-k8 linux/.config

Aprés, tu fais une première compil en utilisant make-k^pkg, comme il est indiqué dans le manuel:
debian.org/doc/manuals/refer … el.fr.html

une fois que tu aura booté ton premier noyau, là, tu pourra t’occuper de ton module spécial.

Mais ceci étant dit, tu as essayé d’autres noyaux tout préparés, pour nvoir s’il ne reconnaissait pas mieux ta carte ?

[quote=“MattOTop”]non: les sources de kernel.org sont à éviter, car elles ne sont pas préparées pour debian. Il faut les charger avec apt-get.
[/quote]
En quoi ces sources posent problèmes ? C’est toujours celles-là que j’utilisent et je n’ai jamais eu de problème…

J’ai une solution plus simple : passer en kernel 2.6.14 ou supérieur vu que ce module y est intégré de base, et en plus pas besoin de recompiler vu qu’il éxiste déjà tout prés soit en backport pour sarge soit sous sid (et ptet même Etch ?). Flémard, moi?

Bonjour,

Je viens de lire vos réponses et beaucoup d’entre elles, vu mon niveau de connaissances sous Linux, sont du chinois. En plus, c’est très mauvais de me donner le choix car je ne sais plus quoi faire ou à qui me fier. :laughing:

Déjà j’aimerais comprendre pourquoi il faut installer des sources qui ne sont donc pas fournies avec l’installation de base, alors que Debian marche aussi sans les sources (je peux accéder à mes programmes et utiliser Debian alors même que /usr/src/ est vide). En attendant, je vais chercher si je trouve la réponse sur le net.

Ensuite, je dois rappeler que je ne peux accéder au net sous Debian (c’est d’ailleurs pour pouvoir y accéder que je dois installer ces sources), et donc je fais apt-get install kernel-source … ça ne va pas télécharger faute de connexion. Je suis donc toujours obligé de rebooter sous et d’aller naviguer sous XP, comme en ce moment.

Si je retiens le conseil de BobX, il faut que j’aille sur le site kernel.org chercher le kernel 2.6.14 et que je l’installe ensuite dans usr/src, c’est bien ça ? Dois-je utiliser des patchs ou faire autre chose ? Y a-t-il une ligne de commande magique style apt-get install kernel ?

Enfin, je suis allé sur le site kernel.org et j’y ai téléchargé linux-2.6.8.tar.gz (kernel.org/pub/linux/kernel/v2.6/) mais est-ce que c’est bien ça une source ? J’ai aussi téléchargé un patch-2.6.8.gz est-ce que ça peut me servir ?

Pour finir, si c’est bien le premier fichier ci-dessus que je dois installer, si je comprends bien, je vais dans /usr/src et je fais apt-get install avec le nom du fichier tout en suivant les instructions du readme de la même page ?

Merci pour vos lumières,

AK

[quote=“Auguste Kaiser”]Bonjour,

Si je retiens le conseil de BobX, il faut que j’aille sur le site kernel.org chercher le kernel 2.6.14 et que je l’installe ensuite dans usr/src, c’est bien ça ?

[/quote]

Surtout pas malheureux! Installe directement une image de noyau toute prête avec apt-get.

apt-get install linux-image-2.6.14-qlqchose

Le quelquechose dépendant de ta machine (386,686, k6,k7…)
Si apt te dit qu’il ne connaît aucun package en 2.6.14, il va falloir alors rajouter les bonnes sources dans ton sources.list

En fait, je crois que je viens de dire une connerie vu que à ce que j’ai compris, t’as pas le net sous linux :laughing:
Donc le mieux serait plutôt d’aller récupérer le package des sources du 2.6.14 sur le site de backports, l’installer avec un dpkg, puis le compiler avec make-kpkg.
Tu trouveras divers packages source, et même des kernels tout compilés là : backports.org/debian/pool/main/l/linux-2.6/
Mais j’ai peur que les kernel déjà compilés ne veuillent pas s’installer pour des problèmes de dépendance.

Bon, mon avis qui va un peu diverger.

Ce que tu as, c’est un source à compiler.

Tu peux essayer la chose suivante:

Installation des headers de ton noyau en cours (que tu ne vas pas toucher: ta carte ATI a un module précis pour ce noyau par exemple donc si c’est possible garde le). Pour installer les headers:

apt-get install kernel-headers-2.6.8-11-amd64-k8

Il te crée une arborescence
/usr/src/kernel-headers-2.6.8-11-amd64-k8/

Fais un lien /usr/src/linux vers /usr/src/kernel-headers-2.6.8-11-amd64-k8

Puis maintenant, il te faut compiler le module. Pour cela, il faudrait regarder le source te ton module, il y a certainement dedans la commande à compiler. Il faut également savoir quel compilateur a été utilisé pour le noyau (je crois que c’est gcc-3.3).

Si maintenant tu suis le lien linuxforums.org/forum/redhat … -card.html
effectivement, il se contente de rajouter un fichier. Dans ce cas

apt-get source kernel-source-2.6.8

Si ma mémoire est bonne, ça installe une archive dans /usr/src que tu dois déplier. Tu dois également avoir de quoi faire un noyau:

apt-get install kernel-package

Je te suggère de faire apr-ès de t’être rajouter dans le groupe src
$ cd /usr/src
$ ln -s /usr/src/ linux
$ cd /usr/src/linux
$ cp /boot/config- .config
<Là tu fais les modifs demandées>
$ make menuconfig

Tu ne changes rien sauf ce qui concerne ton module

Tu fais
$ make
Tu vas prendre un café.

Quand c’est fini, ton module doit être dans le répertoire où tu as mis le source uli56x.c. Tu le récupères et tu le testes par un insmod

insmod

Si ça marche, il ne te reste plus qu’à le mettre dans le répertoire

/lib/modules/2.6.8…etc/kernel/drivers/net/

Puyis tu fais

depmod -ae

Tu rajoutes le nom du modules dans /etc/modules et tu reboutes.

L’intérêt est que tu n’as pas à changer ton noyau avec tous les pbms qui peuvent arriver.

Note: Tu peux te tromper dans la version de gcc. Le insmod te le diras, il te faut dans ce cas installer le bon gcc et faire un

rm /usr/bin/gcc, ln -s /usr/bin/gcc- /usr/bin/gccc

(vérifie avant que /usr/bin/gcc était un lien).

PS: regardes le message de MattOTop, il est plus précis que le mien sur la localisation des fichiers. La seule différence est que je te suggère de ne faire que rajouter le module à ton noyau déjà existant qui marche très bien par ailleurs plutôt que de refaire un noyau complet

fran.b, je crois que tu as oublié un petit détail: le monsieur a dit qu’il n’avait pas de réseau --> pas d’internet --> pas apt-get !!

Donc, à moins de trouver un .deb contenant les sources ou un kernel précompilé (ce qui n’est pas à conseiller AMHA), le mieux reste de télécharger les sources sur kernel.org

PS: je ne comprends toujours pas ce qui vous gène avec les sources de kernel.org. Ce que j’utilise depuis toujours et je n’ai jamais eu de problème.

Non, pas de pbm:

Il suffit de le charger là:

http://security.debian.org/debian-security/pool/updates/main/k/kernel-source-2.6.8/kernel-source-2.6.8_2.6.8-16sarge1_all.deb

puis de faire un dpkg -i du paquet

Précision: j’utilise aussi les sources de kernel.org mais il faut quand savoir ce que l’on fait et s’attendre à des surprises (cf au hasard noyau 2.4.8, 2.4.13 pris sur kernel.org et qui en leur temps étaient complètement instables, ceux de debian marchaient). Ici, je ne crois pas qu’il soit nécessaire de changer un noyau pour juste un module supplémentaire d’où l’idée de compiler le module pour ce noyau.

Merci pour ces précisions.
Tout à fait d’accord avec ton point de vue. Mieux vaut upgrader le kernel dans son cas.

Merci pour vos difrérents avis. J’ai essayé de les mettre en pratique mais malheureusement ne suis pas parvenu au résultat souhaité. En gros les fichiers téléchargés puis copiés sur CD ne s’ouvrent pas. Mais j’avoue que j’ai essayé cela un peu vite par manque de temps, c’est donc peut-etre lié à une fausse manip de ma part.

Par ailleurs je dois m’absenter pour quelques jours et je ne pourrai pas continuer d’essayer de réussir cette installation. Ne sachant pas ce qu’on fait dans ces cas là, je laisse ce message ouvert (ie non résolu), et répondrai j’espère la semaine prochaine aux suggestions qui me sont faites.

A bientot donc j’espère,

AK

[quote=“fsoumil”][quote=“MattOTop”]non: les sources de kernel.org sont à éviter, car elles ne sont pas préparées pour debian. Il faut les charger avec apt-get.
[/quote]
En quoi ces sources posent problèmes ? C’est toujours celles-là que j’utilisent et je n’ai jamais eu de problème…[/quote]
comme il est dit dans “Debian Linux Kernel HandBook” ( kernel-handbook.alioth.debian.org/ch-source.html ), la fabrication des sources debian noyaux sont patchées en plusieurs étapes:
1/prune-non-free, qui supprimme les parties sous license douteuse et les mets dans des paquetages à part (ca, c’est un peu precautionneux, et ca peut etre génant, mais bon),
2/installation de patchs variés spécifique debian, qui comblent des failles, OU FOURNISSENT DES FONCTIONNALITES SPECIFIQUES ESSENTIELLES POUR DEBIAN.
En fait, c’est cette dernière étape qui rend spécifique le noyau debian. Il y a des patchs “de sécurité” dont on peu se passer, mais il y a parfois des patchs essentiels pour la logique debian, comme le patch cramfs, qui est désormais intègré au noyaux kernel.org, mais qui a longtemps été nécessaire au bon fonctionnement des outils d’initrd debian.
Ca n’empêche pas de trouver des solutions “à la main” qui permettent de compiler des noyaux avec les sources kernel.org, mais autant rester en sources debian, que les equipes debian-kernel ne bossent pas pour rien… :laughing:

Merci pour l’explication…
Je me sens un peu moins con :smiley:

[quote=“fran.b”]Non, pas de pbm:

Il suffit de le charger là:

http://security.debian.org/debian-security/pool/updates/main/k/kernel-source-2.6.8/kernel-source-2.6.8_2.6.8-16sarge1_all.deb

puis de faire un dpkg -i du paquet[/quote]

Bonsoir,

J’ai donc essayé de faire dpkg -i mais rien ne se passe. Une autre commande possible ? Peut-etre n’ai-je pas installe le paquet là où il faut ?
Merci.