[oe] initscripts ignores IMAGE_DEVICE_TABLES and installs it's own table

Sergey 'Jin' Bostandzhyan jin at mediatomb.cc
Tue Jan 8 15:15:25 UTC 2008


Hi,

after being too annoying about this on IRC it was suggested that I write
to the mailinglist :>

I already submitted a bug report regarding this:
http://bugs.openembedded.org/show_bug.cgi?id=3593

Here is the problem:
I am using a custom Angstrom-2007 based distro, I use a static dev table (no
udev and no devfs). 

I defined a custom device table file in my machine conf by setting the
IMAGE_DEVICE_TABLES variable appropriately.

>From what I can see, image.bbclass makes use of this variable when creating the
rootfs. However, the initscripts_1.0.bb package has it's own device_table.txt
version (located in initscripts-1.0/device_table.txt).

This file gets installed to /etc/device_table on the target. I guess it does
not matter when udev takes over, but remember - I am using a static dev; so in
my case the init.d/devices script checks what is used, it first looks for udev,
then for devfs, does not find those and finally populates /dev with
device_table from /etc/device_table which was installed by initscripts.

It did cost me quite some time to figure out where all those dev entries
were coming from, so it would be nice to have this fixed in a clean way.

Unfortunately a clean solution did not come to my mind, so I hacked the 
initscripts_1.0.bb locally by adding:
file://../../../../../../site/files/my_device_table.txt 
to the SRC_URI, further doing a:

do_install_prepend () {
    cp ../../../../../../site/files/my_device_table.txt  ${WORKDIR}/
}

and finally tuning the line in do_install:
install -m 0755  ${WORKDIR}/my_device_table.txt ${D}${sysconfdir}/device_table

As you can see this is quite an ugly approach, I hope someone can suggest
how to solve this properly?

Kind regards,
Jin





More information about the Openembedded-devel mailing list