Référence des commandes
Chaque commande propose --help. Les analyses lisent le répertoire de build courant ou --build-dir DIR (mémorisé). Les commandes de projet utilisent le projet courant ou --project DIR.
Diagnostiquer et réparer
| Commande | Fonction | Exemple |
|---|---|---|
fix |
Réparer une tâche en échec : correctif pour votre layer, appliqué après confirmation, tâche relancée ; sans échec, appliquer la modification proposée par ask ou explain | yocman fix |
explain |
Expliquer le dernier échec de build sans rien modifier ; le correctif trouvé est gardé pour yocman fix | yocman explain |
ask |
Poser une question sur votre projet ; une modification trouvée dans une recette est gardée pour yocman fix | yocman ask "how do I add a systemd service?" |
context |
Afficher la release, la machine, la distro et les layers détectés, hors ligne | yocman context |
login |
Enregistrer votre clé d'API et la vérifier auprès du service | yocman login |
Quand ask ou explain trouve une modification dans vos layers, elle est conservée pour ce répertoire de build pendant 14 jours. Sans tâche en échec, yocman fix applique le diff enregistré sans nouvel appel IA puis vérifie la tâche après confirmation, ou bitbake -e. yocman fix --list liste les propositions, --proposal ID en sélectionne une, --discard ID la supprime et yocman fix RECIPE limite la sélection. Les tâches en échec sont prioritaires. fix, explain et ask acceptent --dry-run pour afficher les données sans les envoyer.
Analyser le build
| Commande | Fonction | Exemple |
|---|---|---|
doctor |
Lister les sources de données du dossier de build et comment activer celles qui manquent | yocman doctor |
rules |
Lister toutes les règles d'analyse avec leur identifiant, catégorie et sévérité | yocman rules --category size |
conf |
Vérifier local.conf, bblayers.conf, auto.conf et site.conf | yocman conf |
layers check |
Vérifier les layers de bblayers.conf : absents, en double, incompatibles avec la release, .bbappend orphelins | yocman layers check |
deps |
Arbre de dépendances d'un paquet, à l'exécution ou à la compilation, et qui en dépend | yocman deps openssl --reverse |
why |
Pourquoi un paquet est dans l'image : les chaînes depuis IMAGE_INSTALL | yocman why busybox |
provides |
Quel paquet installe un fichier donné dans l'image | yocman provides /usr/bin/scp |
unused |
Paquets candidats au retrait, à examiner | yocman unused |
orphans |
Recettes construites qui n'arrivent jamais dans l'image | yocman orphans |
duplicates |
Fonctionnalités en double dans l'image, comme deux serveurs SSH | yocman duplicates |
size |
Taille de l'image par paquet, fichier et catégorie ; size diff compare deux builds | yocman size diff ../build-old |
buildtime |
Tâches et recettes les plus longues d'après buildstats, et le parallélisme effectif | yocman buildtime |
sstate |
Réutilisation du sstate, et les recettes reconstruites à chaque build | yocman sstate |
boot |
Temps de démarrage de la cible d'après systemd-analyze blame et critical-chain | yocman boot --log blame.txt |
Sécurité et conformité
| Commande | Fonction | Exemple |
|---|---|---|
audit |
Audit complet de sécurité et de conformité, avec un score par catégorie | yocman audit --fail-on high |
cve |
CVE non corrigées d'après le rapport cve-check, par CVSS ; cve diff compare deux builds | yocman cve diff old.json |
secrets |
Clés, jetons et mots de passe embarqués dans le rootfs et les layers, jamais affichés | yocman secrets |
users |
Comptes : mots de passe vides, UID 0 en trop, hachages faibles, shells de connexion | yocman users |
perms |
Permissions : setuid, fichiers modifiables par tous, fichiers sensibles, propriétaires inconnus | yocman perms |
services |
Services actifs au démarrage, services réseau non sûrs, réglages SSH et de débogage | yocman services |
kernel-audit |
Le .config du noyau comparé à une liste de durcissement | yocman kernel-audit |
licenses |
Licences GPLv3, propriétaires ou ambiguës, et obligations de fourniture des sources | yocman licenses |
sbom |
Présence du SBOM SPDX et cohérence avec l'image | yocman sbom |
cra report |
Préparation au Cyber Resilience Act : les preuves côté build issues de cve, secrets, sbom, licenses et kernel, mappées sur les domaines d'exigences du CRA | yocman cra report --format md -o cra.md |
Démarrer un projet
| Commande | Fonction | Exemple |
|---|---|---|
init |
Créer un projet kas pour une carte et une release vérifiées ; --describe laisse l'IA préremplir les choix | yocman init --board rpi4-64 --release scarthgap |
add |
Ajouter une fonctionnalité (SSH, Wi-Fi, Qt 6, Docker…) avec un diff à confirmer et un commit | yocman add qt6 |
remove |
Retirer une fonctionnalité, refusé tant qu'une autre en a besoin | yocman remove wifi |
build |
Construire l'image avec une progression en direct : phase, tâches en cours, temps restant | yocman build |
shell |
Ouvrir un shell avec l'environnement bitbake, sur l'hôte ou dans le conteneur | yocman shell |
env |
Vérifier et basculer l'environnement de build entre hôte et conteneur, mettre à jour l'image kas | yocman env use container |
flash |
Écrire l'image sur une carte SD ou une clé USB, disques amovibles uniquement, avec confirmation tapée | yocman flash --device /dev/sdb |
Sortie et CI
Les analyses acceptent --format terminal|json|md, -o FILE, --fail-on LEVEL et --no-ai. Codes : 0 succès, 1 constat au seuil choisi ou au-dessus, 2 source manquante ou erreur. --no-ai évite le réseau. env check vérifie les environnements, env use bascule hôte/conteneur et env update-image propose la dernière image kas.