[Buildroot] [RFC 5/6] docs/manual: document "Dynamic using mdev only" /dev management

Arnout Vandecappelle arnout at mind.be
Wed Sep 9 10:39:05 UTC 2015


 Hi Luca,

On 08-09-15 23:28, Luca Ceresoli wrote:
> Signed-off-by: Luca Ceresoli <luca at lucaceresoli.net>
> ---
>  docs/manual/configure.txt | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/docs/manual/configure.txt b/docs/manual/configure.txt
> index 997be2b..ea78d96 100644
> --- a/docs/manual/configure.txt
> +++ b/docs/manual/configure.txt
> @@ -324,6 +324,17 @@ different solutions to handle the +/dev+ directory :
>     daemon used in most desktop Linux distributions, which is now part
>     of Systemd. For more details, see http://en.wikipedia.org/wiki/Udev.
>  

 For consistency with the way it's ordered in menuconfig, I'd move the new
bullet point to the second place in the list. That does mean you have to update
all the second, third, fourth bullets but that's no biggy I guess.

> + * *Dynamic using mdev only* uses +mdev+ and allows to use all the
> +   features of +mdev+, including dynamic device creation and firmware
> +   handling, but does not use _devtmpfs_.

 If you move it as the second bullet, the explanation about mdev should be moved
to here as well. So I propose the following rephrased bullet point (which
includes a bunch of minor fixes to the text):

 * The second solution is *Dynamic using mdev only*. +mdev+ is a helper program
   that is part of BusyBox. The kernel will call it every time a device is added
   or removed, and +mdev+ will create the appropriate device node in +/dev+.
   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 disappears, 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 blob to be loaded: 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.
   +
   If you have to use a kernel older than 2.6.32, this is the only option to
   have dynamic +/dev+ management, although it can be used with more recent
   versions of the kernel as well. If you build your Linux kernel outside of
   Buildroot, you should disable +CONFIG_DEVTMPFS+ and +CONFIG_DEVTMPFS_MOUNT+
   in your kernel configuration. When Buildroot is in charge of building the
   Linux kernel, it disables them automatically.


 Clearly, if you take this proposal, also the devtmpfs+mdev option has to be
updated a little to avoid duplication.


 Regards,
 Arnout

> +   If you have to use a kernel older than 2.6.32 this is the only
> +   option to have dynamic /dev management, although it can be used
> +   with more recent versions of the kernel as well.
> +   If you build your Linux kernel outside of Buildroot, you should
> +   disable +CONFIG_DEVTMPFS+ and +CONFIG_DEVTMPFS_MOUNT+ in your kernel
> +   configuration. When Buildroot is in charge of building the Linux
> +   kernel, it disables them automatically.
> +
>  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
> 

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF


More information about the buildroot mailing list