ZaurusFr le Wiki v2

Bien débuter avec OpenEmbedded

Working in progres... dernière version dispo sur le site de Titeuf

1 - Pre-requis

Pour pouvoir tater d'OpenEmbedded, vous devez avoir :

Prevoyez egalement 3,5 a 4 Go d'espace disque si comme moi, vous "oubliez" de faire les clean apres les compil...

2 - Recuperation de BitKeeper et de GCC-CROSS

Avant de commencer, il faut recuperer BitKeeper, l'outil qui permettra de telecharger l'arborescence OE BitKeeper se trouve en telechargement ici

Vous devez donner votre adresse e-mail. Vous recevrez alors un mail indiquant la marche a suivre Prenez garde a bien telecharger la version correspondant a votre systeme !

Il faut egalement recuperer une chaine de compilation vous permettant de compiler, sur votre ordinateur, des application pour notre PDA favori. Telechargez donc gcc-cross. A l'heure ou j'ecris cette page, la version courante est la 3.3.1

3 - Preparation de l'arboscence de travail et installation de GCC-Cross et BitKeeper

Personnellement, je travaille dans le repertoire /opt pour OpenEmbedded, mais chacun est libre de mettre tout ca ou il veut ! J'installe aussi bien GCC-Cross que BitKeeper a cet endroit, mais il est plus "standard" de les mettre dans /usr/local... Quoi qu'il en soit, c'est ma doc, donc je travail avec ma methode a moi !

Creez donc les repertoires suivants :

Installez a present BitKeeper et GCC-Cross :

4 - Installation de OpenEmbedded

Allez dans le repertoire /opt/zaurus (je pense que vous y etes deja en fait) et tapez les commandes suivantes :

  bk clone http://openembedded.bkbits.net:8080/oe oe
  cd oe
  bk -r co -q
  cd ..
  bk clone http://openembedded.bkbits.net:8080/packages packages
  cd packages
  bk -r co -q
  cd ..

5 - Configuration de OpenEmbedded

Pour cela, il suffit de creer 2 fichiers :

/opt/zaurus/oe/conf/local.conf :

  DL_DIR=/opt/zaurus/downloads
  DEPLOY_DIR_IPK=/opt/zaurus/ipks

/opt/zaurus/packages/conf/local.conf :

  TARGET_ARCH=arm
  DL_DIR=/opt/zaurus/downloads
  DEPLOY_DIR_IPK=/opt/zaurus/ipks
  OEFILES=/opt/zaurus/packages/*/*.oe

6 - Configuration du reste de l'environnement

Creez le script executable /opt/zaurus/update.sh (il permettra par la suite de mettre a jour OE...)

  #!/bin/bash
  cd oe
  bk -r co -q
  cd ../packages
  bk -r co -q
  cd ..

Creez le script /opt/zaurus/source.env

  export RACINE="/opt/zaurus"
  export OEDIR="$RACINE/oe"
  export PATH="$RACINE/gcc/bin:$OEDIR/bin:$PATH"

Dans le repertoire /opt/zaurus/oe/bin, telechargez le fichier http:www.mn-logistik.de/unsupported/pxa250/patcher et rendez-le executable. C'est un outil de patch necessaire a la compilation de certains packages.

7 - Correction de certains "bugs" existants aujourd'hui (25/10/2003)

Copiez le fichier "patcher" dans /opt/zaurus/downloads (un bug ? empeche son telechargement par oebuild...)

Allez dans le repertoire /opt/zaurus/packages/base-files et copiez le fichier base-files_3.0.10.oe sous le nom base-files_3.0.11.oe Modifiez ce nouveau fichier (ligne SRC_URI :=...) afin de faire correspondre la version (3.0.10 -> 3.0.11). En effet, la version 3.0.10 n'est plus disponible au telechargement.

Creez le repertoire (mkdir -p) /opt/zaurus/packages/tmp/staging/share/aclocal-1.7 Creez un lien symbolique entre aclocal-1.7 et aclocal dans le meme repertoire (le lien n'est pas fait par oebuild :(

Creez le repertoire (mkdir -p) /opt/zaurus/packages/tmp/staging/share/automake-1.7 Creez un lien symbolique entre automake-1.7 et automake dans le meme repertoire (le lien n'est pas fait par oebuild :(

Creez un lien symbolique entre /opt/zaurus/packages/ipkg-utils/ipkg-utils_1.0_cvs.oe et ipkg-utils_1.0.oe En effet, ipkg-utils-native herite de ipkg-utils pour se construire et le "_cvs" n'est pas pris en compte par oebuild

Telechargez http:www.freedesktop.org/software/pkgconfig/releases/pkgconfig-0.15.0.tar.gz dans /opt/zaurus/downloads Il faudra que je prenne le temps de regarder pourquoi le telechargement ne se fait pas sur mon pc (je pense que c'est un problème de ftp passif, j'ai le problème pour d'autres fichiers également... il suffit de les télécharger à la main et tout rentre dans l'ordre)

8 - Avant de commencer a "jouer" avec OpenEmbedded

Il faut commencer par construre quelques outils de base pour pouvoir construire le reste... Voici "betement" la recette de cuisine a suivre :

  cd /opt/zaurus
  source source.env
  cd oe
  oebuild oe.oe
  cd ../packages
  oebuild autoconf/autoconf-native_2.57.oe
  oebuild automake/automake-native_1.7.7.oe
  oebuild fakeroot/fakeroot-native_0.7.8.oe
  oebuild genext2fs/genext2fs-native_1.3.oe
  oebuild ipkg/ipkg-native_0.99.95.oe
  oebuild ipkg-utils/ipkg-utils-native_1.0_cvs.oe
  oebuild mtd/mtd-native.oe

A chaque fois que vous voudrez "jouer" avec OpenEmbedded, il faudra commencer par les commandes suivantes :

  cd /opt/zaurus
  ./update.sh (si vous voulez mettre a jour votre arborescence)
  source source.env
  cd packages

Pour construire un package, la demarche est toujours la meme. Voici un exemple avec le package cvs :

En cas de probleme (sisi, vous en aurez !) une aide tres utile se trouve dans les fichiers de log Ces fichiers se trouvent dans le repertoire de construction du package Pour l'exemple de cvs, les fichiers seront dans : /opt/zaurus/packages/tmp/base/cvs-1.11.6-r0/temp

9 - Enjoy !

Good Luck !

Afficher les commentaires (0)