Yocto à l'aide .bbappend fichier à remplacer l'écriture de défaut des scripts d'initialisation pour initramfs
Je suis en train d'écrire un .bbappend
fichier qui s'ajoute à la initramfs-live-boot_1.0.bb
qui a une déclaration à l'intérieur de la do_install()
qui écrit le contenu de init-live.sh
, un script shell qui gère la procédure de démarrage, à init
, une phase d'initialisation de script qui s'exécute au démarrage. Le but de mon .bbappend
fichier est de faire référence à une version modifiée du script de démarrage de l'être copié à la place de l'origine sans modification de la base de openembedded-core
et/ou poky
environnements. Le .bbappend
fichier et ma version du script est donc mis dans mon répertoire de projet avec le reste de mes propres recettes à être construit.
Mon initramfs-live-boot_1.0.bbappend
ressemble à ceci:
SUMMARY = "Replacement recipe"
FILESEXTRAPATH_prepend := "${THISDIR}/files:"
SRC_URI += "file://init.sh"
do_install_append() {
install -m 0755 ${WORKDIR}/init.sh ${D}/init
}
J'ai un dossier files
dans le même répertoire que le .bbappend
fichier qui contient le init.sh
script, ça devrait le lire.
Le problème, c'est quand j'essaie de construire l'image, il recrache cette erreur:
WARNING: Failed to fetch URL file://init.sh, attempting MIRRORS if available
et tente une recherche par le biais de la poky
répertoire pour les fichiers manquants plutôt que dans mon répertoire de projet.
Je vous ai écrit mon .bbappend
fichier de mal? Comment pourrais-je aller sur la modification de la initramfs
scripts à l'aide de la .bbappend
fichier?
Vous devez vous connecter pour publier un commentaire.
FILESEXTRAPATH_prepend := "${THISDIR}/files:"
devrait êtreFILESEXTRAPATHS_prepend := "${THISDIR}/files:"
. Remarque la dernière S dansFILESEXTRAPATHS
.Qui devrait le faire fonctionner pour vous.
Une autre amélioration serait de renommer vous fichier fichier de
init.sh
àinit-live.sh
. I. e. utiliser le même nom que le fichier original dans leinitramfs-live-boot
recette. Qui vous permettra de retirer votredo_install_append()
-la fonction ainsi que leSRC_URI += "file://init.sh"
de la bbappend. La recette elle-même serait en mesure de gérer pour vous. Ainsi, la seule ligne que vous avais réellement besoin est laFILESEXTRAPATHS_prepend := "${THISDIR}/files:"
..bbappend
estFILESEXTRAPATHS_prepend := "${THISDIR}/files:"
?init-live.sh
, tout comme le fichier d'origine.