Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
1683 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Installation

  pb de compilation de noyau linux

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pb de compilation de noyau linux

n°1072479
gland resi​stant
Posté le 07-09-2008 à 22:18:49  profilanswer
 

Bonjour,
Pour être dans les mêmes conditions que celle d'un livre sur les drivers sous linux, je souhaite compiler
le noyau 2.6.10.
J'ai téléchargé les sources depuis http://www.kernel.org/ , dézippé le fichier *.bz2 dans /usr/src
pour obtenir tous les fichiers dans /usr/src/linux-2.6.10/ .
En me plaçant dans ce répertoire ( /usr/src/linux-2.6.10/ ) et en écrivant en tant que root la commande :
make config, voici le résultat :
 
 
root@lachez-moi:/usr/src/linux-2.6.10# make config
HOSTCC scripts/basic/fixdep
Dans le fichier inclus à partir de /usr/include/sys/socket.h:35,
à partir de /usr/include/netinet/in.h:24,
à partir de /usr/include/arpa/inet.h:23,
à partir de scripts/basic/fixdep.c:115:
/usr/include/bits/socket.h:311:24: erreur: asm/socket.h : Aucun fichier ou répertoire de ce type
scripts/basic/fixdep.c: In function «parse_config_file":
scripts/basic/fixdep.c:245: attention : pointer targets in passing argument 1 of «use_config" differ in signedness
scripts/basic/fixdep.c: In function «parse_dep_file":
scripts/basic/fixdep.c:299: attention : pointer targets in passing argument 1 of «__builtin_strchr" differ in signedness
scripts/basic/fixdep.c:299: attention : pointer targets in assignment differ in signedness
make[1]: *** [scripts/basic/fixdep] Erreur 1
make: *** [scripts_basic] Erreur 2
 
Il manquerait donc le fichier asm/socket.h .
 
Quelqu'un aurait-il une idée ?
 
PS: après un essai avec le dernier noyau 2.6.26, j'ai le même pb ! Que pasa ??

mood
Publicité
Posté le 07-09-2008 à 22:18:49  profilanswer
 

n°1072868
fighting_f​alcon
Posté le 09-09-2008 à 13:50:30  profilanswer
 

quelle distrib ?
 
via ton gestionnaire de paquet, cherche un paquet contenant ce fameux fichier /usr/include/asm/socket.h et installe le ...

n°1072871
gland resi​stant
Posté le 09-09-2008 à 13:56:40  profilanswer
 

j'ai ubuntu gutsy gibbon,
 En fait j'ai résolu ce pb là, pour une raison que j'ignore, il me manquait un lien /usr/include/asm vers
 /usr/src/linux/include/asm-i386 .
 
 Après avoir créé ce lien, make menuconfig marche,
 mais ensuite en lançant la commande: make, il y a des erreurs.
 
 Voici les dernières lignes qui s'affichent :
In file included from include2/asm/mpspec.h:5,
from include2/asm/smp.h:18,
from /usr/src/linux-2.6.10/include/linux/smp.h:17,
from /usr/src/linux-2.6.10/include/linux/sched.h:23,
from /usr/src/linux-2.6.10/arch/i386/kernel/process.c:17:
include2/asm/mpspec_def.h:78: attention : «packed" attribute ignored
for field of type «unsigned char[6]"
/usr/src/linux-2.6.10/arch/i386/kernel/process.c: In function
«show_regs":
/usr/src/linux-2.6.10/arch/i386/kernel/process.c:259: attention :
pointer targets in passing argument 2 of «show_trace" differ in
signedness
{standard input}: Assembler messages:
{standard input}:1393: Error: suffix or operands invalid for `mov'
{standard input}:1395: Error: suffix or operands invalid for `mov'
{standard input}:1743: Error: suffix or operands invalid for `mov'
{standard input}:1745: Error: suffix or operands invalid for `mov'
{standard input}:1855: Error: suffix or operands invalid for `mov'
{standard input}:1856: Error: suffix or operands invalid for `mov'
{standard input}:2197: Error: suffix or operands invalid for `mov'
{standard input}:2210: Error: suffix or operands invalid for `mov'
make[2]: *** [arch/i386/kernel/process.o] Erreur 1
 
 Je ne sais pas trop quoi faire .
 As tu une idée ?
 
 

n°1072878
Mjules
Modérateur
Parle dans le vide
Posté le 09-09-2008 à 14:13:41  profilanswer
 

tu es sur que le 2.6.10 compile avec le gcc de gutsy ?


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°1072883
gland resi​stant
Posté le 09-09-2008 à 14:22:59  profilanswer
 

C'est une très bonne question :-)
 
 J'ai pensé à télécharger gcc-2.95.3
 et même à compiler, et là tu risques de rire mais  
 j'ai pô réussi non plus :  
 voilà les messages suite à make dans gcc-2.95.3 :
 
 cedric@lachez-moi:~/ordinateur/programmes/gcc-2.95.3$ make
make[1]: entrant dans le répertoire « /home/cedric/ordinateur/programmes/gcc-2.95.3/libiberty »
if [ x"no" = xyes ] && [ ! -d pic ]; then \
          mkdir pic; \
        else true; fi
touch stamp-picdir
CONFIG_FILES= CONFIG_HEADERS=config.h:config.in /bin/sh ./config.status
creating config.h
test x"no" != xyes || \
          gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I./../include   argv.c -o pic/argv.o
gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I./../include  argv.c
argv.c: In function «dupargv":
argv.c:122: attention : incompatible implicit declaration of built-in function «strcpy"
test x"no" != xyes || \
          gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I./../include   choose-temp.c -o pic/choose-temp.o
gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I./../include  choose-temp.c
choose-temp.c: In function «choose_temp_base":
choose-temp.c:127: attention : incompatible implicit declaration of built-in function «strlen"
choose-temp.c:130: attention : incompatible implicit declaration of built-in function «strcpy"
choose-temp.c: In function «make_temp_file":
choose-temp.c:173: attention : incompatible implicit declaration of built-in function «strlen"
choose-temp.c:183: attention : incompatible implicit declaration of built-in function «strcpy"
choose-temp.c:192: attention : incompatible implicit declaration of built-in function «strcat"
test x"no" != xyes || \
          gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I./../include   concat.c -o pic/concat.o
gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I./../include  concat.c
test x"no" != xyes || \
          gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I./../include   cplus-dem.c -o pic/cplus-dem.o
gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I./../include  cplus-dem.c
test x"no" != xyes || \
          gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I./../include   fdmatch.c -o pic/fdmatch.o
gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I./../include  fdmatch.c
test x"no" != xyes || \
          gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I./../include   fnmatch.c -o pic/fnmatch.o
gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I./../include  fnmatch.c
Dans le fichier inclus à partir de /usr/include/errno.h:36,
          à partir de fnmatch.c:46:
/usr/include/bits/errno.h:25:26: erreur: linux/errno.h : Aucun fichier ou répertoire de ce type
make[1]: *** [fnmatch.o] Erreur 1
make[1]: quittant le répertoire « /home/cedric/ordinateur/programmes/gcc-2.95.3/libiberty »
make: *** [all-libiberty] Erreur 2
 
 si tu as une idée là dessus, je suis preneur :-)
 

n°1072923
gland resi​stant
Posté le 09-09-2008 à 17:35:13  profilanswer
 


 J'ai trouvé sur internet une solution au pb lié à la commande make pour le noyau.
 
Il fallait que j'utilise un patch en me plaçant dans
 le répertoire /usr/src/linux
 
 Du coup je n'ai plus de pb de compilation avec process.o .
 
Néanmoins, après une vingtaine de minutes, la compilation s'est arrêtée à cause d'erreurs venant de fichiers liés au bus isa.
 Un petit tour sur google, pour suivre ce bon conseil, virer le support pour les bus ISA dont j'ai pas besoin : chose faite, le pb est évité .
 
 Malheureusement la compilation bloque un peu plus tard sur le support I2C .
 
 Sur google, j'ai vu un message conseillant de virer  
 ce support à partir de menuconfig, mais en fait
 pour I2C je ne peux choisir qu'entre  
builtin ou Modularized ,
 avec Modularized ça bugge et pour builtin, j'imagine que c'est pire

n°1072933
Mjules
Modérateur
Parle dans le vide
Posté le 09-09-2008 à 18:36:04  profilanswer
 

tu voudrais pas compiler un noyau récent plutôt genre un 2.6.24 ou plus ?


Message édité par Mjules le 09-09-2008 à 18:36:11

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°1072979
gland resi​stant
Posté le 09-09-2008 à 22:29:10  profilanswer
 

Ben j'aimerais bien compiler ce noyau là pour  
 avoir le même noyau que dans un livre sur les drivers, qui date un peu .
 Je suppose que dès qu'un livre est assez abouti, il date toujours, vu que faut bien un certain temps pour écrire un livre .
 Bon sinon à vrai dire, je peux au pire utiliser le noyau en cours et là plus une compilation en vue.
 
 Non mais sérieux, je veux réussir la compilation de ce noyau .

n°1072986
Mjules
Modérateur
Parle dans le vide
Posté le 09-09-2008 à 22:39:31  profilanswer
 

le 2.6.10 date de décembre 2004 ; amha, il compilera avec un gcc 3.2 3.3 ou 3.4 mais pas avec un 4.xx tout au moins pas sans modif.
 
Mais honnêtement, si tu veux apprendre à compiler, un noyau récent se compile de la même façon et au moins tu n'auras pas de problèmes de ce type.
 
Et si tu veux développer sur linux, alors oublie tout de suite le 2.6.10, de toute façon tu devras travailler a partir des arbres de développement.


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°1072993
gland resi​stant
Posté le 09-09-2008 à 22:48:31  profilanswer
 

Mon but est pas d'apprendre à compiler un noyau, mais plutôt d'apprendre à écrire des pilotes de périphériques .  
 Tu connais des tutoriaux détaillés et récents sur l'écriture de pilotes de périphériques ?
 
 Je suis pas contre de ressortir du grenier un vieux gcc , d'ailleurs c'est ce que j'ai commencé à faire avec le fichier gcc-2.95.3  
 
Si j'avais réussi à le compiler, ça me dérangerait pas de l'utiliser pour compiler les sources du noyau 2.6.10  
 
 Tu penses que c'est si compliqué que ça de compiler ce noyau ?
 
 Car je me vois bien débuter l'écriture de driver grâce à ce manuel, en utilisant le noyau du livre : 2.6.10, bon et puis un peu plus tard passer au dernier noyau en date .

mood
Publicité
Posté le 09-09-2008 à 22:48:31  profilanswer
 

n°1072996
Mjules
Modérateur
Parle dans le vide
Posté le 09-09-2008 à 22:58:31  profilanswer
 

gland resistant a écrit :

Mon but est pas d'apprendre à compiler un noyau, mais plutôt d'apprendre à écrire des pilotes de périphériques .  
 Tu connais des tutoriaux détaillés et récents sur l'écriture de pilotes de périphériques ?
 
il y a des choses chez http://kernelnewbies.org ou kernel janitor, ainsi que chez le linux driver projet, mais si ton bouquin est bien Linux Device Driver 3° édition, la base reste valable.
 
 Je suis pas contre de ressortir du grenier un vieux gcc , d'ailleurs c'est ce que j'ai commencé à faire avec le fichier gcc-2.95.3  
 
Si j'avais réussi à le compiler, ça me dérangerait pas de l'utiliser pour compiler les sources du noyau 2.6.10  
 
 Tu penses que c'est si compliqué que ça de compiler ce noyau ?
 
avec le bon compilateur, non, avec gcc4, tu vas ramer, il est beaucoup plus strict que gcc3 sur un certains nombres de choses.
 
 Car je me vois bien débuter l'écriture de driver grâce à ce manuel, en utilisant le noyau du livre : 2.6.10, bon et puis un peu plus tard passer au dernier noyau en date .


 
Pas mal de choses ont changés dans le noyau depuis le 2.6.10 ; donc les bases du bouquin doivent toujours être bonnes mais les api ont du être modifiées un paquet de fois : http://lwn.net/Articles/2.6-kernel-api/


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°1073000
gland resi​stant
Posté le 09-09-2008 à 23:52:50  profilanswer
 

Le livre en pdf , c'est linux device driver , 3ème édition .
 Je vais réessayer de compiler gcc 2.95.3 .
 J'espère ne pas écraser des fichiers de mon système actuel qui marche bien avec cette compil.

n°1073792
gland resi​stant
Posté le 12-09-2008 à 12:23:08  profilanswer
 

Merci Mjules pour tes conseils sur gcc,
 J'ai téléchargé gcc-2.95.3 déjà compilé et du coup  
 la compilation du noyau 2.6.10 a abouti :-)  
 J'ai ajouté un initrd à /boot et puis le noyau boote
 enfin :-)) .
 Le hic, car il y en a toujours un ;-) , c'est que /home ne se monte pas .
 Du coup je me retrouve en tant que root sur une console, à partir de laquelle j'arrive qd même à lancer gnome par startx .
J'ai bizarrement non plus pas accès à internet .
J'ai repéré pendant le boot , que le noyau n'arrive pas à monter /home .
 En fait j'ai actuellement /home installé avec LVM
 sur ext3 et ça se passe sans pb avec le noyau 2.6.15 .
 
 Je sais pas trop quoi faire pour que /home soit monté automatiquement sur le noyau 2.6.10 .
 
 Z'avez une idée ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Installation

  pb de compilation de noyau linux

 

Sujets relatifs
Installer linuxcontrôle parental sous linux
Mplayer sous linux fait son show [Résolu]Faire reconnaitre carte WIFI sous Linux avec VMware
gros bugs sous linux apres compilation du noyauCompilation du noyau de linux, besoin d explications...
compilation d'un noyau linux: paramètres introuvables[linux] compilation du noyau --> je deviens fou !
[Linux Red Hat]Compilation du noyau optimisé pour le routage 
Plus de sujets relatifs à : pb de compilation de noyau linux


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR