diff options
author | Scott Rifenbark <srifenbark@gmail.com> | 2016-03-21 14:25:47 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-03-23 21:56:09 +0000 |
commit | 7233e359ddc50c80415c746449c33aa0fe83862d (patch) | |
tree | 66c18581190b4fa64f93be2e918a62ba81e2d8d7 /documentation/sdk-manual/sdk-appendix-obtain.xml | |
parent | b31bf7c68b99d5893ab671612cda34ce01a631bf (diff) | |
download | poky-7233e359ddc50c80415c746449c33aa0fe83862d.tar.gz |
sdk-manual: Edits to add extensible SDK configuration sections.
(From yocto-docs rev: 378bbceb8ea06c225c4758807e25a35521faa3a9)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/sdk-manual/sdk-appendix-obtain.xml')
-rw-r--r-- | documentation/sdk-manual/sdk-appendix-obtain.xml | 82 |
1 files changed, 16 insertions, 66 deletions
diff --git a/documentation/sdk-manual/sdk-appendix-obtain.xml b/documentation/sdk-manual/sdk-appendix-obtain.xml index 6ffc958695..daa5e79fe8 100644 --- a/documentation/sdk-manual/sdk-appendix-obtain.xml +++ b/documentation/sdk-manual/sdk-appendix-obtain.xml | |||
@@ -52,18 +52,20 @@ | |||
52 | 52 | ||
53 | <para> | 53 | <para> |
54 | As an alternative to locating and downloading a toolchain installer, | 54 | As an alternative to locating and downloading a toolchain installer, |
55 | you can build the toolchain installer if you have a | 55 | you can build the toolchain installer assuming you have first sourced |
56 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>. | 56 | the environment setup script. |
57 | <note> | 57 | See the |
58 | Although not the preferred method, it is also possible to use | 58 | "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>" |
59 | <filename>bitbake meta-toolchain</filename> to build the toolchain | 59 | section in the Yocto Project Quick Start for steps that show you |
60 | installer. | 60 | how to set up the Yocto Project environment. |
61 | If you do use this method, you must separately install and extract | 61 | In particular, you need to be sure the |
62 | the target sysroot. | 62 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> |
63 | For information on how to install the sysroot, see the | 63 | variable matches the architecture for which you are building and that |
64 | "<link linkend='sdk-extracting-the-root-filesystem'>Extracting the Root Filesystem</link>" | 64 | the |
65 | section. | 65 | <ulink url='&YOCTO_DOCS_REF_URL;#var-SDKMACHINE'><filename>SDKMACHINE</filename></ulink> |
66 | </note> | 66 | variable is correctly set if you are building a toolchain designed to |
67 | run on an architecture that differs from your current development host | ||
68 | machine (i.e. the build machine). | ||
67 | </para> | 69 | </para> |
68 | 70 | ||
69 | <para> | 71 | <para> |
@@ -81,54 +83,6 @@ | |||
81 | </para> | 83 | </para> |
82 | 84 | ||
83 | <para> | 85 | <para> |
84 | Another powerful feature is that the toolchain is completely | ||
85 | self-contained. | ||
86 | The binaries are linked against their own copy of | ||
87 | <filename>libc</filename>, which results in no dependencies | ||
88 | on the target system. | ||
89 | To achieve this, the pointer to the dynamic loader is | ||
90 | configured at install time since that path cannot be dynamically | ||
91 | altered. | ||
92 | This is the reason for a wrapper around the | ||
93 | <filename>populate_sdk</filename> and | ||
94 | <filename>populate_sdk_ext</filename> archives. | ||
95 | </para> | ||
96 | |||
97 | <para> | ||
98 | Another feature is that only one set of cross-canadian toolchain | ||
99 | binaries are produced per architecture. | ||
100 | This feature takes advantage of the fact that the target hardware can | ||
101 | be passed to <filename>gcc</filename> as a set of compiler options. | ||
102 | Those options are set up by the environment script and contained in | ||
103 | variables such as | ||
104 | <ulink url='&YOCTO_DOCS_REF_URL;#var-CC'><filename>CC</filename></ulink> | ||
105 | and | ||
106 | <ulink url='&YOCTO_DOCS_REF_URL;#var-LD'><filename>LD</filename></ulink>. | ||
107 | This reduces the space needed for the tools. | ||
108 | Understand, however, that a sysroot is still needed for every target | ||
109 | since those binaries are target-specific. | ||
110 | </para> | ||
111 | |||
112 | <para> | ||
113 | Remember, before using any BitBake command, you | ||
114 | must source the build environment setup script | ||
115 | (i.e. | ||
116 | <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink> | ||
117 | or | ||
118 | <ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>) | ||
119 | located in the Source Directory and you must make sure your | ||
120 | <filename>conf/local.conf</filename> variables are correct. | ||
121 | In particular, you need to be sure the | ||
122 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> | ||
123 | variable matches the architecture for which you are building and that | ||
124 | the | ||
125 | <ulink url='&YOCTO_DOCS_REF_URL;#var-SDKMACHINE'><filename>SDKMACHINE</filename></ulink> | ||
126 | variable is correctly set if you are building a toolchain designed to | ||
127 | run on an architecture that differs from your current development host | ||
128 | machine (i.e. the build machine). | ||
129 | </para> | ||
130 | |||
131 | <para> | ||
132 | When the <filename>bitbake</filename> command completes, the toolchain | 86 | When the <filename>bitbake</filename> command completes, the toolchain |
133 | installer will be in | 87 | installer will be in |
134 | <filename>tmp/deploy/sdk</filename> in the Build Directory. | 88 | <filename>tmp/deploy/sdk</filename> in the Build Directory. |
@@ -154,12 +108,8 @@ | |||
154 | <title>Extracting the Root Filesystem</title> | 108 | <title>Extracting the Root Filesystem</title> |
155 | 109 | ||
156 | <para> | 110 | <para> |
157 | After installing the toolchain or building it using BitBake, | 111 | After installing the toolchain, for some use cases you |
158 | you need a root filesystem, which you need to separately extract. | 112 | might need to separately extract a root filesystem: |
159 | </para> | ||
160 | |||
161 | <para> | ||
162 | Here are some cases where you need to extract the root filesystem: | ||
163 | <itemizedlist> | 113 | <itemizedlist> |
164 | <listitem><para>You want to boot the image using NFS. | 114 | <listitem><para>You want to boot the image using NFS. |
165 | </para></listitem> | 115 | </para></listitem> |