From 1adebc081d898ee14963b20276efc15acb1589c3 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 11 Jul 2013 16:16:05 +0300 Subject: [PATCH] ref-manual: Added new section for layer input detail. (From yocto-docs rev: ff952a9681df798cde34b50d1046233a47ca0ce5) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../ref-manual/figures/user-configuration.png | Bin 23369 -> 23323 bytes .../ref-manual/technical-details.xml | 420 ++++++++++++------ 2 files changed, 291 insertions(+), 129 deletions(-) diff --git a/documentation/ref-manual/figures/user-configuration.png b/documentation/ref-manual/figures/user-configuration.png index 2c81dae08c22fa0e7b67cfaa75c7a89a7d23571d..b4dafe60a21ff7d71980430169f33f25fe84959b 100644 GIT binary patch literal 23323 zcma&NWk8hO)&@)rFf>CBJ+$=D-7Ou`F*J&Rgh+_MASFX1T~dAH2$) zFfc6Zv{aQ$0&Ms4f~Rfn1@6BO)gNd6F!jnK+9N{ZL5%_C%N&SLIEK(rM!9R@OAz~g zURViTn-~YB3b_DhxD)EGn_?_DoFLh~EwZC6q%Dj*KA`ySt9zC?)8D3T$5MYk<3J zKj=EOZIPM@+Aw!?-EZ4?x+zo8d>RxQICFW*biqu;4Z|r3qfEjwQY7dr>(+coGHmx> zZ(S#X)w#m|`B)Q^o2&qfHS;_nOE&%X`@kD8996h9-oFRX3_qtNLz@JR`0suD^^q;n zMB2G2HRSgXyFXX&|6I8(WUT)4D}y&!Hux^jP?}bw$F$rJ+ zC=_beeJ@UfJwn0sBW4ue{BTlk<4BGKsgm65WY6C4h(q7eY%!HN!50XfH%XUs>~RH$9oo0b6l5Ng-Y* z$5CP7!v1#Hvu+hPG#ML+zkHw-SUsegqyjExP*!!Iv*#G z%5pr}o7e7^IRBjv?mbu}BD0H2rxhO?HvpHalgG?qIw^!S+(>Y+#CkdNxc3X{Gdg_G&wD<3K48D8H>mc`Soe% zuU7_AZe6x$#C=E`YpHqe-1$tA zh>#ufHXO8SU}22q5!)x<B4b$r02(V_iPRVM?1Oc}EY z&Tq7K{Ktz50|`zpJpX-t$y$>WFYx5vl7ascT zMUWfG9WC`vvggxZH+n|k&S@)Ux@*bbPW|MR!1mMDC! zI$id8(%WY&s5LAvs+4t7^oeR6yZ>mH!|OF6c+5HXIA_}b6UB+dry%{kN!RZkn&}bv zO41M=!vf#0$+xjCst-h&{p_QIZTQePex?paN67R($ot_=MA7t^2ojFZMsyACy|Xp3 zr)5j`I;4!jI;WyV`Jwt6%dUQOd!R$!GB&fhkZ>Ibg|Ja^ha8;ndkPo9**5{pC1o9o zvn=Ra-}>}sVM5ALGM?e--S4Xy9A01RN(Hu0S~N#H=H1k8-65F*9R!BFrU~C7vsPdz`R=Hu1kv!r zNfZ4oS?M_s*odlq@-t3+T;C(X5?MK8uF{aR3a2L~2NjJBg=^?a zvv$w3RRY;7=ez$P-pW12_i-j`^^TK8bArr5#l6#pEy1EH!BfFIuSQM9;oG4*1%CH7 z5;;@;f@F9%6&ae+KP)9weJ#sBl%~QQxh?b9K928$LFFGE-IpS-s{e%>Cj>DF0-5KU zT}%7=2O23C!C9H)`qM=z*Hu-^orA)^9;H{&zC0M$nvOU+ZFM|KVb(lJU(LzjO7kvMEqi_#+&bMc{ZomKioBv;fsJo2k%PFZ5 zG-+Yx{uFvk`VI+e2kMxQChdq`M_u?qTpOL$MfdBOU)@eu#mDw{i!dn zfq%&FiQPW0|4!JC*&^3>3uB}CAi%7?!h?5Jf#tADoBP}YJj4XYQV;%=9KnpfZh1lJ zmWss+jRXNBJD4eguwx+TCT>6X8b-h%^>!WW?|}hXp%9dE5Ir!XtsTH(io3vIs&Eg~ zcgsdF=c#+kbq27Bpeb8qmVC(N3o2g9;kk-1u)103zXmmipcw*|!eLPj5gcXRs{>kYaM}WYZoI7)CU~q`1|sgt($6GI8IQ}yWlg=lV#K$&lON=514=l>el#Zk;XP4 zoFa>B-&za#YVJ-ZpR;bNy0Fz>DFs(lb1aHjk&F|95 z&wgiR@kvCXVAmZ~Mc6Tzn2Dbll^APBVqi^kWG6~^O|6XcaQq-eS7A_C81)2gJXFmX zgrkVP(==eEyoI9fi{Ye z7W^o5?<7`t zq0yLMwk3)B3gh%ik%G$S^dXW?Z+LrIf!HQ`$NM$FXI=rm%6$T^z-ax4N)XfIfv zdu8DgZ3V|%mGfn<0I9G&9f*7tSFQ39uFRTYuHLtYYmPYuf8}67AxL1!1g1LS%0Ap? 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 WcAdRgAorOG{EYR@^h!_Ri2nhGk*%Qs literal 23369 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∋#)TT~wY-jf&K zG4>xi%CDi}5t_<~;U<=#MZJIzT=E%{Jka=8rPwHqmeWH3`$pFAogAVgfBYdZx#a?u_QJ=x<8|Vs%#{pNcQQy(MolyCfpIiUMbZ!QzUuD@MBi2LmG8T9P{Poh;N3DAuDO>y za)PVVS^^p?2%4D@z3_g8DYFh?luHi>zo0^b3}?UoskzW>LD7Wa2F z~ z_`G2Ue|~wKhV>%$3_N1f^BjvNr6NVTU*_&E(`b|oNZTdHz+M?tjDKcm3H6YwdAEny z8^7jMOm!Z7_~d!bbg6Bq@oxn1r!*Njzj2cZZpXL)y7}w(Y>NJm!yf!;b)_@wb*#@>Bes0BzZv28mBf$#{2&J>3DP%NF2WeE@}FEE*r-jghPI}V#02ya z25m1nyHmc7jJjx-?hEReNWhgAp0&^0??=3KGLL&}kfburOgOldY n@-dV##m4v9WKhOAAr4h;$9y@ClA(&B0Ds!*`j<-7@ZtXlCg~}2 diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml index 79d16549c3..664c4f7986 100644 --- a/documentation/ref-manual/technical-details.xml +++ b/documentation/ref-manual/technical-details.xml @@ -222,147 +222,309 @@ environment: - - - - - + + + + BitBake needs some basic configuration files in order to complete + a build. + These files are *.conf files. + The minimally necessary ones reside as example files in the + Source Directory. + For simplicity, this section refers to the Source Directory as + the "Poky Directory." + + Poky is primarily an aggregation of existing repositories and + is not actual canonical upstream source for anything. + + When you clone the poky Git repository or you + download and unpack a Yocto Project release, you can set up the + Source Directory to be named anything you want. + For this discussion, the cloned repository uses the default + name poky. + + + + The meta-yocto layer inside Poky contains + a conf directory that has example + configuration files. + These example files are used as a basis for creating actual + configuration files when you source the build environment + script oe-init-build-env. + + The oe-init-build-env script also exists + in the meta directory of the OE-Core + root directory. + Both scripts look for sample configuration files through + a $TEMPLATECONF variable. + When using the Yocto Project Development Environment, + that location resolves to the samples found in the + poky/meta-yocto/conf directory. + + + + + When you source the build environment script, it creates a + Build Directory + if one does not already exist. + BitBake uses the Build Directory for all its work during builds. + The Build Directory has a conf directory that + contains default versions of your local.conf + and bblayers.conf configuration files. + These default configuration files are created by + oe-init-build-env only if versions of these + files do not already exist in the Build Directory you specify + when you run the script. + + + + The local.conf file provides many + basic variables that define your build. + Here is a list of a few. + To see the default configurations in a local.conf + file created by the build environment script, see the + local.conf.sample in the + meta-yocto layer: + + Parallelism Options: + Controlled by the + BB_NUMBER_THREADS + and + PARALLEL_MAKE + variables. + Target Machine Selection: + Controlled by the + MACHINE + variable. + Download Directory: + Controlled by the + DL_DIR + variable. + Shared State Directory: + Controlled by the + SSTATE_DIR + variable. + Build Output: + Controlled by the + TMPDIR + variable. + + + + + The bblayers.conf file tells BitBake what + layers you want it to consider during the build. + The list of layers includes default layers needed by the build + system. + You have to manually add any custom layers that you have created. + You can find more information on working with the + bblayers.conf file in the + "Enabling Your Layer" + section in the Yocto Project Development Manual. + + + + The files site.conf and + auto.conf are not created by the environment + initialization script. + If you want these configuration files, you must create them + yourself: + + site.conf: + I don't really know what this does. + All I know is that if you want it, you need to hand-create + it. + I need some information on it. + auto.conf: + This file is not hand-created. + Rather, the file is usually created and written to by + an autobuilder. + The settings put into the file are typically the same as + you would find in the local.conf + or site.conf files. + + + + + + You can edit all configuration files to further define + the build. + This process is represented by the "User Configuration Edits" + box in the figure. + + + + When you launch your build with the + bitbake <target> command, BitBake + draws on the user configurations you have provided in your + Build Directory. + + + +

+ Metadata, Machine Configuration, and Policy Configuration + + + The previous section described the user configurations that + define the BitBake's global behavior. + This section takes a closer look at the layers the build system + uses to further control the build. + These layers provide Metadata for the software, machine, and + policy. + - BitBake needs some basic configuration files in order to complete - a build. - These files are *.conf files. - The minimally necessary ones reside as example files in the - Source Directory. - For simplicity, this section refers to the Source Directory as - the "Poky Directory." - - Poky is primarily an aggregation of existing repositories and - is not actual canonical upstream source for anything. - - When you clone the poky Git repository or you - download and unpack a Yocto Project release, you can set up the - Source Directory to be named anything you want. - Here, though, we will assume that you have a cloned repository that - has the default name poky. - - - - The meta-yocto layer inside Poky contains - a conf directory that has example - configuration files. - These example files are used as a basis for creating actual - configuration files when you source the build environment - script oe-init-build-env. - - The oe-init-build-env script also exists - in the meta directory of the OE-Core - root directory. - Both scripts look for sample configuration files through - a $TEMPLATECONF variable. - When using the Yocto Project Development Environment, - that location resolves to the samples found in the - poky/meta-yocto/conf directory. - - - - - When you source the build environment script, it creates a - Build Directory - that BitBake uses as the area in which it does all its work - during builds. - The Build Directory has a conf directory that - contains default versions of your local.conf - and bblayers.conf configuration files. - These default configuration files are created by - oe-init-build-env only if versions of these - files do not already exist in the Build Directory you specify - when you run the script. - - - - The local.conf file provides many - basic variables that define your build. - Here is a list of a few. - To see the default configurations in a local.conf - file created by the build environment script, see the - local.conf.sample in the - meta-yocto layer: + In general, three types of layer input exist: - Parallelism Options: - Controlled by the - BB_NUMBER_THREADS - and - PARALLEL_MAKE - variables. - Target Machine Selection: - Controlled by the - MACHINE - variable. - Download Directory: - Controlled by the - DL_DIR - variable. - Shared State Directory: - Controlled by the - SSTATE_DIR - variable. - Build Output: - Controlled by the - TMPDIR - variable. + Metadata: + Software layers contain user-supplied recipe files, + patches, and append files. + + Machine Configuration: + Board Support Package (BSP) layers provide machine + configurations. + This type of information is specific to a particular + target architecture. + Policy Configuration: + Distribution Layers provide top-level or general + policies for the image or SDK being built. + For example, this layer would dictate whether BitBake + produces RPM or IPK packages. - The bblayers.conf file tells BitBake what - layers you want it to consider during the build. - The list of layers includes default layers needed by the build - system. - You have to manually add any custom layers that you have created. - You can find more information on working with the - bblayers.conf file in the - "Enabling Your Layer" + The following figure shows an expanded representation of the + Metadata, Machine Configuration, and Policy Configuration input + boxes of the Yocto Project development environment: + + + + + + The Yocto Project has many layers that can be used. + You can see a web-interface listing of them on the + Source Repositories + page. + The layers are shown at the bottom categorized under + "Yocto Metadata Layers." + These layers are fundamentally a subset of the + OpenEmbedded Metadata Index, + which shows all layers supported by OpenEmbedded. + + + + Layers exist in the Yocto Project Source Repositories that cannot + be found in the OpenEmbedded Metadata Index. + These layers are either deprecated or experimental in nature. + + + + BitBake uses the bblayers.conf file that is + part of the user configuration to find what layers it should be + using as part of the build. + + + + For more information on layers, see the + "Understanding and Creating Layers" section in the Yocto Project Development Manual. - - The files site.conf and - auto.conf are not created by the environment - initialization script. - If you want these configuration files, you must create them - yourself: - - site.conf: - I don't really know what this does. - All I know is that if you want it, you need to hand-create - it. - I need some information on it. - auto.conf: - This file is not hand-created. - Rather, the file is usually created and written to by - an autobuilder. - The settings put into the file are typically the same as - you would find in the local.conf - or site.conf files. - - - +
+ Software Layer - - You can edit all configuration files to further define - the build. - This process is represented by the "User Configuration Edits" - box in the figure. - + + The software layer provides the Metadata for your source + code used during the build. + This general layer minimally contains license + information; a README file; a layer + configuration file named layer.conf; + and recipe files (.bb), append files + (.bbappend), and patches + (.patch). + - - When you launch your build with the - bitbake <target> command, BitBake - draws on the user configurations you have provided in your - Build Directory. - + + You provide any new recipes that your project needs in the + form of recipe files. + If you are modifying any existing recipes from other layers, + rather than duplicate them here with the modifcations, you can + provide a recipe append file that just has the modifications. + Patch files are stored in the files + directory. + +
+ +
+ Distro Layer + + + The distribution layer provides policy configurations for your + distribution. + Best practices dictate that you isolate these types of + configurations into their own layer. + Metadata you provide in this layer overrides similar settings + that BitBake finds in your local.conf + file in the Build Directory. + + + + The following list provides some explanation and references + for what you typically find in the distribution layer: + + classes: + Class files (.bbclass) hold + common functionality that can be shared among + recipes in the distribution. + When your recipes inherit a class, they take on the + settings and functions for that class. + You can read more about class files in the + "Classes" section. + + conf: + This area holds configuration information for the + distribution. + Any distribution-wide include files and, of course, the + layer.conf configuration + file that every layer must have. + recipes-core: + Recipes and append files that affect common + functionality across the distribution. + This area also can hold common distribution headers, + initialization files, and + defconfig files for the + distribution. + + +
+ +
+ BSP Layer + + + The BSP Layer provides machine configurations. + Everything in this layer is specific to the machine for which + you are building the image or the SDK. + BSP Layer's have a structure that is followed if they are + considered to be compatible with the Yocto Project. + For information on the structure, see the + Yocto Project Board Support Package (BSP) Developer's Guide. + + + + The BSP Layer contains a configuration directory that has + configuration files for the machine + (<machine>.conf) and, of course, + the layer (layer.conf). + + + + The remainder of the layer is dedicated to specific recipes + by function: bsp, core, graphics, and kernel. + Metadata can exist for multiple formfactors, graphics + support systems, and so forth. + +