Skip to contentSkip to conversation

Change in udev

DISCUSSION Gary Thomas 2 participants 6 messages Mar 24, 2016

lore
Share & tools
lore
#0 lore raw

I know that udev is being replaced by eudev, but there's a new behavior I don't understand. There is a new file /etc/udev/hwdb.bin that is created at runtime:

$ ls -l /etc/udev
total 6548
-rw-r--r-- 1 root root    1785 Jan  9  1970 cache.data
-r--r--r-- 1 root root 6660476 Mar 24 08:21 hwdb.bin
drwxr-xr-x 2 root root    4096 Mar 24 06:42 hwdb.d
-rw-r--r-- 1 root root      51 Mar 24 07:51 mount.blacklist
drwxr-xr-x 2 root root    4096 Mar 24 07:51 mount.blacklist.d
drwxr-xr-x 2 root root    4096 Mar 24 08:21 rules.d
drwxr-xr-x 2 root root    4096 Mar 24 07:51 scripts
-rw-r--r-- 1 root root      49 Mar 24 06:41 udev.conf

Is this [somehow] equivalent to the old udev device cache? Does it really belong in /etc/udev? What about read-only roots?

Thanks

n.b. I just noticed because a dump of /etc on my device went from ~6MB to over 12MB...

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

Is this [somehow] equivalent to the old udev device cache? Does it really belong in /etc/udev? What about read-only roots?

An update to current master will help: the file is generated at build time and in a separate package so if you don't need it you can not install it.

Ross

#2 lore raw
Quoted 9 lines · Ross

On 24 March 2016 at 09:45, Gary Thomas <[email protected] <mailto:[email protected]>> wrote:

Is this [somehow] equivalent to the old udev device cache? Does it really belong in /etc/udev? What about read-only roots?

An update to current master will help: the file is generated at build time and in a separate package so if you don't need it you can not install it.

More recent than poky:2df514bfe4a911c0dca8828038dd94e6265f50ca?

(I just updated a few hours ago)

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

More recent than poky:2df514bfe4a911c0dca8828038dd94e6265f50ca?

In that case the file should have been generated at build time (please file a bug with logs if it wasn't) and is in a separate package so if you don't need it (its basically the USB and PCI ID tables) then you can remove it.

As you say, eudev is new, so there's bound to be small configuration issues to work out before release.

Ross

#4 lore raw
Quoted 10 lines · Ross

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

    More recent than poky:2df514bfe4a911c0dca8828038dd94e6265f50ca?

In that case the file should have been generated at build time (please file a bug with logs if it wasn't) and is in a separate package so if you don't need it (its basically the USB and PCI ID tables) then you can remove it.

As you say, eudev is new, so there's bound to be small configuration issues to work out before release.

Ah, interesting. The file is in my rootfs, but it doesn't belong to any package?

This is from my build:

$ ls -l tmp/work/teton_p0382-amltd-linux-gnueabi/amanda-server-image/1.0-r0/rootfs/etc/udev/
total 6532
-rw-r--r-- 1 gthomas gthomas       0 Mar 24 07:41 cache.data
-r--r--r-- 1 gthomas gthomas 6660476 Mar 24 09:21 hwdb.bin
drwxr-xr-x 2 gthomas gthomas    4096 Mar 24 07:42 hwdb.d
-rw-r--r-- 1 gthomas gthomas      51 Mar 24 08:51 mount.blacklist
drwxr-xr-x 2 gthomas gthomas    4096 Mar 24 08:51 mount.blacklist.d
drwxr-xr-x 2 gthomas gthomas    4096 Mar 24 09:21 rules.d
drwxr-xr-x 2 gthomas gthomas    4096 Mar 24 08:51 scripts
-rw-r--r-- 1 gthomas gthomas      49 Mar 24 07:41 udev.conf

On my target:

root@teton-p0382:~# opkg search /etc/udev/hwdb.bin
root@teton-p0382:~#

I seem to have gotten the hwdb, but not packaged correctly. Again, on the target:

root@teton-p0382:~# opkg list-installed *udev*
eudev - 3.1.5-r0.2
eudev-hwdb - 3.1.5-r0.2
libudev1 - 3.1.5-r0.2
udev-cache - 3.1.5-r0.2
udev-extraconf - 1.1-r0.6
udev-rules-imx - 1.0-r0.6
root@teton-p0382:~# opkg files eudev-hwdb
Package eudev-hwdb (3.1.5-r0.2) is installed on root and has the following files:
/etc/udev/hwdb.d/20-pci-classes.hwdb
/etc/udev/hwdb.d/70-pointingstick.hwdb
/etc/udev/hwdb.d/70-mouse.hwdb
/etc/udev/hwdb.d/
/etc/udev/hwdb.d/20-acpi-vendor.hwdb
/etc/udev/hwdb.d/20-usb-vendor-model.hwdb
/etc/udev/hwdb.d/20-sdio-vendor-model.hwdb
/etc/udev/hwdb.d/60-keyboard.hwdb
/etc/udev/hwdb.d/20-net-ifname.hwdb
/etc/udev/hwdb.d/20-usb-classes.hwdb
/etc/udev/hwdb.d/20-bluetooth-vendor-product.hwdb
/etc/udev/hwdb.d/60-evdev.hwdb
/etc/udev/hwdb.d/20-pci-vendor-model.hwdb
/etc/udev/hwdb.d/20-sdio-classes.hwdb
/etc/udev/hwdb.d/20-OUI.hwdb

So /etc/udev/hwdb.bin is somehow unpackaged (an orphan)?

Also, how will I prevent eudev-hwdb from being sucked in if I only depend [RDEPENDS/RRECOMMENDS] on 'udev'?

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

So /etc/udev/hwdb.bin is somehow unpackaged (an orphan)?

Have a look at the recipe: it's a postinst from eudev-hwdb. Possibly that package should ship an empty file and we force it to re-generate in the postinst so it's not orphaned.

Quoted 3 lines

Also, how will I prevent eudev-hwdb from being sucked in if I only depend [RDEPENDS/RRECOMMENDS] on 'udev'?

eudev recommends eudev-hwdb, so BAD_RECOMMENDATIONS as usual.

Ross