summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual/dev-manual-common-tasks.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/dev-manual/dev-manual-common-tasks.xml')
-rw-r--r--documentation/dev-manual/dev-manual-common-tasks.xml58
1 files changed, 55 insertions, 3 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml
index 8bc7fd8b2b..3d51ec60aa 100644
--- a/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -2348,7 +2348,7 @@
Most software provides some means of setting build-time
configuration options before compilation.
Typically, setting these options is accomplished by running a
- configure script with some options, or by modifying a build
+ configure script with options, or by modifying a build
configuration file.
<note>
As of Yocto Project Release 1.7, some of the core recipes
@@ -2388,6 +2388,7 @@
software is built using Autotools.
If this is the case, you just need to worry about
modifying the configuration.</para>
+
<para>When using Autotools, your recipe needs to inherit
the
<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-autotools'><filename>autotools</filename></ulink>
@@ -2400,13 +2401,15 @@
or
<ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGECONFIG_CONFARGS'><filename>PACKAGECONFIG_CONFARGS</filename></ulink>
to pass any needed configure options that are specific
- to the recipe.</para></listitem>
+ to the recipe.
+ </para></listitem>
<listitem><para><emphasis>CMake:</emphasis>
If your source files have a
<filename>CMakeLists.txt</filename> file, then your
software is built using CMake.
If this is the case, you just need to worry about
modifying the configuration.</para>
+
<para>When you use CMake, your recipe needs to inherit
the
<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-cmake'><filename>cmake</filename></ulink>
@@ -2416,7 +2419,16 @@
You can make some adjustments by setting
<ulink url='&YOCTO_DOCS_REF_URL;#var-EXTRA_OECMAKE'><filename>EXTRA_OECMAKE</filename></ulink>
to pass any needed configure options that are specific
- to the recipe.</para></listitem>
+ to the recipe.
+ <note>
+ If you need to install one or more custom CMake
+ toolchain files that are supplied by the
+ application you are building, install the files to
+ <filename>${D}${datadir}/cmake/</filename> Modules
+ during
+ <ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-install'><filename>do_install</filename></ulink>.
+ </note>
+ </para></listitem>
<listitem><para><emphasis>Other:</emphasis>
If your source files do not have a
<filename>configure.ac</filename> or
@@ -2779,6 +2791,14 @@
<ulink url='&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKEINST'><filename>PARALLEL_MAKEINST</filename></ulink>
for additional information.
</para></listitem>
+ <listitem><para>
+ If you need to install one or more custom CMake
+ toolchain files that are supplied by the
+ application you are building, install the files to
+ <filename>${D}${datadir}/cmake/</filename> Modules
+ during
+ <ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-install'><filename>do_install</filename></ulink>.
+ </para></listitem>
</itemizedlist>
</note>
</section>
@@ -10810,6 +10830,38 @@
</para>
<para>
+ Within the system, SysVinit treats system components as services.
+ These services are maintained as shell scripts stored in the
+ <filename>/etc/init.d/</filename> directory.
+ Services organize into different run levels.
+ This organization is maintained by putting links to the services
+ in the <filename>/etc/rcN.d/</filename> directories, where
+ <replaceable>N/</replaceable> is one of the following options:
+ "S", "0", "1", "2", "3", "4", "5", or "6".
+ <note>
+ Each runlevel has a dependency on the previous runlevel.
+ This dependency allows the services to work properly.
+ </note>
+ </para>
+
+ <para>
+ In comparison, systemd treats components as units.
+ Using units is a broader concept as compared to using a service.
+ A unit includes several different types of entities.
+ Service is one of the types of entities.
+ The runlevel concept in SysVinit corresponds to the concept of a
+ target in systemd, where target is also a type of supported unit.
+ </para>
+
+ <para>
+ In a SysVinit-based system, services load sequentially (i.e. one
+ by one) during and parallelization is not supported.
+ With systemd, services start in parallel.
+ Needless to say, the method can have an impact on system startup
+ performance.
+ </para>
+
+ <para>
If you want to use SysVinit, you do
not have to do anything.
But, if you want to use systemd, you must