Gumstix Overo + Angstrom + linux-omap3-2.6.35 + Xenomai 2.6.0

    Petit tuto pour mettre en place un environnement de développement pour un module Overo, créer une image avec l’OS Linux Angström et surtout ajouter l’extension temps réel Xenomai. Et ceci tout en restant à jour avec le dépôt Gumstix Overo OpenEmbedded.

    • Installation de l’environnement de développement :
    On va tout d’abord installer l’environnement de développement pour pouvoir créer une image linux et compiler des programmes pour le Gumstix Overo.
    Il vous faut un ordinateur sous Linux (Ubuntu 10.10 pour ma part, les versions 11.x posent problème).
    Téléchargez le script d’installation (script de Terry Dunlap, légèrement modifié), renommez le en overoBuild.sh, mettez le dans votre dossier HOME et exécutez le :
    chmod +x overoBuild.sh
    ./overoBuild.sh
    Il va installer les paquets nécessaires, configurer le système et télécharger et installer l’environnement de développement dans le dossier /home/$(USER)/overo-oe. Il contiendra alors notamment les sous-dossiers bitbake et org.openembedded.dev qui contiennent la dernière version des outils de compilation et des règles de compilation des paquets, sources dans lequel seront téléchargés les paquets, et tmp qui contiendra les fichiers générés lors de la compilation.
    Il fait en gros ce qui est décrit sur la page de Gumstix.

     

    •  Génération d’une image de base (sans Xenomai) :
    Vous pouvez alors lancer la génération des différents paquets :
    • le cross-compilateur : bitbake gcc-cross
    • le bootloader : bitbake virtual/bootloader
    • x-load : bitbake x-load
    • le noyau linux : bitbake virtual/kernel
    • l’image de base complète : bitbake omap3-console-image
    Et en attendant (c’est assez long la première fois, plusieurs heures) vous pouvez en profiter pour crâner un peu genre « Oh ! Tu fais quoi sur ton ordi ? Ah ouais c’est pas très intéressant… Nan paskeu moi je suis en train de compiler le noyau linux là…  Disons que oui, c’est sûr, il faut une certaine maitrise du paradigme de la programmation… » etc etc. Bref.

    • Installation de Xenomai :
    Les patch pour les différentes versions du noyau sont disponibles ici : http://download.gna.org/adeos/patches/. Malheureusement il n’y a pas de patch pour toutes les versions. Nous allons utiliser le noyau 2.6.35 (il y a trop de modifications à faire sur les patch pour utiliser les versions suivantes…)
    On va donc tout d’abord changer la version par défaut du noyau Linux :
    • Nettoyez les fichiers du noyau actuel : bitbake -c clean virtual/kernel
    • Ajoutez la ligne PREFERRED_VERSION_linux-omap3= »2.6.35″ au fichier ~/overo-oe/build/conf/local.conf
    • Nettoyez le cache : rm -rf $OVEROTOP/tmp/cache
    • Ajoutez les recipes pour Linux, Xenomai, et l’image de base : dossiers « linux » « xenomai » et « images » à copier dans ~/overo-oe/user.collection/recipes (créez les dossiers s’ils n’existent pas encore).

    Le fichier linux/linux-omap3_2.6.35.bb contient des commandes pour appliquer le patch ADEOS et télécharger+installer Xenomai. Le patch utilisé (situé dans linux/linux-omap3-2.6.35/overo/adeos_linux-omap3_2.6.35.patch) est une version modifiée du patch pour le noyau 2.6.35.9 (l’original ne s’appliquait pas directement).

    Pour plus d’infos sur l’installation de Xenomai ici.

    Développement sur le noyau .


    • Génération de l’image complète :
    On peut alors lancer la compilation :
    • compilation de Xenomai : bitbake xenomai
    • du kernel 2.6.35 (avec le patch adeos + xenomai) : bitbake virtual/kernel
    • et enfin l’image complète : bitbake omap3-xeno-console-image
    • Copie de l’image sur une carte microSD :
    Il ne reste plus qu’à mettre l’image générée sur une carte uSD :
    • Téléchargez le script ici et copiez le dans le dossier où se trouve l’image générée (/home/$USER/overo-oe/tmp/deploy/glibc/images/overo).
    • Branchez la carte uSD
    • Partitionnez la correctement (voir par ici par exemple)
    • Regardez le nom dans le dossier /dev à l’aide de la commande dmesg|tail ou bien ls /dev/sd*
    • Lancez le script avec le nom en paramètre, par exemple ./uSD-tools sdb

    Et c’est gagné !!

    Tags: , , , , , ,

    Reply

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>