2017-04-09 2 views
0

Je voulais faire de l'espace libre et supprimer tous les répertoires dans build/tmp/deploy/rpm /, pensant que yocto le détecterait et les recréer lors de l'appel bitbake suivant ... était une erreur ! :(Yocto: commande bitbake pour régénérer tous les fichiers RPM

est ici l'erreur de bitbake juste au cas où:

bitbake <image_name> 
[...] 
ERROR: ... do_rootfs: minicom not found in the base feeds (<image_name> corei7-64-intel-common corei7-64 core2-64 x86_64 noarch any all). 
[...list of every package...] 

Est-il possible de forcer la régénération de tous les rpms utilisant bitbake Obliger la régénération avec bitbake -f -c package_write_rpm <package> œuvres, mais je ne trouve pas la? commande de le faire à la fois

J'ai essayé de nettoyer l'état des paquets natifs rpm pensant qu'il pourrait détecter et invalider les états des fichiers rpm, mais pas de chance.

bitbake -f -c cleanall nativesdk-rpm nativesdk-rpmresolve rpmresolve-native rpm-native 
bitbake <image_name> 

J'ai aussi pensé que cela fonctionnerait, mais il n'a pas:

bitbake -f -c package_write_rpm <image_name> 

Je vais essayer de pirater quelque chose avec bitbake-layers show-recipes et xargs, mais il serait cool d'avoir une commande bitbake appropriée. J'utilise le Yocto 2.1 (Krogoth).

Merci!

Répondre

0

je fini par faire le script suivant et utiliser bitbake arbre de dépendance pour obtenir la liste des paquets (grâce à ce yocto/bitbake reference page):

# bitbake -g <image> && cat pn-depends.dot | grep -v -e '-native' | grep -v digraph | grep -v -e '-image' | awk '{print $1}' | sort | uniq | grep -v "}" | grep -v cross | grep -v gcc | grep -v glibc > packages-list.txt 
# cat packages-list.txt | xargs bitbake -f -c package_write_rpm 

Peut-être il y a une solution plus simple? Pour l'instant cela a fonctionné.