[yocto] [yocto-docs][PATCH 2/2] dev-manual: Add section about /dev population

Robert P. J. Day rpjday at crashcourse.ca
Wed Jan 7 07:15:01 PST 2015


On Wed, 7 Jan 2015, Pascal Bach wrote:

> Signed-off-by: Pascal Bach <pascal.bach at siemens.com>
> ---
>  .../dev-manual/dev-manual-common-tasks.xml         |  104 ++++++++++++++++++++
>  1 file changed, 104 insertions(+)
>
> diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml
> index 17d725b..9072586 100644
> --- a/documentation/dev-manual/dev-manual-common-tasks.xml
> +++ b/documentation/dev-manual/dev-manual-common-tasks.xml
> @@ -7582,6 +7582,110 @@ Gateways via their Web Interfaces</ulink>"</emphasis>
>          </section>
>      </section>
>
> +    <section id="selecting-dev-manager">
> +        <title>Selecting a Device Manager</title>
> +
> +        <para>
> +            Yocto provides multiple ways to manage <filename>/dev</filename>

  add a colon at the end of that line.

> +            <itemizedlist>
> +                <listitem><para>
> +                <emphasis>Persistent and pre populated <filename>/dev</filename>:</emphasis>
                                               ^ hyphenate

> +                in this case the <filename>/dev</filename> directory is persistent
> +                and the required device nodes are created at build time.
> +                </para></listitem>
> +
> +                <listitem><para>
> +                <emphasis>Use <filename>devtmps</filename> with a device manager:</emphasis>
                                           ^^^^^^^ devtmpfs


> +                in this case the <filename>/dev</filename> directory is provided
> +                by the kernel as an in memory file system and is automatically
                                         ^ hyphenate

> +                populated by the kernel at runtime. Additional configuration of
> +                device nodes is done in user space by a device manager like
> +                <filename>udev</filename> or <filename>busybox-mdev</filename>.
> +                </para></listitem>
> +            </itemizedlist>
> +        </para>
> +
> +        <section id="static-dev-management">
> +            <title>Use Persistent and pre-populated <filename>/dev</filename></title>
> +
> +            <para>
> +                To use the static method for device population the variable
> +                <ulink url='&YOCTO_DOCS_REF_URL;#var-USE_DEVFS'><filename>USE_DEVFS</filename></ulink>
> +                needs to be set to 0.
> +
> +                <literallayout class='monospaced'>
> +     USE_DEVFS = "0"
> +                </literallayout>
> +            </para>
> +
> +            <para>
> +                The content of the resulting <filename>/dev</filename> directory
> +                is defined in a Device Table file. The device table to use is defined by the variable
> +                <ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_DEVICE_TABLES'><filename>IMAGE_DEVICE_TABLES</filename></ulink> and should be set
> +                in the <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>,
> +                <ulink url='&YOCTO_DOCS_REF_URL;#var-DISTRO'><filename>DISTRO</filename></ulink>
> +                or <filename>local.conf</filename> configuration file.
> +            </para>
> +
> +            <para>
> +                If nothing is defined the default <filename>device_table-minimal.txt</filename> is used.
> +            </para>
> +
> +            <para>
> +                The population is handled by the <filename>makedevs</filename> utility
> +                during image creation.
> +
> +                <literallayout class='monospaced'>
> +     IMAGE_DEVICE_TABLES = "device_table-mymachine.txt"
> +                </literallayout>
> +
> +            </para>
> +        </section>
> +
> +        <section id="devtmps-dev-management">
                        ^^^^^^^ devtmpfs

> +            <title>Use <filename>devtmpfs</filename> and a device manager</title>
> +
> +            <para>
> +                To use the dynamic method for device population the variable
> +                <ulink url='&YOCTO_DOCS_REF_URL;#var-USE_DEVFS'><filename>USE_DEVFS</filename></ulink>
> +                needs to be set to 1. This is the default.
> +
> +                <literallayout class='monospaced'>
> +     USE_DEVFS = "1"
> +                </literallayout>
> +
> +                This way the resulting <filename>/dev</filename> is populated by the kernel

  i would add the word "directory" after /dev above.

> +                using <filename>devtmpfs</filename>. Make sure the corresponding
> +                kernel configuration variable <filename>CONFIG_DEVTMPFS</filename> is set
> +                when building a linux kernel.
                                   ^^^^^ Linux (capitalize)

> +
> +            </para>
> +            <para>
> +                All devices created by <filename>devtmpfs</filename> will be
> +                owned by <filename>root</filename> and have permissions <filename>0600</filename>.
> +
> +                To have more control over the device nodes a device manager like
> +                <filename>udev</filename> or <filename>busybox-mdev</filename>
> +                can be used.
> +
> +                The device manager to use is defined by the variable
> +                <filename>VIRTUAL-RUNTIME_dev_manager</filename> and should be set
> +                in the <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>,
> +                <ulink url='&YOCTO_DOCS_REF_URL;#var-DISTRO'><filename>DISTRO</filename></ulink>
> +                or <filename>local.conf</filename> configuration file.
> +
> +                <literallayout class='monospaced'>
> +
> +     VIRTUAL-RUNTIME_dev_manager = "udev"
> +
> +     # Some alternative values
> +     # VIRTUAL-RUNTIME_dev_manager = "busybox-mdev"
> +     # VIRTUAL-RUNTIME_dev_manager = "systemd"
> +                </literallayout>
> +            </para>
> +        </section>
> +    </section>
> +
>      <section id="platdev-appdev-srcrev">
>          <title>Using an External SCM</title>

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================



More information about the yocto mailing list