Cross compilation d'un OS RT pour raspberry pi 2 avec BuildRoot
Bonjour, je viens de me mettre à la cross compilation, et comme toujours je me trouve confronté à un problème (plusieurs en fait).
Je vais vous donner un maximum d'info sur ce que j'ai fait et pourquoi même si ce n'est pas forcement utile.
Mon cahier des charges :
- Créer un OS temps réel pour raspberry pi 2.
Ma solution :
J'ai donc décidé d'utiliser buildroot (2015.08) pour la partie cross-compilation de l'OS et le patch xenomai (2.6.4) pour le temps réel.
Mes problèmes & solutions :
- La version du kernel linux définie par défaut pour le raspberry 2 est la 4.0.6 mais xenomai ne la supporte pas (ou j'ai pas trouvé) donc je suis passé en version 3.16.7 (archive xenomai).
- Le rasp 2 n'a pas de configuration pour un kernel 3.16.7 (defconfig/dtb) j'ai donc manuellement déplacé les fichiers incriminés dans les répertoires qui vont bien.
- C'est là qu'arrive mon problème actuel : ça ne compile plus. Bon je me doute que le problème viens de l'interface chaise clavier qui à fait des ******* ******, mais je ne vois pas lesquelles.
fichier de configuration :
.config
code erreur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| >>> linux rpi-3.16.y Building
PATH="/home/ox223252/cross/raspberrypi2/buildroot-2015.08/output/host/bin:/home/ox223252/cross/raspberrypi2/buildroot-2015.08/output/host/sbin:/home/ox223252/cross/raspberrypi2/buildroot-2015.08/output/host/usr/bin:/home/ox223252/cross/raspberrypi2/buildroot-2015.08/output/host/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" BR_BINARIES_DIR=/home/ox223252/cross/raspberrypi2/buildroot-2015.08/output/images /usr/bin/make -j13 HOSTCC="/usr/bin/gcc" HOSTCFLAGS="" ARCH=arm INSTALL_MOD_PATH=/home/ox223252/cross/raspberrypi2/buildroot-2015.08/output/target CROSS_COMPILE=" /home/ox223252/cross/raspberrypi2/buildroot-2015.08/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-" DEPMOD=/home/ox223252/cross/raspberrypi2/buildroot-2015.08/output/host/sbin/depmod -C /home/ox223252/cross/raspberrypi2/buildroot-2015.08/output/build/linux-rpi-3.16.y zImage
scripts/kconfig/conf --silentoldconfig Kconfig
...
CC kernel/range.o
drivers/cpufreq/bcm2835-cpufreq.c:29:23: erreur fatale: mach/vcio.h : Aucun fichier ou dossier de ce type
#include <mach/vcio.h>
^
compilation terminée.
make[4]: *** [drivers/cpufreq/bcm2835-cpufreq.o] Erreur 1
make[3]: *** [drivers/cpufreq] Erreur 2
make[3]: *** Attente des tâches non terminées....
AS arch/arm/lib/copy_to_user.o
...
LD fs/ocfs2/dlmfs/built-in.o
CC fs/nfs/read.o
fs/nfs/pagelist.c: In function ‘nfs_initiate_pgio’:
fs/nfs/pagelist.c:597:16: attention : unused variable ‘inode’ [-Wunused-variable]
struct inode *inode = hdr->inode;
^
LD fs/lockd/lockd.o
CC fs/nfs/symlink.o
...
LD fs/nfs/built-in.o
LD fs/built-in.o
make[1]: *** [/home/ox223252/cross/raspberrypi2/buildroot-2015.08/output/build/linux-rpi-3.16.y/.stamp_built] Erreur 2
make: *** [_all] Erreur 2 |