Les commandes Linux indispensables pour l'embarqué et l'arborescence du filesystem POSIX — tout ce qu'on lance quotidiennement sur une cible Raspberry Pi, STM32MP1 ou un BSP Yocto.
/racine du système — point d'entrée de toute l'arborescence
/binexécutables essentiels (ls, cp, mv, cat...) accessibles à tous
/sbinexécutables système réservés à root (mount, ifconfig, init)
/usr/binapplications utilisateur non essentielles au boot
/usr/sbinoutils admin non essentiels au boot
/usr/libbibliothèques partagées (.so) pour /usr/bin et /usr/sbin
/etcfichiers de configuration système (fstab, hostname, network)
/etc/init.d/scripts SysV de démarrage des services (legacy)
/etc/systemd/configuration systemd (services, units, targets)
/devfichiers de périphériques — c'est ici qu'apparaissent vos drivers !
/dev/ttyS0port série UART (souvent la console debug)
/dev/i2c-1bus I2C numéro 1, accessible via ioctl
/dev/spidev0.0bus SPI 0 chip-select 0
/dev/mtd0partition Flash NOR/NAND brute
/procfilesystem virtuel — état du kernel et des processus en lecture
/proc/cpuinfoinfos CPU (modèle, cœurs, features)
/proc/meminfoétat détaillé de la RAM
/proc/devicesdrivers chargés et leurs numéros majeurs
/proc/interruptscompteur d'IRQ par CPU et par périphérique
/proc/kmsgflux des messages kernel (dmesg lit ici)
/sysfilesystem virtuel — interface kernel ↔ userspace pour drivers
/sys/class/gpiocontrôle des GPIO depuis userspace (legacy)
/sys/bus/i2c/devicespériphériques I2C détectés et leurs attributs sysfs
/sys/firmware/devicetreedevice tree actif vu par le kernel
/libbibliothèques partagées essentielles au boot (libc.so, ld-linux)
/lib/modulesmodules kernel chargeables (.ko), un dossier par version kernel
/lib/firmwarefirmwares chargés à la volée par les drivers (WiFi, GPU...)
/bootbootloader, image kernel (zImage), device tree binary (.dtb)
/homerépertoires personnels des utilisateurs (rarement utilisé en embarqué)
/roothome de l'utilisateur root
/tmpfichiers temporaires (souvent en RAM via tmpfs)
/vardonnées variables (logs, caches, spools)
/var/logtous les logs système (messages, syslog, journal)
/mntpoints de montage temporaires (USB, SD externes)
/optapplications tierces installées hors du gestionnaire de paquets
i2cdetect -y 1
Scan du bus I2C-1 — affiche les adresses des périphériques détectés.
i2cget -y 1 0x48 0x00
Lit un registre I2C. Bus 1, adresse 0x48, registre 0x00.
i2cset -y 1 0x48 0x01 0xFF
Écrit dans un registre I2C. À utiliser avec précaution sur du matériel actif.
spi-tools / spidev_test
Outils pour tester un bus SPI depuis userspace.
stty -F /dev/ttyS0 115200
Configure un port série (baudrate, parité, stop bits).
minicom -D /dev/ttyUSB0
Terminal série interactif. Alternative : screen, picocom, tio.
mount -t devtmpfs /dev /dev
Monte le filesystem devtmpfs. Pour un rootfs minimal Buildroot/Yocto.
mknod /dev/hello c 240 0
Crée manuellement un fichier device. c = character, 240 = major, 0 = minor.
fdtdump arch/.../dtb
Décompile un Device Tree Blob (.dtb) en format lisible.
devmem 0x40020000
Lit/écrit directement à une adresse physique. Pour debug bas niveau.