Signed-off-by: Pascal Bach <pascal.b...@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> + <itemizedlist> + <listitem><para> + <emphasis>Persistent and pre populated <filename>/dev</filename>:</emphasis> + 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> + in this case the <filename>/dev</filename> directory is provided + by the kernel as an in memory file system and is automatically + 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"> + <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 + using <filename>devtmpfs</filename>. Make sure the corresponding + kernel configuration variable <filename>CONFIG_DEVTMPFS</filename> is set + when building a linux kernel. + + </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> -- 1.7.10.4 -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto