Vous pouvez utiliser GDB pour déboguer votre noyau avec QEMU vous pouvez utiliser les options -s -S
. Si vous voulez un toolchain simple et fiable, vous pouvez utiliser ELDK
de DENX (http://www.denx.de/wiki/DULG/ELDK).
Vous pouvez l'installer comme ça (Ce n'est pas la dernière version, mais vous eu l'idée):
wget http://ftp.denx.de/pub/eldk/4.2/arm-linux-x86/iso/arm-2008-11-24.iso
sudo mkdir -p /mnt/cdrom
(si nécessaire)
sudo mount -o loop arm-2008-11-24.iso /mnt/cdrom
/mnt/cdrom/install -d $HOME/EMBEDDED_TOOLS/ELDK/
La commande doit installer au-dessus du toolchain sous $HOLE/EMBEDDED_TOOLS/ELDK
(modifier si vous avez besoin)
echo "export PATH=$PATH:$HOME/EMBEDDED_TOOLS/ELDK/ELDK42/usr/bin" >> $HOME/.bashrc
Vous pouvez alors voir la version de votre ARM toolchain comme ceci:
arm-linux-gcc -v
Vous pouvez tester un hello_world.programme c comme celui-ci:
arm-linux-gcc hello_world.c -o hello_world
Et vous tapez: file hello_wrold pour voir l'architecture cible du binaire, il devrait être quelque chose comme ceci:
hello_wrold: ELF 32-bit LSB executable, ARM, version 1 (SYSV)
Maintenant, si vous voulez compiler un noyau de production , vous devez optimiser (i suggère d'utiliser busybox
) et si vous voulez juste un pour le test maintenant, essayez ces étapes:
Créer un script pour définir votre outil de chaîne set_toolchai n.sh:
#! /usr/bin/sh
PATH=$PATH:$HOME/EMBEDDED_TOOLS/ELDK/ELDK42/usr/bin
ARCH=arm
CROSS_COMPILE=arm-linux-gnueabi-
export PATH ARCH CROSS_COMPILE
Et lancez votre script (source ./set_toolchain.sh
)
- Télécharger un noyau linux et décompressez (Supposons 2.6.x, il est un ancien noyau, mais il y a beaucoup de chances que ça marche sans erreurs de compilation).
l'intérieur de votre noyau décompressé:
cd ~/linux-2.6.29/arch/arm/configs
make versatile_defconfig
Ici, nous utilisons la puce polyvalente, vous devrez peut-être utiliser make menuconfig
pour modifier l'option OABI
et le mettre à ARM EABI
, cette option est sous Kernel features menu
Après toutes ces étapes, vous pouvez compiler votre noyau:
make
si vous voulez la compilation prolixe make v=1
Après ceci vous avez obtenu votre noyau sous arch/arm/boot/zImage
.
Espérons cette aide.
Cordialement.
Quelqu'un peut-il m'aider s'il vous plaît! – inblueswithu
quelqu'un sait quelque chose comme ça ?? aide de plz – inblueswithu