From 1996be8717e928b00621dd92836d90dd5b279cfc Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 4 Mar 2013 21:37:17 -0600 Subject: [PATCH] dev-manual: First draft of "Creating your own distro" section. (From yocto-docs rev: fa8ddbf0ca6e7619fa79a5637e49f95f06719da9) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) 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 @@ +
+ Creating Your Own Distribution + + + When you build a Linux Yocto image using the Yocto Project and + do not alter any distribution + Metadata, you are creating a + Poky Distribution. + If you do not want a Poky Distribution, you can take steps to + create your own distribution. + + + + To create your own distribution, the basic steps consist of + creating your own distribution layer, creating your own + distribution configuration file, and then adding any needed + code and Metadata to the layer. + The following steps provide some more detail: + + Create a layer for your new distro: + Create your distribution layer so that you can keep your + Metadata and code for the distribution separate. + It is strongly recommended that you create and use your own + layer for configuration and code. + Using your own layer as compared to just placing + configurations in a local.conf + configuration file makes it easier to reproduce your + distribution when using multiple build machines. + + Create the Distribution Configuration File: + The distribution configuration file needs to be created in + the conf/distro directory of your + layer. + You need to name it using your distribution name + (e.g. mydistro.conf. + You can split out parts of your configuration file + into include file and then "require" them from within + your distribution configuration file. + Be sure to place the include files in the + conf/distro/include directory of + your layer. + Common include files select the desired version and + revisions for individual recipes. + + If you want to base your distribution configuration file + on the very basic configuration from OE-Core, you + can "require" + require conf/distro/defaultsetup.conf. + Alternatively, you can create a distribution + configuration file from scratch using the + defaultsetup.conf file + or configuration files from other distributions + such as Poky or Angstrom as references. + + Your configuration file needs to set the following + variables: + + DISTRO_NAME [required] + DISTRO_VERSION [required] + DISTRO_FEATURES + DISTRO_EXTRA_RDEPENDS + DISTRO_EXTRA_RRECOMMENDS + TCLIBC + PREFERRED_VERSION + PREFERRED_PROVIDER + + Provide Miscellaneous Variables: + Be sure to define any other variable for which you want to + create a default or enforce as part of the distribution + configuration. + You can include nearly any variable from the + local.conf file. + Point to Your Distribution Configuration File: + In your local.conf file in the + Build Directory, + set your + DISTRO + variable to point to your distribution's configuration file. + Here is an example: + + DISTRO = "mydistro" + + Add More to the Layer if Necessary: + Use your layer to hold other information needed for the + distribution. + You can add recipes for installing distro-specific + configuration files that are not already + installed by another recipe. + If you have distro-specific configuration files that are + included by an existing recipe, you should add a + .bbappend for those. + You should add any image recipes that are specific to your + distribution. + You should add a psplash append file + for a branded splash screen. + Finally, be sure to add any other append files to make + custom changes that are specific to individual recipes. + + + +
+
Working with Packages