Difference between revisions of "Trash Fr:Paquets Buildroot"

From ArmadeusWiki
Jump to: navigation, search
m (Ajouter un nouveau paquet / une nouvelle application dans Buildroot)
Line 1: Line 1:
=Ajouter un nouveau paquet / une nouvelle application dans Buildroot=
+
Sur cette page vous apprendrez à ajouter un nouveau paquet ou une nouvelle application dans la distribution Buildroot d'armadeus
 +
 
 +
== Travail préparatoire ==
  
 
*1] Jeter un oeil sur la mailing list Buildroot afin de s'assurer que personne n'a déjà bossé dessus
 
*1] Jeter un oeil sur la mailing list Buildroot afin de s'assurer que personne n'a déjà bossé dessus
Line 13: Line 15:
 
*6] Modifier le fichier toto.mk
 
*6] Modifier le fichier toto.mk
 
Ce Makefile contient plusieurs étapes avec à chaque fois une cible associée:
 
Ce Makefile contient plusieurs étapes avec à chaque fois une cible associée:
*) Téléchargement du soft
+
* Téléchargement du soft
*) Décompression de l'archive
+
* Décompression de l'archive
*) Patchage des sources si nécessaire
+
* Patchage des sources si nécessaire
*) configuration des sources
+
* configuration des sources
*) compilation
+
* compilation
*) installation dans le rootfs
+
* installation dans le rootfs
 
Ce makefile doit aussi contenir une cible ''toto-clean'' pour nettoyer les sources après une compile et une cible ''toto-dirclean'' afin de supprimer le répertoire toto définitivement de la compilation
 
Ce makefile doit aussi contenir une cible ''toto-clean'' pour nettoyer les sources après une compile et une cible ''toto-dirclean'' afin de supprimer le répertoire toto définitivement de la compilation
  
*7] Essayer le travail:
+
== Tester la compilation du paquet ==
 +
 
 +
Essayer le travail:
 
  $ make -C buildroot/ toto
 
  $ make -C buildroot/ toto
*8] quand ça marche, ajoute une référence à package/toto/Config.in dans buildroot/package/config.in
+
 
*9] Lancer la config buildroot:
+
Si cela fonctionne, testez votre paquet sur une plate forme armadeus. Si tout s'est bien déroulé, allez au chapitre suivant et effectuez l'integration dans buildroot.
 +
Autrement il peut être nécéssaire de faire des modifications des sources/Makefile ou autres ... Si c'est la cas, commencer par créer un répertoire contenant l'original du paquet à modifier:
 +
$ cd buildroot/build_arm
 +
$ cp -Rf toto toto.org
 +
 
 +
Faite le portage nécéssaire dans le répertoire ''toto'' pour obtenir le paquet qui va bien... Une fois ce dur labeur terminé il est probablement nécéssaire de créer un ou plusieurs patches :
 +
$  diff -rup toto.org/fichier toto/fichier > ../package/toto/toto.0.patch
 +
 
 +
Ce sont ces patches qui serons appliqués par le fichier toto.mk. Sauver tout d'abord votre travail, puis refaite le test de bon fonctionnement.
 +
$ mv toto toto.ok
 +
$ cd ../..
 +
$ make -C buildroot/ toto
 +
 
 +
Si tout va bien, effacez les repertoires buildroot/build_arm/toto.org et buildroot/build_arm/toto.ok désormais inutiles.
 +
 
 +
== Intégration du paquet dans Buildroot==
 +
 
 +
 
 +
Après avoir réussi à faire fonctionner son paquet/application, ajoutez une référence à package/toto/Config.in après avoir sauvé l'original dans buildroot/package/config.in et lancer la config buildroot:
 +
$ cp buildroot/package/config.in  buildroot/package/config.org
 
  $ make menuconfig
 
  $ make menuconfig
*10] Choisir le package dans package, sauver la config et réessayer l'install:
+
Choisir le package dans package, sauver la config et réessayer l'install:
 
  $ make toto-dirclean
 
  $ make toto-dirclean
  $ make
+
  $ make  
 +
 
 +
Une fois que tout cela fonctionne, il ne reste plus qu'à créer le patch de configuration de buildroot:(fichier buildroot/package/Config.in) avec la même méthode que précédement
 +
 
 +
$ diff -rup buildroot/package/config.org  buildroot/package/config.in > patches/numero_buildroot_nompaquet.diff
 +
 
 +
== Ajouter le nouveau paquet à la distribution ==
 +
 
 +
Il faut donc rajouter tous les fichiers crées dans buildroot/package/toto sous SVN, ainsi que le patch de configuration de buildroot
 +
 
 +
$ svn add -N fichiers
 +
 
 +
 
 +
Eventuellement, testez une vue toute neuve ! ......

Revision as of 15:55, 15 May 2008

Sur cette page vous apprendrez à ajouter un nouveau paquet ou une nouvelle application dans la distribution Buildroot d'armadeus

Travail préparatoire

$ mkdir buildroot/package/toto
  • 4] Dans ce répertoire créer un fichier Makefile "toto.mk" et un fichier de configuration "Config.in". Pour ces fichiers s'inspirer par exemple de ceux présent dans le package sdl/
  • 5] Modifier le fichier Config.in afin qu'il corresponde à la description du package Toto:


  • 6] Modifier le fichier toto.mk

Ce Makefile contient plusieurs étapes avec à chaque fois une cible associée:

  • Téléchargement du soft
  • Décompression de l'archive
  • Patchage des sources si nécessaire
  • configuration des sources
  • compilation
  • installation dans le rootfs

Ce makefile doit aussi contenir une cible toto-clean pour nettoyer les sources après une compile et une cible toto-dirclean afin de supprimer le répertoire toto définitivement de la compilation

Tester la compilation du paquet

Essayer le travail:

$ make -C buildroot/ toto

Si cela fonctionne, testez votre paquet sur une plate forme armadeus. Si tout s'est bien déroulé, allez au chapitre suivant et effectuez l'integration dans buildroot. Autrement il peut être nécéssaire de faire des modifications des sources/Makefile ou autres ... Si c'est la cas, commencer par créer un répertoire contenant l'original du paquet à modifier:

$ cd buildroot/build_arm
$ cp -Rf toto toto.org 

Faite le portage nécéssaire dans le répertoire toto pour obtenir le paquet qui va bien... Une fois ce dur labeur terminé il est probablement nécéssaire de créer un ou plusieurs patches :

$  diff -rup toto.org/fichier toto/fichier > ../package/toto/toto.0.patch

Ce sont ces patches qui serons appliqués par le fichier toto.mk. Sauver tout d'abord votre travail, puis refaite le test de bon fonctionnement.

$ mv toto toto.ok
$ cd ../..
$ make -C buildroot/ toto

Si tout va bien, effacez les repertoires buildroot/build_arm/toto.org et buildroot/build_arm/toto.ok désormais inutiles.

Intégration du paquet dans Buildroot

Après avoir réussi à faire fonctionner son paquet/application, ajoutez une référence à package/toto/Config.in après avoir sauvé l'original dans buildroot/package/config.in et lancer la config buildroot:

$ cp buildroot/package/config.in  buildroot/package/config.org
$ make menuconfig

Choisir le package dans package, sauver la config et réessayer l'install:

$ make toto-dirclean
$ make 

Une fois que tout cela fonctionne, il ne reste plus qu'à créer le patch de configuration de buildroot:(fichier buildroot/package/Config.in) avec la même méthode que précédement

$ diff -rup buildroot/package/config.org  buildroot/package/config.in > patches/numero_buildroot_nompaquet.diff

Ajouter le nouveau paquet à la distribution

Il faut donc rajouter tous les fichiers crées dans buildroot/package/toto sous SVN, ainsi que le patch de configuration de buildroot

$ svn add -N fichiers


Eventuellement, testez une vue toute neuve ! ......