summaryrefslogtreecommitdiffstats
path: root/documentation/sdk-manual/sdk-appendix-obtain.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/sdk-manual/sdk-appendix-obtain.xml')
-rw-r--r--documentation/sdk-manual/sdk-appendix-obtain.xml82
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>