[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