There is a problem with udev: when a volume is created, there is a delay before corresponding /dev/ubiX_Y device node is created by udev, so some tests fail because of this. The symptom is error messages like "cannot open /dev/ubi0_0". One possible solution of this problem is to pre-create UBI device and volume nodes. there is even a script which may be used for this in ubi-utils/scripts/. But this is not enough because udev will still remove and re-create the nodes and tests will still fail. So you need to stop removing device nodes using the following udev rule: KERNEL=="ubi*_*", ACTION=="remove", OPTIONS+="ignore_device" In our Ubuntu distribution we put that to new file: /etc/udev/rules.d/50-local.rules Another possibility is to call udevsettle utility in libubi after the volume has been created See src/libubi.c - the call is there but is commented out. This is anyway an ugly hack, but works, although makes the tests slower.