Comment nettoyer uniquement la cible dans buildroot

J’ai foiré des fichiers dans la cible fs. Donc, je voudrais le remonter. Mais ne reconstruisez pas tout.

make clean efface simplement toutes les sorties, + construit le répertoire. Quelle commande utiliser pour supprimer uniquement le répertoire cible et tous les fichiers .stamp_some_step associés de manière récursive via output / build / structure, obligeant buildroot à réassembler le système de fichiers en fonction de la configuration actuelle, sans reconstruire toutes les bibliothèques et tous les binarys?

Les pistes Buildroot progressent avec .stamp_xxx dans chaque répertoire de construction de paquet. L’installation cible est en fait la dernière étape pour chaque package. La suppression du fichier .stamp_target_installed de chaque répertoire de construction du paquet entraînerait sa réinstallation sur la cible.

Dans le dernier buildroot, vous pouvez simplement faire ce qui suit:

 rm -rf output/target find output/ -name ".stamp_target_installed" |xargs rm -rf 

Dans certains buildroot plus anciens, il y a quelques autres fichiers en sortie qui suivent la création du répertoire cible avec le squelette. Je me souviens qu’il y a un fichier commençant par .root, mais que je ne peux pas retenir le nom exact, supprimez-le si vous le voyez.

et puis simplement faire à nouveau.

Buildroot a des cibles de fabrication spéciales pour nettoyer le répertoire de construction pour des paquetages spécifiques, mais cela ne touche aucun des fichiers installés. Pour citer le manuel d’utilisation :

Lorsqu’un paquet est supprimé de la configuration, Buildroot ne fait rien de spécial. Il ne supprime pas les fichiers installés par ce package du système de fichiers racine cible ou de la chaîne d’outils sysroot. Une reconstruction complète est nécessaire pour se débarrasser de ce package. Cependant, vous n’avez généralement pas besoin de supprimer ce package pour le moment: vous pouvez attendre la prochaine pause déjeuner pour redémarrer le build à partir de zéro.

Cela dit, vous pouvez supprimer les fichiers de compilation pour un package spécifique en exécutant make -dirclean . Par exemple, si je voulais supprimer les fichiers de i2c-tools pour i2c-tools , je lancerais make i2c-tools-dirclean . La cible -dirclean exécute simplement un rm -rf sur le rm -rf output/build/ . Cela ne supprimera pas les fichiers installés de output/target/ . Si vous voulez supprimer les fichiers de vos rootfs sans une reconstruction complète, c’est bien – vous pouvez simplement aller dans output/target/ , enregistrer les fichiers que vous ne voulez plus, puis exécuter make pour régénérer vos images finales. Assurez-vous que votre configuration Buildroot n’est pas non plus configurée pour reconstruire et installer le package que vous essayez de supprimer.