Compiler SHR

De openmoko-fr.

Pour compiler SHR, vous devez tout d'abord prévoir pas mal de place sur votre disque (FIXME: Combien ?) et pas mal de patience.

Ce tutoriel était basé sur cette page http://shr.bearstech.com/trac/wiki/Bulding%20SHR cette page semble maitenant se situer sur le site shr-project.org : [1]

Sommaire

Dépendances

Toute la génération de l'image est simplifiée et peu d'intervention de votre part sera nécessaire. Avant de commencer, vous devez installer les paquets suivant

git-core subversion curl help2man diffstat texi2html texinfo gawk

à l'aide de votre gestionnaire préféré

Télécharger les données de départ

Créez un répertoire et allez dedans (attention il faut de la place! après quelques compilations mon répertoire fait 13Go.)

puis téléchargez le makefile :

wget http://shr.bearstech.com/Makefile

Puis lancez le téléchargement des données

make setup

Configurer

Vous pouvez configurer les variables d'environnement selon votre souhait. Dans le fichier 'shr-testing/conf/local.conf' ou 'shr-unstable/conf/local.conf' en fonction de l'image que vous voulez créer, vous trouverez tous les réglages que vous pouvez apporter.

Créer l'image

Allez dans le dossier voulu 'shr-core' , 'shr-testing' ou 'shr-unstable' et lancer

bitbake shr-image

ou

bitbake shr-lite-image

Armez vous de patience la compilation initiale de la shr est très longue.

Mes tests shr-lite image shr-core avec un i7 2GHz/4Gb ram Debian unstable (4 bbtasks et -j4) : > 3 heures

(date 17/08/2011) mes tentatives avec shr-testing et sh-unstable se sont soldées par des problèmes de compilation.

Seule la shr-core compile sans difficultés.

Autres informations obtenues sur irc :

Tous les nouveaux développement sont fait dans shr-core

Pentium Dual-Core 2GHz shr-lite image shr-core : 1,5 jour

amd II X2 260 shr-lite-image : 5 hours (4 bbtasks et -j4)

En cas de problème

Si vous avez une erreur de ce style

/proc/sys/vm/mmap_min_addr is not 0. This will cause problems with qemu so please fix the value (as root).

Essayez donc ça ;)

echo 0 | sudo tee /proc/sys/vm/mmap_min_addr

La suite? BitBake!

Ensuite c'est bien beau d'avoir monté l'environnement mais comment faire pour cross-compiler son application?

Et bien une bonne idée c'est de faire une recette bitbake

c'est relativement simple et à le charme de permet une intégration très facile dans SHR une fois que vous jugez votre application distribuable

(il suffira d'envoyer la recette sur la Mailing List d'SHR-devel) (exemples de recettes pour du code Qt http://git.senfdax.de/?p=oe_recipes;a=tree )