Compilation d'un noyau linux [Résolu]

Signaler
Messages postés
6
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
3 mai 2007
-
Messages postés
6
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
3 mai 2007
-
bonjour,


Je doit compiler un noyau linux en croisé pour un PPC.


j'ai donc installé une version de fedora en double boot sur mon PC pour pouvoir le conpilé.


la fedora marche bien.
je fais la commande make gconfig ARCH=ppc la ça marche je peut configurer ma compilation.
mais lorsque je fais un make ARCH=ppc là g une erreur me disant que je n'ai pas la bonne version de binutils alors que ma version installé sur ma fedora est plus récente.

Est ce que quelqu'un peut m'aider s'il vous plait
merci d'avance à tous ce qui le porront.

6 réponses

Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
15
amha, c'est beoucoup moins simple que ça.
Tu dois construire une chaine de compilation croisée ( ou ).

Ton compilateur n'est pas le seul à devoir être préparé. Il faut aussi préparer la libc. La compilation et l'édition de liens sont dépendants de l'architecture cible.

Pour simplifier cette construction, il est préférable que la distribution de travail soit la même que la distribution cible. (Si tu veux compiler un noyau debian pour ppc tu le compiles sous debian). Fedora n'est peut être pas très adaptée pour la compilation croisée. debian dispose d'un outil dpkg-cross pour ce genre de procédure.
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
15
Regardes . Dans tes binutils, il n'y a peut être pas le gcc pour powerpc, ou essayes comme lui :
CC=powerpc-linux-gcc ./configure --host=ppc
Messages postés
6
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
3 mai 2007

ok je vais essayer et je te tiens au courant
merci
Messages postés
6
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
3 mai 2007

Salut AlexN



J'ai utilisé ta deuxième solution, celle ci fonctionne. J'ai réussi aprés de nombreux essais infructueux à construire un compilateur croisé pour PPC.



pour info je donne les versions utilisées     ftp://ftp.gnu.org/gnu/ :        
binutils-2.16.1   g
cc-2.95.3   
glibc-2.2.5, glibc-linuxthread-2.2.5



J'ai toujours des problèmes de compilation de mon noyau linux-2.4.32  mais j'arrive à quand meme à compiler en croisé ce qui m'a fait bien avancé.

Je vais continuer à chercher pour mes problèmes de compilation mais si quelqu'un à une idée c'est pas de refus
ld: sched.o: relocation in generic ELF (EM:20)
sched.o: ne peut lire les symboles: fichier dans un mauvais format

En forçant la compil cette erreur apparait plusieurs fois pour d'autres fichiers.o mais passe pour certains.

encore merci



 
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
15
Salut,

ld n'arrive pas à lire seulement certains fichiers objets. C'est curieux. La chaîne de compilation croisée n'est probablement pas complète, ou peut être que la configuration de compilation de ton noyau cible est mauvaise ou ???

Au cas où :
Quelqu'un ayant eu des pb similaires : http://www.gossamer-threads.com/lists/perl/porters/207424
Une liste de diffusion sur la compilation croisée :
http://sources.redhat.com/ml/crossgcc/
Quelques sujets qui pourraient t'aider :
(howto) http://sources.redhat.com/ml/crossgcc/2000-q2/msg00195.html
http://sources.redhat.com/ml/crossgcc/2001-q2/msg00010.html
Messages postés
6
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
3 mai 2007

Ok je regarde ca
merci