summaryrefslogtreecommitdiff
path: root/ubi-utils/tests/README.udev
blob: a4ff9c548d5f31cb456c694803f2033b697ead97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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.