no space left on device
Symptom
A firmware download or install step fails partway through. journalctl -u soc-ota-agent shows:
no space left on deviceThe deployment stays in failed state in the console.
Cause
The agent downloads firmware artifacts (.mender files, often 100–500 MB) to the device’s data store at /var/lib/otapulse/ before writing to the inactive A/B partition. The partition holding that path — or the target root partition itself — is full. Stale state from previous failed deployments can accumulate here.
Fix
On the device, check available space:
df -h /var/lib/otapulse/du -sh /var/lib/otapulse/*Clear incomplete or stale download state left by a previous failed deployment:
# The agent manages its own state files; removing stale module work directories is safe# Check what is consuming space firstls -lh /var/lib/otapulse/
# Remove stale update module working directories if presentrm -rf /var/lib/otapulse/modules/v3/*/workAlso verify the inactive root partition is not full:
# Find which partition is currently inactive and check its sizesoc-ota-agent show-artifactdf -h /dev/mmcblk0p2 /dev/mmcblk0p3 # adjust to your actual partition pathsFor a permanent fix on Yocto-built images, increase the root partition size in the WKS file for your board and rebuild the image. For Buildroot, adjust the BR2_TARGET_ROOTFS_EXT2_SIZE config option.