J'ai un répertoire de fichiers 'binaires' (c'est-à-dire à ne pas compiler) et je veux juste qu'ils soient installés sur mon système de fichiers racine cible.
J'ai examiné plusieurs articles, dont aucun ne semble fonctionner pour moi.
La fonctionnalité souhaitée de cette recette est:
myRecipe/myFiles/-> myRootFs/dir/to/install
Ma tentative actuelle est:
SRC_URI += "file://myDir"
do_install() {
install -d ${D}/path/to/dir/on/fs
install -m ${WORKDIR}/myDir ${D}/path/to/dir/on/fs
}
Je ne peux pas me plaindre de la documentation de Yocto, c'est vraiment bien! Je n'arrive pas à trouver un exemple de ce genre!
Il vous suffit de copier ces fichiers dans votre rootfs cible. N'oubliez pas de les emballer s'ils ne sont pas installés dans des emplacements standard.
SRC_URI += "file://myDir"
do_install() {
install -d ${D}/path/to/dir/on/fs
cp -r ${WORKDIR}/myDir ${D}/path/to/dir/on/fs
}
FILES_${PN} += "/path/to/dir/on/fs"
Pour un dossier de recette comme celui-ci:
.
├── files
│ ├── a.txt
│ ├── b.c
│ └── Makefile
└── myrecipe.bb
Vous pouvez utiliser la recette suivante pour l'installer dans un dossier spécifique de votre rootfs:
SRC_URI = " file://*"
do_install() {
install -d ${WORKDIR}/my/dir/on/rootfs
install -m 0755 ${S}/* ${WORKDIR}/my/dir/on/rootfs/*
}
FILES_${PN} = "/my/dir/on/rootfs/* "
Je pense que cela n’a pas fonctionné car vous avez oublié d’ajouter de la valeur en mode, après "install -m",
voir la page de manuel de la commande install: https://linux.die.net/man/1/install
install -m [mode] src destination