error!: "/dev/ubi0" is not a character device ?!?

Artem Bityutskiy dedekind1 at gmail.com
Fri Jul 30 02:23:09 EDT 2010


On Mon, 2010-07-26 at 15:49 +0200, Arno Steffen wrote:
> > Your udev rules, perhaps? Creating device nodes is responsibility of
> > your system, not UBI/ubi-utils.
> 
> My mtd8 is a character device as it should be.
> crw-rw----    1 root     root      90,  16 Jan  1 00:00 /dev/mtd8
> 
> I don't know who is creating the device node, but it is avauilable
> after ubiattach.
> If it is done by udev - how to control it and change it's behaviour?
> I can delete the device node and create one manually as described by
> free_electrons.

When UBI registers character devices, the generic linux chdev code sends
an uevent to user-space. This uevent event contains the information
about what was created, major/minor of that, etc.

In user-space there is udevd, which is listening on a netlink socket,
and handles the uevents. There are udev rules which describe how to
handle events, the rules are usually at /etc/udev/rules.d/

So, I suspect that one of your rules is screwed.

You should use udevmonitor and take a look at the events and how they
are handled. And google a bit, perhaps. udev has nothing to do with UBI.
And I do not know much about udev.

> cat /sys/class/ubi/ubi0/dev (e.g. 253:0)
> mknod /dev/ubi0 c 253 0

This looks correct

> Calling ubimkvol then creates a lot of other errors. (see below)

This is strange.

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)




More information about the linux-mtd mailing list