Skip to contentSkip to conversation

eudev hwdb?

DISCUSSION Gary Thomas 4 participants 7 messages Apr 27, 2016

lore
Share & tools
lore
#0 lore raw

I see that the replacement for udev (eudev) in OE-core takes nearly 12MB on my i.MX6 (ARM CortexA7). This is nearly 25% of my total storage space (64MB NAND)!

# ls -lR /etc/udev
/etc/udev:
total 6520
-rw-r--r-- 1 root root    1600 Jan  1  1970 cache.data
-r--r--r-- 1 root root 6660476 Apr 26 13:08 hwdb.bin
drwxr-xr-x 2 root root    1296 Apr 26 11:34 hwdb.d
-rw-r--r-- 1 root root      51 Apr 26 11:31 mount.blacklist
drwxr-xr-x 2 root root     160 Apr 26 11:35 mount.blacklist.d
drwxr-xr-x 2 root root     608 Apr 26 13:08 rules.d
drwxr-xr-x 2 root root     304 Apr 26 11:35 scripts
-rw-r--r-- 1 root root      49 Apr 26 11:34 udev.conf

/etc/udev/hwdb.d:
total 5224
-rw-r--r-- 1 root root 1292931 Apr 26 11:34 20-OUI.hwdb -rw-r--r-- 1 root root 126596 Apr 26 11:34 20-acpi-vendor.hwdb
-rw-r--r-- 1 root root 41289 Apr 26 11:34 20-bluetooth-vendor-product.hwdb
-rw-r--r-- 1 root root 111 Apr 26 11:34 20-net-ifname.hwdb
-rw-r--r-- 1 root root 13710 Apr 26 11:34 20-pci-classes.hwdb
-rw-r--r-- 1 root root 2648842 Apr 26 11:34 20-pci-vendor-model.hwdb
-rw-r--r-- 1 root root 783 Apr 26 11:34 20-sdio-classes.hwdb
-rw-r--r-- 1 root root 4067 Apr 26 11:34 20-sdio-vendor-model.hwdb
-rw-r--r-- 1 root root 8070 Apr 26 11:34 20-usb-classes.hwdb
-rw-r--r-- 1 root root 1113001 Apr 26 11:34 20-usb-vendor-model.hwdb
-rw-r--r-- 1 root root 3702 Apr 26 11:34 60-evdev.hwdb
-rw-r--r-- 1 root root 52967 Apr 26 11:34 60-keyboard.hwdb
-rw-r--r-- 1 root root 14217 Apr 26 11:34 70-mouse.hwdb
-rw-r--r-- 1 root root 4627 Apr 26 11:34 70-pointingstick.hwdb

/etc/udev/mount.blacklist.d:
total 0

/etc/udev/rules.d:
total 20
-rw-r--r-- 1 root root 1449 Apr 26 11:31 10-imx.rules
-rw-r--r-- 1 root root 0 Apr 26 11:34 80-net-name-slot.rules

-rw-r--r-- 1 root root  847 Apr 26 11:31 automount.rules
-rw-r--r-- 1 root root  757 Apr 26 11:31 autonet.rules
-rw-r--r-- 1 root root  885 Apr 26 11:34 local.rules
-rw-r--r-- 1 root root  843 Apr 26 11:31 localextra.rules

/etc/udev/scripts:
total 8
-rwxr-xr-x 1 root root 2469 Apr 26 11:31 mount.sh -rwxr-xr-x 1 root root 1402 Apr 26 11:31 network.sh

Is there any way to not have both the hwdb.bin (which I assume is a binary version of the hardware databases) and /etc/udev/hwdb.d? Perhaps there is some way to only use one?

Or maybe there is a better choice, such as mdev? I'm not sure about this (no experience) but my system needs to handle plug&play devices which the current eudev does well. It's just a huge "price" to pay.

Any ideas or pointers would be great

Signature · 4 lines
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------
#1 lore raw
Quoted 8 lines · Gary Thomas

Is there any way to not have both the hwdb.bin (which I assume is a binary version of the hardware databases) and /etc/udev/hwdb.d? Perhaps there is some way to only use one?

Or maybe there is a better choice, such as mdev? I'm not sure about this (no experience) but my system needs to handle plug&play devices which the current eudev does well. It's just a huge "price" to pay.

You could not install hwdb at all, it's a recommends so you can BAD_RECOMMENDS it away. It's certainly possible to wipe away the source files for hwdb if you don't care about extending them at runtime but nobody has done that yet: a rootfs postproccess hook could delete it and confirm that everything works fine.

Ross

#2 lore raw
Quoted 7 lines · Ross

On 27 April 2016 at 09:48, Gary Thomas <[email protected] <mailto:[email protected]>> wrote:

Is there any way to not have both the hwdb.bin (which I assume is a binary version of the hardware databases) and /etc/udev/hwdb.d? Perhaps there is some way to only use one?

Quoted 8 lines

Or maybe there is a better choice, such as mdev? I'm not sure about this (no experience) but my system needs to handle plug&play devices which the current eudev does well. It's just a huge "price" to pay.

You could not install hwdb at all, it's a recommends so you can BAD_RECOMMENDS it away. It's certainly possible to wipe away the source files for hwdb if you don't care about extending them at runtime but nobody has done that yet: a rootfs postproccess hook could delete it and confirm that everything works fine.

Can you explain a bit more? - BAD_RECOMMENDS doesn't seem to be documented.

Signature · 4 lines
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------
#4 lore raw
Quoted 9 lines · Ross

On 27 April 2016 at 10:22, Gary Thomas <[email protected] <mailto:[email protected]>> wrote:

Can you explain a bit more? - BAD_RECOMMENDS doesn't seem to be documented.

My mistake - BAD_RECOMMENDATIONS.

http://www.yoctoproject.org/docs/2.0.1/ref-manual/ref-manual.html#var-BAD_RECOMMENDATIONS

Thanks, that worked. Took away all of the hwdb files (binary and sources) but my system is working just fine without them (so far)

Signature · 4 lines
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------
#5 lore raw
In reply to Gary Thomas

Hi Gary,

Quoted 54 lines · Gary Thomas

I see that the replacement for udev (eudev) in OE-core takes nearly 12MB on my i.MX6 (ARM CortexA7). This is nearly 25% of my total storage space (64MB NAND)!

# ls -lR /etc/udev
/etc/udev:
total 6520
(quoted diff) +0 -2
-rw-r--r-- 1 root root    1600 Jan  1  1970 cache.data
-r--r--r-- 1 root root 6660476 Apr 26 13:08 hwdb.bin

drwxr-xr-x 2 root root 1296 Apr 26 11:34 hwdb.d
-rw-r--r-- 1 root root 51 Apr 26 11:31 mount.blacklist

drwxr-xr-x 2 root root     160 Apr 26 11:35 mount.blacklist.d
drwxr-xr-x 2 root root     608 Apr 26 13:08 rules.d
drwxr-xr-x 2 root root     304 Apr 26 11:35 scripts

-rw-r--r-- 1 root root 49 Apr 26 11:34 udev.conf

/etc/udev/hwdb.d:
total 5224

(quoted diff) +0 -14
-rw-r--r-- 1 root root 1292931 Apr 26 11:34 20-OUI.hwdb
-rw-r--r-- 1 root root  126596 Apr 26 11:34 20-acpi-vendor.hwdb
-rw-r--r-- 1 root root   41289 Apr 26 11:34 20-bluetooth-vendor-product.hwdb
-rw-r--r-- 1 root root     111 Apr 26 11:34 20-net-ifname.hwdb
-rw-r--r-- 1 root root   13710 Apr 26 11:34 20-pci-classes.hwdb
-rw-r--r-- 1 root root 2648842 Apr 26 11:34 20-pci-vendor-model.hwdb
-rw-r--r-- 1 root root     783 Apr 26 11:34 20-sdio-classes.hwdb
-rw-r--r-- 1 root root    4067 Apr 26 11:34 20-sdio-vendor-model.hwdb
-rw-r--r-- 1 root root    8070 Apr 26 11:34 20-usb-classes.hwdb
-rw-r--r-- 1 root root 1113001 Apr 26 11:34 20-usb-vendor-model.hwdb
-rw-r--r-- 1 root root    3702 Apr 26 11:34 60-evdev.hwdb
-rw-r--r-- 1 root root   52967 Apr 26 11:34 60-keyboard.hwdb
-rw-r--r-- 1 root root   14217 Apr 26 11:34 70-mouse.hwdb
-rw-r--r-- 1 root root    4627 Apr 26 11:34 70-pointingstick.hwdb

/etc/udev/mount.blacklist.d:
total 0

/etc/udev/rules.d:
total 20

(quoted diff) +0 -6
-rw-r--r-- 1 root root 1449 Apr 26 11:31 10-imx.rules
-rw-r--r-- 1 root root    0 Apr 26 11:34 80-net-name-slot.rules
-rw-r--r-- 1 root root  847 Apr 26 11:31 automount.rules
-rw-r--r-- 1 root root  757 Apr 26 11:31 autonet.rules
-rw-r--r-- 1 root root  885 Apr 26 11:34 local.rules
-rw-r--r-- 1 root root  843 Apr 26 11:31 localextra.rules

/etc/udev/scripts:
total 8

(quoted diff) +0 -2
-rwxr-xr-x 1 root root 2469 Apr 26 11:31 mount.sh
-rwxr-xr-x 1 root root 1402 Apr 26 11:31 network.sh

Is there any way to not have both the hwdb.bin (which I assume is a binary version of the hardware databases) and /etc/udev/hwdb.d? Perhaps there is some way to only use one?

Quoted 5 lines

Or maybe there is a better choice, such as mdev? I'm not sure about this (no experience) but my system needs to handle plug&play devices which the current eudev does well. It's just a huge "price" to pay.

Any ideas or pointers would be great

eudev provides following configure option:

--enable-hwdb install hwdb.d files

this way you can omit hwdb.d installation by providing:

--disable-hwdb

Yegor

#6 lore raw
In reply to Gary Thomas
Quoted 3 lines · Gary Thomas

I see that the replacement for udev (eudev) in OE-core takes nearly 12MB on my i.MX6 (ARM CortexA7). This is nearly 25% of my total storage space (64MB NAND)!

See
http://permalink.gmane.org/gmane.comp.handhelds.openembedded.core/77244
and following discussions

Quoted 67 lines
# ls -lR /etc/udev
/etc/udev:
total 6520
(quoted diff) +0 -2
-rw-r--r-- 1 root root    1600 Jan  1  1970 cache.data
-r--r--r-- 1 root root 6660476 Apr 26 13:08 hwdb.bin

drwxr-xr-x 2 root root 1296 Apr 26 11:34 hwdb.d
-rw-r--r-- 1 root root 51 Apr 26 11:31 mount.blacklist

drwxr-xr-x 2 root root     160 Apr 26 11:35 mount.blacklist.d
drwxr-xr-x 2 root root     608 Apr 26 13:08 rules.d
drwxr-xr-x 2 root root     304 Apr 26 11:35 scripts

-rw-r--r-- 1 root root 49 Apr 26 11:34 udev.conf

/etc/udev/hwdb.d:
total 5224

(quoted diff) +0 -14
-rw-r--r-- 1 root root 1292931 Apr 26 11:34 20-OUI.hwdb
-rw-r--r-- 1 root root  126596 Apr 26 11:34 20-acpi-vendor.hwdb
-rw-r--r-- 1 root root   41289 Apr 26 11:34 20-bluetooth-vendor-product.hwdb
-rw-r--r-- 1 root root     111 Apr 26 11:34 20-net-ifname.hwdb
-rw-r--r-- 1 root root   13710 Apr 26 11:34 20-pci-classes.hwdb
-rw-r--r-- 1 root root 2648842 Apr 26 11:34 20-pci-vendor-model.hwdb
-rw-r--r-- 1 root root     783 Apr 26 11:34 20-sdio-classes.hwdb
-rw-r--r-- 1 root root    4067 Apr 26 11:34 20-sdio-vendor-model.hwdb
-rw-r--r-- 1 root root    8070 Apr 26 11:34 20-usb-classes.hwdb
-rw-r--r-- 1 root root 1113001 Apr 26 11:34 20-usb-vendor-model.hwdb
-rw-r--r-- 1 root root    3702 Apr 26 11:34 60-evdev.hwdb
-rw-r--r-- 1 root root   52967 Apr 26 11:34 60-keyboard.hwdb
-rw-r--r-- 1 root root   14217 Apr 26 11:34 70-mouse.hwdb
-rw-r--r-- 1 root root    4627 Apr 26 11:34 70-pointingstick.hwdb

/etc/udev/mount.blacklist.d:
total 0

/etc/udev/rules.d:
total 20

(quoted diff) +0 -6
-rw-r--r-- 1 root root 1449 Apr 26 11:31 10-imx.rules
-rw-r--r-- 1 root root    0 Apr 26 11:34 80-net-name-slot.rules
-rw-r--r-- 1 root root  847 Apr 26 11:31 automount.rules
-rw-r--r-- 1 root root  757 Apr 26 11:31 autonet.rules
-rw-r--r-- 1 root root  885 Apr 26 11:34 local.rules
-rw-r--r-- 1 root root  843 Apr 26 11:31 localextra.rules

/etc/udev/scripts:
total 8

(quoted diff) +0 -2
-rwxr-xr-x 1 root root 2469 Apr 26 11:31 mount.sh
-rwxr-xr-x 1 root root 1402 Apr 26 11:31 network.sh

Is there any way to not have both the hwdb.bin (which I assume is a binary version of the hardware databases) and /etc/udev/hwdb.d? Perhaps there is some way to only use one?

Or maybe there is a better choice, such as mdev? I'm not sure about this (no experience) but my system needs to handle plug&play devices which the current eudev does well. It's just a huge "price" to pay.

Any ideas or pointers would be great

Signature · 9 lines
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------
-- 
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto
Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]