system: clarify /dev management using devtmpfs + {mdev, eudev}

The "Dynamic using mdev" and "Dynamic using eudev" /dev management
methods are using devtmpfs, just like "Dynamic using devtmpfs only",
on top of which they add either mdev or eudev. But their names might
suggest they use mdev only or eudev only.

Clarify their descriptions by adding "devtmpfs +" to make it
unambiguous.

[Thomas: rewrap the paragraphs in the manual. It makes the diff a lot
less readable, but we actually want the result to be wrapped.]

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Luca Ceresoli 2015-10-04 11:43:35 +02:00 committed by Thomas Petazzoni
parent 844f240185
commit 571552c468
2 changed files with 32 additions and 29 deletions

View File

@ -295,39 +295,42 @@ different solutions to handle the +/dev+ directory :
responsibility to enable those two options (if you fail to do so, responsibility to enable those two options (if you fail to do so,
your Buildroot system will not boot). your Buildroot system will not boot).
* The third solution is *Dynamic using mdev*. This method also relies * The third solution is *Dynamic using devtmpfs + mdev*. This method
on the _devtmpfs_ virtual filesystem detailed above (so the also relies on the _devtmpfs_ virtual filesystem detailed above (so
requirement to have +CONFIG_DEVTMPFS+ and +CONFIG_DEVTMPFS_MOUNT+ the requirement to have +CONFIG_DEVTMPFS+ and
enabled in the kernel configuration still apply), but adds the +CONFIG_DEVTMPFS_MOUNT+ enabled in the kernel configuration still
+mdev+ userspace utility on top of it. +mdev+ is a program part of apply), but adds the +mdev+ userspace utility on top of it. +mdev+
BusyBox that the kernel will call every time a device is added or is a program part of BusyBox that the kernel will call every time a
removed. Thanks to the +/etc/mdev.conf+ configuration file, +mdev+ device is added or removed. Thanks to the +/etc/mdev.conf+
can be configured to for example, set specific permissions or configuration file, +mdev+ can be configured to for example, set
ownership on a device file, call a script or application whenever a specific permissions or ownership on a device file, call a script
device appears or disappear, etc. Basically, it allows _userspace_ or application whenever a device appears or disappear,
to react on device addition and removal events. +mdev+ can for etc. Basically, it allows _userspace_ to react on device addition
example be used to automatically load kernel modules when devices and removal events. +mdev+ can for example be used to automatically
appear on the system. +mdev+ is also important if you have devices load kernel modules when devices appear on the system. +mdev+ is
that require a firmware, as it will be responsible for pushing the also important if you have devices that require a firmware, as it
firmware contents to the kernel. +mdev+ is a lightweight will be responsible for pushing the firmware contents to the
implementation (with fewer features) of +udev+. For more details kernel. +mdev+ is a lightweight implementation (with fewer
about +mdev+ and the syntax of its configuration file, see features) of +udev+. For more details about +mdev+ and the syntax
of its configuration file, see
http://git.busybox.net/busybox/tree/docs/mdev.txt. http://git.busybox.net/busybox/tree/docs/mdev.txt.
* The fourth solution is *Dynamic using eudev*. This method also * The fourth solution is *Dynamic using devtmpfs + eudev*. This
relies on the _devtmpfs_ virtual filesystem detailed above, but method also relies on the _devtmpfs_ virtual filesystem detailed
adds the +eudev+ userspace daemon on top of it. +eudev+ is a daemon above, but adds the +eudev+ userspace daemon on top of it. +eudev+
that runs in the background, and gets called by the kernel when a is a daemon that runs in the background, and gets called by the
device gets added or removed from the system. It is a more kernel when a device gets added or removed from the system. It is a
heavyweight solution than +mdev+, but provides higher flexibility. more heavyweight solution than +mdev+, but provides higher
+eudev+ is a standalone version of +udev+, the original userspace flexibility. +eudev+ is a standalone version of +udev+, the
daemon used in most desktop Linux distributions, which is now part original userspace daemon used in most desktop Linux distributions,
of Systemd. For more details, see http://en.wikipedia.org/wiki/Udev. which is now part of Systemd. For more details, see
http://en.wikipedia.org/wiki/Udev.
The Buildroot developers recommendation is to start with the *Dynamic The Buildroot developers recommendation is to start with the *Dynamic
using devtmpfs only* solution, until you have the need for userspace using devtmpfs only* solution, until you have the need for userspace
to be notified when devices are added/removed, or if firmwares are to be notified when devices are added/removed, or if firmwares are
needed, in which case *Dynamic using mdev* is usually a good solution. needed, in which case *Dynamic using devtmpfs + mdev* is usually a
good solution.
Note that if +systemd+ is chosen as init system, /dev management will Note that if +systemd+ is chosen as init system, /dev management will
be performed by the +udev+ program provided by +systemd+. be performed by the +udev+ program provided by +systemd+.

View File

@ -110,11 +110,11 @@ config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS
bool "Dynamic using devtmpfs only" bool "Dynamic using devtmpfs only"
config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV
bool "Dynamic using mdev" bool "Dynamic using devtmpfs + mdev"
select BR2_PACKAGE_BUSYBOX select BR2_PACKAGE_BUSYBOX
config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
bool "Dynamic using eudev" bool "Dynamic using devtmpfs + eudev"
depends on BR2_USE_WCHAR depends on BR2_USE_WCHAR
depends on !BR2_STATIC_LIBS depends on !BR2_STATIC_LIBS
depends on BR2_USE_MMU # eudev depends on BR2_USE_MMU # eudev