[compiler Debian]

Fermé
stéphanie - 18 sept. 2005 à 00:14
 stéphanie - 24 sept. 2005 à 14:13
Bonsoir, afin de pouvoir utiliser les ports USB de mon pc portable sous Linux Debian, il m'est neccessaire e recompiler le kernel. Mais je ne sais pas comment faire.

J'ai installer Linux Debian, ensuite je me connecte en tant que Root, mais que dois-je faire??

Ou se trouve les fichiers a utiliser?

Une autre question, comment faire evoluer le noyau de Linux?
actuellement je suis en 2.2.

J'ai un pc portable sans pris reseau, une carte belkin pour reseau wifi(qui ne fonctionne pas actuellement pcq je dois faire evoluer le noyau en 2.4 minimum pour nstaller le driver), un port USB u j'ai des modules à activer dans le kernel avant de pouvoir les utiliser.


Une dernière question, quel est la diffrence entre le kernel et le noyau ?

Merci
A voir également:

13 réponses

kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
18 sept. 2005 à 01:54
Une dernière question, quel est la diffrence entre le kernel et le noyau ?

L'un c'est le mot en anglais et l'autre en francais. Il n'y a pas de difference.

Apropos de l'USB je peux te confirmer qu'il faut aussi passer en 2.4 uniquement pour ca. Les modules "a activer dans 2.2" ne sont suffisants. Avec le tout dernier 2.2 j'ai reussi de monter une fois une cle usb mais ce n'etait qu'en lecture. On ne pouvait pas ecrire la dessus. Les drivers USB de 2.2 ne sont pas au point et leur developpement a ete arrete il y a longtemps.

Dans le debian Woody il y a un paquet tout pret pour un noyau 2.4 (je crois c'est un 2.4.17) et tu devrais etre capable de l'installer comme ca avec apt-get ou plutot avec le cd d'installation. Deja avec ca le probleme usb serait resolu bien que le 2.4.17 est aussi un peu vieux (les bons modules sont probablement precompiles). Apres je ne sais pas si ce noyau suffit pour pouvoir compiler le driver wifi.

Apart ca si tu viens d'installer la Debian, pourquoi tu a pris la version Woody ? La derniere version stable est Sarge (je crois) et la tu as un choix entre un noyau 2.4 tres recent (2.4.29 ou similaire) et un noyau 2.6 (comme 2.6.11 ou similaire). Bref si tu veux absolument rester avec Debian je te conseillerais de passer a Sarge. Tu veilles a installer aussi les sources du noyau (le paquet: "kernel-source") pas pour le compiler (ca ne sera pas necessaire) mais pour pouvoir compiler ton driver wifi qui a besoin de fichiers include dans les sources du noyau.

Si tu es un vrai debutant Linux je te conseillerais meme la derniere Mandriva. Dans ce cas c'est bon pour l'usb et aussi pour ta carte wifi il y a une bonne chance qu'elle soit automatiquement reconnue dans le Mandriva qui contient beaucoup de drivers supplementaires (peut-etre meme le driver que tu veux installer). Apres pour la configuration internet etc. c'est aussi plus facile que Debian.

Si toutefois tu tiens a compiler un noyau linux:
http://doc.mandrivalinux.com/MandrivaLinux/101/fr/Command-Line.html/compiling-kernel-chapter.html
0
ok merci, j'ai installer la debian sarge, le port USB fonctionne. Pas besoin de recompiler le noyau(pour le moment).

Concernant le driver wifsi j'ai essayer de 'linstaller comme l'indique le site suivant :

http://www.gnuworld-fr.org/gen.php3/section/Tips+Linux,0,1,0,0.html

Dans l'article "Installer une carte Wi-Fi 802.11b/ATMEL " j'ai télécharger le dernier driver.
J'ai suivi la procédure indiquer mais il m'indique

" No rule to make target 'Build' "
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
18 sept. 2005 à 14:16
Il doit y avoir un pepin avec la procedure. D'abord tu as aussi bien installe les sources de ton noyau (le paquet "kernel-source-blabla" ou "kernel-source-2.4-blabla" ou similaire) ? Sinon aucune chance que ca marche. Notamment il faut qu'il y ait ce lien:
/lib/module/2.4.xx-blabla/build -> /usr/src/linux
(ou vers tout autre autre repertoire utilise pour les sources). En plus la version du noyau qui tourne (a voir avec "uname -r") doit etre absolument exactement la meme que la version des sources (avec tout le baratin: 2.4.xx-blabla).
Normalement le lien doit etre bon et automatique avec l'installation du bon paquet kernel-source.

Apart ca il y a aussi la complication que la Sarge permet aussi le noyau 2.6.xx et il est possible mais pas sur (!!) que le driver wifi marche aussi avec ca. Si tu es en 2.6 tu peux essayer mais si ca marche ca necessite egalement les bonnes sources. Regarde aussi la doc du driver (fichiers README, INSTALL) s'ils parlent aussi de 2.6. En cas de probleme passer au 2.4 si tu ne l'es pas deja. Ca doit etre possible avec les outils de gestions paquets de Debian (je ne connais pas assez de details pour ca).

Donc reessaie encore fois et en cas de probleme il faut decrire etape par etape ce que tu as fait exactement.
0
Ok, je réessaie et je redis quoi ce soir. Merci de ton aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bon, je bloque toujours à un endroit.

Donc je suis en debian Sarge noyau : 2.4.27-2-386 sur un pc portable IBM assez vieux (96 de ram, pII 5 go de DD, pas de connexion reseau, un port PCMCIA avec une carte Belkin pour reseau sans fil)

Donc mon problème c'est que je n'arrive pas à utiliser cette carte PCMCIA Belkin pour réseau sans fil.

Voila ce que j'ai fait :

depuis une autre machine avec accès internet j'ai télécharger le driver Atmel à l'adresse suivante : http://atmelwlandriver.sourceforge.net/

La version du driver est 3.4.0.2

je l'ai copié sur une clé USB afin de pouvoir l'utiliser sur mon portable.

je suis en root
cp -r /cleusb/atmelwlandriver/ ~
cd ~/atmelwlandriver/
make config
make all
make install

ok pas de pb.
maintenant d'aprés plusieurs sites je suis censé paramétrer le fichier
/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
BOOTPROTO=dhcp
ONBOOT=yes
WIRELESS=yes
ESSID=gnuworld
MODE=2 CHANNEL=10

Problème : dans /etc je n'ai pas de dossier sysconfig. D'aprés ce que j'ai pu lire Ce chemin correspond à une red hat. Sous Debian, comment faut-il configurer ce fichier?
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
18 sept. 2005 à 22:04
Tu as deja avance, car tu as reussi de compiler et installer le driver, maintenant c'est un probleme de config. Le truc avec /etc/sysconfig c'est typiquement pour Redhat, Fedora, Mandrake mais apparamment pas pour Debian. Ca peut etre un autre repertoire. Il semble en Debian il y a un fichier /etc/network/interfaces ou on peut mettre/ajouter un truc comme:
auto iface eth1
iface eth1 init dhcp

si c'est vraiement le device eth1. Si tu n'as pas d'autre carte reseau ca devrait etre plutot eth0, cependant il semble que les noms eth0 ou eth1 sont faux!!
C'est pour ca tu dois tres soigneusement lire le fichier README qui contient un grand nombre d'informations tres pertinantes voir indispensabes. En particulier la dedans ils disent que le nom du device reseau n'est plus eth0, eth1, etc. mais atml0, donc ce serait plutot:
auto iface atml0
iface atml0 init dhcp

pour ajouter au fichier /etc/network/interfaces.

En plus il y a deux programmes qui permettent de configurer la carte avec de menus (un avec de menus en texte et l'autre avec de menus graphique). Il s'agit de "lvnet" (menu-texte) et "winter" (menu-graphique). Comme tu as fait "make all" et "make install" les deux programmes sont deja installes (sinon on peut les compiler avec "make lvnet" ou "make winter" dans le repertoire ou tu as deja compile le driver, mais en principe c'est deja fait).
Je ne sais pas avec certitude mais je suppose que ces programmes sont necessaire pour mettre de choses comme la cle de cryptage et d'autre parametre wifi.

En principe sans te pouvoir donner de details ou vraiement etre sur (je n'ai jamais utilise debian ni cette carte), tu dois d'abord lancer le "winter" ou "lvnet" (il suffit de taper ca comme une commande) pour mettre quelques parametres wifi. En plus tu ajoutes les deux lignes avec iface (voir ci-dessus) dans le fichier /etc/network/interfaces et apres il faut redemarrer le reseau avec:
/etc/init.d/networking restart

ou un truc similaire.

Le mieux c'est vraiement de bien suivre le fichier README meme si c'est en anglais car il y a pas mal d'instructions detailes. Bien-sur tu n'as pas besoin de compiler le noyau et les deux premieres etapes sont deja faites. En plus je crois il faut aussi modifier de choses pour les scripts pcmcias (dans /etc/pcmcia/...) pour que ca marche (details dans le README!).
0
J'ai cherché encore un peu mais j'ai encore un pb. J'ai ecrit dans le fcihier
/etc/network/interfaces

auto iface eth1
iface eth1 init dhcp

(j'ai également essayer avec atml0 et eth0)

Quand je fais /etc/init.d/networking restart j'ai les messages suivants :

Setting up IP spoofing protection : rp_filter.
Reconfiguring network interfaces... Internet Software Consortium DHCP Client 2.0pl5
Copyright 1995,1996,1997,1998,1999 The Internet Software Consrtium.
All rights reserved.

eth0 : ERROR while getting interface flags : No such Device
Bind socket to interface : No such device
exiting.
Failed to bring up eth0.
done.

Voila donc il ne trouve pas mon port reseau.
J'ai lancé "lvnet" mais la il me demande d'insérer la carte wifi. J'en deduis qu'il n'as pas trouvé les drivers.

ai-je les bon drivers ?

J'ai une carte wifi Belkin F5D6020, le driver je l'ai trouvé sur un forum de l'adresse que j'ai mis plus haut.
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
19 sept. 2005 à 23:28
Il faut peut-etre charger le bon module manuellement. J'aurais pense que le "make install" aurait fait le necessaire mais peut-etre que non. Alors il faut charger avec "modprobe pcm...." ou pcm.... est le nom du module que tu as compile. Je crois les "...." representent le numero du chipset ou similaire. Il y en a plusieurs numeros possible pour ton driver.
Regarde dans le sous-reptoire objs (du repertoire du compilation) pour les noms exactes, il semble c'est:

pcmf502r pcmf502r3 pcmf502rd pcmf502re pcmf504 pcmf504A_2958 pcmf504_2958

Il te faut essayer modprobe pour chaqu'un de ces modules. Apres tu regardes avec "dmesg" (ca affiche les messages du noyau) si ca a l'aire de bien marcher. Tu peux aussi essayer la commande "ifconfig atml0" (ou si tu veux avec eth0,1 mais je pense c'est atml0) si ca fait un blabla raisonable dans le sense que ca existe.

Une fois tu as trouve le bon module et le bon device (eth0 ou atml0) il faut ajouter dans le fichier /etc/modules.conf une ligne comme:
alias atml0 pcm....

ou avec eth0 et pcm.... est le nom exacte (sans l'extension ".o" !!).

Plus tard un "modprobe atml0" chargera le module mais en fait ca sera meme automatique si les scripts de boots essaient de configurer la carte.


Apart ca il faut peut-etre aussi essayer de mettre les bonnes choses pour les fichiers dans /etc/pcmcia/... pour le hotplug comme c'est ecrit dans le README. En principe ca permet de reinitialiser la carte en sortant/remettant dans le slot (il faut attendre un peu entre les deux).
0
Re...
J'ai réussi a installer le driver pour ma carte wifi, j'ai carrément fait autrement.
j'ai utilisé ndiswrapper et j'ai chargé les driver inf de windows.
par contre pour charger le module ndiswrapper (modprobe ndiwrapper) j'ai un message qu'i s'affiche touts les 10 secondes :

ndiswrapper (hangcheck_proc:379) : Hangcheck returned true. Resetting wlan0!

Comment faire pour regler ce nouveau problème ?

Merci

Quand j'aurais fini d'installer cette carte Wifi j'indiquerais en details ce que j'ai fait.
0
Je viens rajouter une ligne :

quand je tape ifup wlan0 j'ai ceci :
Ignoring unknown interface wlan0=wlan0
0
J'ai trouvé mon problème (enfin une partie). quand je fais un modprobe ndiswrapper (equivalent a modprobe wlan0) rien ne s'affiche.

Je tape dmesg j'ai plein de chiffres que je ne comprend pas. Je voulais desactiver le module.

Il m'indique ndiwrapper n'est pas chargé.

D'ou peux venir le problème?
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
23 sept. 2005 à 23:21
Tape "/sbin/lsmod" pour avoir la liste des modules actuellement charges. Si rien ne s'affiche apres modprobe ca signifie normalement qu'il a bien charge le module mais si apres ca marche c'est un autre point. S'il y a une erreur ce serait bien affiche.

Tu es sur que le module ndiswrapper est bien installe ? Tu l'as compile ou installe a partir d'un paquet debien ?

Tu peux chercher dans le repertoire /lib/modules/<version_noyau>/... si tu y trouves quelques part dans un des sous-repertoirs le fichier ndiswrapper.o (ou ndiswrapper.ko pour un noyau 2.6). Ca peut etre le sous-repertoire "kernel/drivers/net" ou "kernel/drivers/net/wifi" ou "kernel/drivers/wifi" ou similaire.
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
23 sept. 2005 à 23:14
Je n'ai jamais fait moi meme avec Ndiswrapper mais j'ai lu dans la doc d'installation:
http://ndiswrapper.sourceforge.net/mediawiki/index.php/Installation
qu'il faut faire vachement attention quand on met le driver "inf" de Windows. En principe il ne faut surtout pas prendre celui sur le cd ou disque de Windows mais il faut tres soigneusement determiner le "PCI-ID" de la carte et en fonction de ca telecharger le bon file "inf", details ici:
http://ndiswrapper.sourceforge.net/mediawiki/index.php/Installation#Install_Windows_driver

Apart ca j'ai l'impression que Ndiswrapper est principalement prevu pour les cartes PCI (a mettre dans les slots des grands pc) et ca ne me parrait pas sur que les cartes pcmcia (ou les cles usb-wifi) marchent avec ca (mais je peux me bien tromper la dessus).
0
Je suis passé au noyau 2.6.9-2-686, j'ai réinstallé ndiswrapper.

j'ai chargé le driver que j'ai trouvé à l'adresse que tu m'as donné Bel6020.inf


modprobe ndiswrapper
Ca fonctionne, pas de message d'erreur dans dmesg.

quand je tape iwconfig, j'ai les deux interfaces
lo
wlan0

je tape iwconfig wlan0
j'ai ça 'essid:off/any'
je tape donc iwconfig wlan0 essid Mon_reseau_wifi
ensuite je retape iwconfig wlan0
rien a changé.
Pourquoi ?

J'ai essayé de configurer /etc/network/interfaces de la manière suivante :
auto wlan0
iface wlan0 inet static
address 192.168.0.186
netmask 255.255.255.0
broadcast 192.168.0.0
gateway 192.168.0.250
wireless_essid Mon_reseau_wifi
wireless_mode Managed
wireless_rate auto
0