2017-08-21 5 views
0

J'ai réussi à construire une image Yocto de framboise pi en utilisant les instructions ici: http://www.jumpnowtek.com/rpi/Raspberry-Pi-Systems-with-Yocto.html. Lorsque le système démarre, je vois l'écran de démarrage psplash par défaut d'un Raspberry Pi avec une barre de chargement.Yocto Raspberry Pi Changer l'image de psplash

La couche meta-raspberrypi a un fichier de recette psplash bbappend qui définit l'image pi de framboise vue au démarrage du système.

[email protected]:~/poky-morty/meta-raspberrypi$ grep -R SPLASH * 
conf/machine/include/rpi-base.inc:SPLASH = "psplash-raspberrypi" 
recipes-core/images/rpi-basic-image.bb:SPLASH = "psplash-raspberrypi" 
recipes-core/psplash/psplash_git.bbappend:SPLASH_IMAGES += "file://psplash-raspberrypi-img.h;outsuffix=raspberrypi" 

La variable VEILLE dpi-base.inc définit l'écran de démarrage à utiliser (je crois que ...) et le fichier de psplash_git.bbappend prétend l'image avec le suffixe correspondant à des pi de framboise.

Le bbappend ressemble à ceci:

[email protected]:~/poky-morty/meta-raspberrypi$ cat recipes-core/psplash/psplash_git.bbappend 
FILESEXTRAPATHS_prepend := "${THISDIR}/files:" 
SPLASH_IMAGES += "file://psplash-raspberrypi-img.h;outsuffix=raspberrypi" 

J'ai une couche personnalisée et j'ai fait une autre psplash_git.bbappend dans cette couche avec le contenu suivant - tenter de remplacer l'image utilisée pour l'écran de démarrage de pi framboise ma propre image:

[email protected]:~/rpi/meta-me/recipes-me/psplash$ cat psplash_git.bbappend 
FILESEXTRAPATHS_prepend := "${THISDIR}/files:" 
SPLASH_IMAGES += "file://social.jpg-img.h;outsuffix=raspberrypi" 

Si je tente de construire mon image avec mon bbappend personnalisé inclus, je reçois l'erreur suivante:

Initialising tasks: 100% |##################################| Time: 0:00:05 
NOTE: Executing SetScene Tasks 
NOTE: Executing RunQueue Tasks 
ERROR: psplash-0.1+gitAUTOINC+88343ad23c-r15 do_package: QA Issue: psplash-raspberrypi is listed in PACKAGES multiple times, this leads to packaging errors. [packages-list] 
ERROR: psplash-0.1+gitAUTOINC+88343ad23c-r15 do_package: Fatal QA errors found, failing task. 
ERROR: psplash-0.1+gitAUTOINC+88343ad23c-r15 do_package: Function failed: do_package 
ERROR: Logfile of failure stored in: /home/me/rpi/build/tmp/work/arm1176jzfshf-vfp-poky-linux-gnueabi/psplash/0.1+gitAUTOINC+88343ad23c-r15/temp/log.do_package.63289 
ERROR: Task (/home/me/poky-morty/meta/recipes-core/psplash/psplash_git.bb:do_package) failed with exit code '1' 
NOTE: Tasks Summary: Attempted 3439 tasks of which 3430 didn't need to be rerun and 1 failed. 

Je reçois la même erreur (cible en double) si je change la valeur par défaut.

Je peux contourner cette erreur en changeant mon bbappend à ceci:

[email protected]:~/rpi/meta-me/recipes-me/psplash$ cat psplash_git.bbappend 
FILESEXTRAPATHS_prepend := "${THISDIR}/files:" 
SPLASH_IMAGES += "file://social.jpg-img.h;outsuffix=me" 

Et puis-je essayer de passer outre la variable de configuration SPLASH dans mon local.conf comme ceci:

# Set the Custom Splash screen 
SPLASH = "psplash-me" 

Mais peu importe ce que je semble faire, il rend toujours le Raspberry Pi par défaut.

Comment puis-je remplacer l'écran de démarrage psplash par défaut avec ma propre image? Merci.

+0

Cette question est probablement mieux demandé sur [** Raspberry Pi ** StackExchange] (http://raspberrypi.stackexchange.com/). Bien que ce soit un appel de jugement puisque c'est tangentiellement codé lié. –

Répondre

1

Le nom du fichier doit correspondre au format psplash-%s%s est raspberrypi donc le moyen le plus rapide est de changer votre social.jpg-img.h-psplash-raspberrypi-img.h et l'écraser sur le psplash.bbappend de Raspberry Pi d'origine.

Voici comment obtenir la variable outsuffix;

for uri in splashfiles: 
     fetcher = bb.fetch2.Fetch([uri], d) 
     flocal = os.path.basename(fetcher.localpath(uri)) 
     fbase = os.path.splitext(flocal)[0] 
     outsuffix = fetcher.ud[uri].parm.get("outsuffix") 
     if not outsuffix: 
      if fbase.startswith("psplash-"): 
       outsuffix = fbase[8:] 
      else: 
       outsuffix = fbase 
      if outsuffix.endswith('-img'): 
       outsuffix = outsuffix[:-4] 
     outname = "psplash-%s" % outsuffix 
     if outname == '' or outname in oldpkgs: 
      bb.fatal("The output name '%s' derived from the URI %s is not valid, please specify the outsuffix parameter" % (outname, uri)) 
     else: 
      pkgs.append(outname) 
     if flocal.endswith(".png"): 
      haspng = True 
     localpaths.append(flocal) 

SPLASH_IMAGES est essentiellement carte de fichiers qui a clé avec outsuffix.

SPLASH_IMAGES = "file://splash-file-one.h;outsuffix=one \ 
         file://splash-file-two.h;outsuffix=two" 

Cela va créer automatiquement des paquets psplash- pour chaque démarrage entrée d'image (à savoir psplash-un et psplash-deux).Au lieu d'utiliser default, raspberrypi offre une alternative pour choisir l'image de démarrage dans la configuration de la machine; Ce lien donne plus d'informations https://lists.yoctoproject.org/pipermail/yocto/2013-May/013902.html

+# Set raspberrypi splash image 
+SPLASH = "psplash-raspberrypi" 
diff --git a/recipes-core/psplash/psplash_git.bbappend b/recipes-core/psplash/psplash_git.bbappend 
index eea8dfb..65dc30f 100644 
--- a/recipes-core/psplash/psplash_git.bbappend 
+++ b/recipes-core/psplash/psplash_git.bbappend 
@@ -1,2 +1,2 @@ 
FILESEXTRAPATHS_prepend := "${THISDIR}/files:" 
-SPLASH_IMAGES = "file://psplash-raspberrypi-img.h;outsuffix=default" 
+SPLASH_IMAGES += "file://psplash-raspberrypi-img.h;outsuffix=raspberrypi" 
-- 
1.8.2.2