Bonjour,
J'utilise Linux depuis une quizaine d'années.
Je m'interesse depuis quelques semaines à Linux Embarqué.
Pour cela je travaille avec le seul livre que je connaisse dans ce domaîne et qui porte justement ce titre (Linux Embarqué)
J'ai besoing de réaliser la compilation du noyau 2.6.30 et de modifier un paramètre après avoir lancé la commande 'make menuconfig'.
(Au préalable, j'ai bien téléchargé mon noyau via la commande ncftp, je l'ai décompressé, je vais dans le nouveau répertoire 'linux-2.6.30, et je tape ma commande
make versatil_defconfig (c'est le nom de la carte pour laquelle je veux réaliser une cross-compilation)
Je reprends ici la phrase du livre vous indiquant le problème que l'on rencontre à ce moment:
"Il est cependant nécessaire de modifier légèrement la configuration afin de permettre au noyau d'executer du code EABI (EMBEDDED ABI), alors que le noyau est actuellement configuré pour exécuter uniquement du code OABI(old ABI). Pour ce faire, on utilise la commande make menuconfig et on active l'option
"Use the ARM EABI to compile the kernel" dans le menu Kernel Features, comme décrit dans la figure ci-après:
Dans mon livre ,on représente une copie d'écran avec une fenêtre ayant pour titre "Kernel Feature" et la possibilité de cocher l'option
(*) Use the ARM EABI to compile the kernel
MON PROBLEME:
JE NE VOIS PAS COMMENT ACCEDER A CETTE OPTION "KERNEL FEATURE"
J'aurais peut-être pu commencer mon courriel par ce point !
Quelque soit le noyau que je télécharge , je ne trouve pas, à partir du menu principal,le moyen de faire apparaitre la fenêtre "Kernel Feature"
Peut-être que quelque chose de plus fondamentale m'échappe!
Qui peut me donner un début de solution?
je lui enverrai toutes les copies d'écrans qu'il souhaite.
Pour info je suis sous Fedora12 (la version maximum préconisée pour utiliser le logiciel ELDK nécessaire) avec un Pentium 4
Merci pour votre réponse.
# Re : Problème de compilation du noyau 2.6.30
Posté par sebB . Évalué à 1.
make versatil_defconfig doit te permettres d'initialiser ton noyau avec une config par defaut.
Pour avoir accès aux options il faut que tu saisisses par exemple
make menuconfig ou make gconfig...
# oups j'avais mal lu
Posté par sebB . Évalué à 1.
J'avais pas vu que tu avais réussi a rentrer dans la config
Tape make ARCH=arm menuconfig et ton option devrait apparaitre
# Merci à vous qui m'avez répondu
Posté par pierrot57 . Évalué à 0.
Je viens de taper la commande que vous m'avez fournie : il y a du progrès !
mais, bien-sur, derrière, j'ai droit à toutes une série de questions ( je ne peux pas détailler) où j'ai répondu avec le choix par défaut !
Pour le moment ça compile.
En fait j'ai besoin de trouver de la documentation concernant la commande 'make' avec ses options de compilation. J'espère ne pas dire une ânerie.
La seule documentation que je connaisse est:
- le cours d'Alexis DELATTRE sur la compilation du noyau que j'ai lu et mis en pratique
il y a une paire d'années.
- le cours de CASTEYDES (orthographe?)
Si vous connaissez un cours récent (ou un livre) traitant de ce sujet, je serais heureux de le connaitre.
Merci et peut-être à plus tard.
[^] # Re: Merci à vous qui m'avez répondu
Posté par NeoX . Évalué à 1.
comme toujours sous linux/unix
te donnera les options du logiciel make
et un coup d'oeil au fichier makefile à la racine du projet, te permettra de savoir un peu ce que tu peux appeler, et ce qui sera alors demandé reellement. (calcul de dependances, compilation de module...)
[^] # Re: Merci à vous qui m'avez répondu
Posté par Achille Fouilleul (site web personnel) . Évalué à 1.
Le manuel de make est ici: http://www.gnu.org/s/make/manual/. Il peut aider un peu, mais la compilation d'un noyau Linux requiert souvent le passage de paramètres via la ligne de commande ou bien la modification du Makefile ; ARCH=arm par exemple. Ces paramètres sont spécifiques au projet et n'ont aucune raison d'apparaître dans le manuel de make.
Notez que si vous cherchez à compiler un noyau pour ARM sur une machine de type x86, il s'agit d'une compilation croisée, et le compilateur hôte ne sera d'aucune utilité. Vérifiez que vous disposez d'une chaîne de compilation croisée ou compilez-la au besoin. Chaque outil de la chaîne commence par un préfixe, par exemple: arm-linux- dans votre cas. Le compilateur C sera alors appelé via arm-linux-gcc, l'assembleur via arm-linux-as, etc. Passez donc le paramètre CROSS_COMPILE=arm-linux- à make.
Si vous voulez configurer et compiler le noyau hors de l'arbre des sources, utilisez O=.
En outre, j'utilise souvent les variables INSTALL_MOD_PATH et V.
[^] # Re: Merci à vous qui m'avez répondu
Posté par Mali (site web personnel) . Évalué à 1.
make help te listera toutes les options possibles avec une aide succinte.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.