Aller au contenu

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.