Commit 571552c4 authored by Luca Ceresoli's avatar Luca Ceresoli Committed by Thomas Petazzoni
Browse files

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: default avatarLuca Ceresoli <luca@lucaceresoli.net>
Reviewed-by: default avatarArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 844f2401
Loading
Loading
Loading
Loading
+30 −27
Original line number Diff line number Diff line
@@ -295,39 +295,42 @@ different solutions to handle the +/dev+ directory :
   responsibility to enable those two options (if you fail to do so,
   your Buildroot system will not boot).

 * The third solution is *Dynamic using mdev*. This method also relies
   on the _devtmpfs_ virtual filesystem detailed above (so the
   requirement to have +CONFIG_DEVTMPFS+ and +CONFIG_DEVTMPFS_MOUNT+
   enabled in the kernel configuration still apply), but adds the
   +mdev+ userspace utility on top of it. +mdev+ is a program part of
   BusyBox that the kernel will call every time a device is added or
   removed. Thanks to the +/etc/mdev.conf+ configuration file, +mdev+
   can be configured to for example, set specific permissions or
   ownership on a device file, call a script or application whenever a
   device appears or disappear, etc. Basically, it allows _userspace_
   to react on device addition and removal events. +mdev+ can for
   example be used to automatically load kernel modules when devices
   appear on the system. +mdev+ is also important if you have devices
   that require a firmware, as it will be responsible for pushing the
   firmware contents to the kernel. +mdev+ is a lightweight
   implementation (with fewer features) of +udev+. For more details
   about +mdev+ and the syntax of its configuration file, see
 * The third solution is *Dynamic using devtmpfs + mdev*. This method
   also relies on the _devtmpfs_ virtual filesystem detailed above (so
   the requirement to have +CONFIG_DEVTMPFS+ and
   +CONFIG_DEVTMPFS_MOUNT+ enabled in the kernel configuration still
   apply), but adds the +mdev+ userspace utility on top of it. +mdev+
   is a program part of BusyBox that the kernel will call every time a
   device is added or removed. Thanks to the +/etc/mdev.conf+
   configuration file, +mdev+ can be configured to for example, set
   specific permissions or ownership on a device file, call a script
   or application whenever a device appears or disappear,
   etc. Basically, it allows _userspace_ to react on device addition
   and removal events. +mdev+ can for example be used to automatically
   load kernel modules when devices appear on the system. +mdev+ is
   also important if you have devices that require a firmware, as it
   will be responsible for pushing the firmware contents to the
   kernel. +mdev+ is a lightweight implementation (with fewer
   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.

 * The fourth solution is *Dynamic using eudev*. This method also
   relies on the _devtmpfs_ virtual filesystem detailed above, but
   adds the +eudev+ userspace daemon on top of it. +eudev+ is a daemon
   that runs in the background, and gets called by the kernel when a
   device gets added or removed from the system. It is a more
   heavyweight solution than +mdev+, but provides higher flexibility.
   +eudev+ is a standalone version of +udev+, the original userspace
   daemon used in most desktop Linux distributions, which is now part
   of Systemd. For more details, see http://en.wikipedia.org/wiki/Udev.
 * The fourth solution is *Dynamic using devtmpfs + eudev*. This
   method also relies on the _devtmpfs_ virtual filesystem detailed
   above, but adds the +eudev+ userspace daemon on top of it. +eudev+
   is a daemon that runs in the background, and gets called by the
   kernel when a device gets added or removed from the system. It is a
   more heavyweight solution than +mdev+, but provides higher
   flexibility.  +eudev+ is a standalone version of +udev+, the
   original userspace daemon used in most desktop Linux distributions,
   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
using devtmpfs only* solution, until you have the need for userspace
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
be performed by the +udev+ program provided by +systemd+.
+2 −2
Original line number Diff line number Diff line
@@ -110,11 +110,11 @@ config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS
	bool "Dynamic using devtmpfs only"

config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV
	bool "Dynamic using mdev"
	bool "Dynamic using devtmpfs + mdev"
	select BR2_PACKAGE_BUSYBOX

config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
	bool "Dynamic using eudev"
	bool "Dynamic using devtmpfs + eudev"
	depends on BR2_USE_WCHAR
	depends on !BR2_STATIC_LIBS
	depends on BR2_USE_MMU # eudev