summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2013-03-04 21:37:17 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-03-22 17:08:41 +0000
commit1996be8717e928b00621dd92836d90dd5b279cfc (patch)
tree934e0036683245852fa7d00c5d76ed8241b97c6f
parente0144f21f03b130697332ca562701604243dca87 (diff)
downloadpoky-1996be8717e928b00621dd92836d90dd5b279cfc.tar.gz
dev-manual: First draft of "Creating your own distro" section.
(From yocto-docs rev: fa8ddbf0ca6e7619fa79a5637e49f95f06719da9) Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--documentation/dev-manual/dev-manual-common-tasks.xml102
1 files changed, 102 insertions, 0 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml
index 7d8b84986c..296ab6c148 100644
--- a/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -2013,6 +2013,108 @@
2013 </para> 2013 </para>
2014 </section> 2014 </section>
2015 2015
2016 <section id="creating-your-own-distribution">
2017 <title>Creating Your Own Distribution</title>
2018
2019 <para>
2020 When you build a Linux Yocto image using the Yocto Project and
2021 do not alter any distribution
2022 <link linkend='metadata'>Metadata</link>, you are creating a
2023 Poky Distribution.
2024 If you do not want a Poky Distribution, you can take steps to
2025 create your own distribution.
2026 </para>
2027
2028 <para>
2029 To create your own distribution, the basic steps consist of
2030 creating your own distribution layer, creating your own
2031 distribution configuration file, and then adding any needed
2032 code and Metadata to the layer.
2033 The following steps provide some more detail:
2034 <itemizedlist>
2035 <listitem><para><emphasis>Create a layer for your new distro:</emphasis>
2036 Create your distribution layer so that you can keep your
2037 Metadata and code for the distribution separate.
2038 It is strongly recommended that you create and use your own
2039 layer for configuration and code.
2040 Using your own layer as compared to just placing
2041 configurations in a <filename>local.conf</filename>
2042 configuration file makes it easier to reproduce your
2043 distribution when using multiple build machines.
2044 </para></listitem>
2045 <listitem><para><emphasis>Create the Distribution Configuration File:</emphasis>
2046 The distribution configuration file needs to be created in
2047 the <filename>conf/distro</filename> directory of your
2048 layer.
2049 You need to name it using your distribution name
2050 (e.g. <filename>mydistro.conf</filename>.</para>
2051 <para>You can split out parts of your configuration file
2052 into include file and then "require" them from within
2053 your distribution configuration file.
2054 Be sure to place the include files in the
2055 <filename>conf/distro/include</filename> directory of
2056 your layer.
2057 Common include files select the desired version and
2058 revisions for individual recipes.
2059 <tip>
2060 If you want to base your distribution configuration file
2061 on the very basic configuration from OE-Core, you
2062 can "require"
2063 <filename>require conf/distro/defaultsetup.conf</filename>.
2064 Alternatively, you can create a distribution
2065 configuration file from scratch using the
2066 <filename>defaultsetup.conf</filename> file
2067 or configuration files from other distributions
2068 such as Poky or Angstrom as references.
2069 </tip></para>
2070 <para>Your configuration file needs to set the following
2071 variables:
2072 <literallayout class='monospaced'>
2073 <ulink url='&YOCTO_DOCS_REF_URL;#DISTRO_NAME'><filename>DISTRO_NAME</filename></ulink> [required]
2074 <ulink url='&YOCTO_DOCS_REF_URL;#DISTRO_VERSION'><filename>DISTRO_VERSION</filename></ulink> [required]
2075 <ulink url='&YOCTO_DOCS_REF_URL;#DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></ulink>
2076 <ulink url='&YOCTO_DOCS_REF_URL;#DISTRO_EXTRA_RDEPENDS'><filename>DISTRO_EXTRA_RDEPENDS</filename></ulink>
2077 <ulink url='&YOCTO_DOCS_REF_URL;#DISTRO_EXTRA_RRECOMMENDS'><filename>DISTRO_EXTRA_RRECOMMENDS</filename></ulink>
2078 <ulink url='&YOCTO_DOCS_REF_URL;#TCLIBC'><filename>TCLIBC</filename></ulink>
2079 <ulink url='&YOCTO_DOCS_REF_URL;#PREFERRED_VERSION'><filename>PREFERRED_VERSION</filename></ulink>
2080 <ulink url='&YOCTO_DOCS_REF_URL;#PREFERRED_PROVIDER'><filename>PREFERRED_PROVIDER</filename></ulink>
2081 </literallayout></para></listitem>
2082 <listitem><para><emphasis>Provide Miscellaneous Variables:</emphasis>
2083 Be sure to define any other variable for which you want to
2084 create a default or enforce as part of the distribution
2085 configuration.
2086 You can include nearly any variable from the
2087 <filename>local.conf</filename> file.</para></listitem>
2088 <listitem><para><emphasis>Point to Your Distribution Configuration File:</emphasis>
2089 In your <filename>local.conf</filename> file in the
2090 <link linkend='build-directory'>Build Directory</link>,
2091 set your
2092 <ulink url='&YOCTO_DOCS_REF_URL;#var-DISTRO'><filename>DISTRO</filename></ulink>
2093 variable to point to your distribution's configuration file.
2094 Here is an example:
2095 <literallayout class='monospaced'>
2096 DISTRO = "mydistro"
2097 </literallayout></para></listitem>
2098 <listitem><para><emphasis>Add More to the Layer if Necessary:</emphasis>
2099 Use your layer to hold other information needed for the
2100 distribution.
2101 You can add recipes for installing distro-specific
2102 configuration files that are not already
2103 installed by another recipe.
2104 If you have distro-specific configuration files that are
2105 included by an existing recipe, you should add a
2106 <filename>.bbappend</filename> for those.
2107 You should add any image recipes that are specific to your
2108 distribution.
2109 You should add a <filename>psplash</filename> append file
2110 for a branded splash screen.
2111 Finally, be sure to add any other append files to make
2112 custom changes that are specific to individual recipes.
2113 </para></listitem>
2114 </itemizedlist>
2115 </para>
2116 </section>
2117
2016 <section id='working-with-packages'> 2118 <section id='working-with-packages'>
2017 <title>Working with Packages</title> 2119 <title>Working with Packages</title>
2018 2120