summaryrefslogtreecommitdiffstats
path: root/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst')
-rw-r--r--bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst195
1 files changed, 94 insertions, 101 deletions
diff --git a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst
index e3fd321588..654196ca24 100644
--- a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst
+++ b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst
@@ -18,28 +18,32 @@ it.
18Obtaining BitBake 18Obtaining BitBake
19================= 19=================
20 20
21See the :ref:`bitbake-user-manual/bitbake-user-manual-hello:obtaining bitbake` section for 21See the :ref:`bitbake-user-manual/bitbake-user-manual-intro:obtaining bitbake` section for
22information on how to obtain BitBake. Once you have the source code on 22information on how to obtain BitBake. Once you have the source code on
23your machine, the BitBake directory appears as follows: :: 23your machine, the BitBake directory appears as follows::
24 24
25 $ ls -al 25 $ ls -al
26 total 100 26 total 108
27 drwxrwxr-x. 9 wmat wmat 4096 Jan 31 13:44 . 27 drwxr-xr-x 9 fawkh 10000 4096 feb 24 12:10 .
28 drwxrwxr-x. 3 wmat wmat 4096 Feb 4 10:45 .. 28 drwx------ 36 fawkh 10000 4096 mar 2 17:00 ..
29 -rw-rw-r--. 1 wmat wmat 365 Nov 26 04:55 AUTHORS 29 -rw-r--r-- 1 fawkh 10000 365 feb 24 12:10 AUTHORS
30 drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 bin 30 drwxr-xr-x 2 fawkh 10000 4096 feb 24 12:10 bin
31 drwxrwxr-x. 4 wmat wmat 4096 Jan 31 13:44 build 31 -rw-r--r-- 1 fawkh 10000 16501 feb 24 12:10 ChangeLog
32 -rw-rw-r--. 1 wmat wmat 16501 Nov 26 04:55 ChangeLog 32 drwxr-xr-x 2 fawkh 10000 4096 feb 24 12:10 classes
33 drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 classes 33 drwxr-xr-x 2 fawkh 10000 4096 feb 24 12:10 conf
34 drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 conf 34 drwxr-xr-x 5 fawkh 10000 4096 feb 24 12:10 contrib
35 drwxrwxr-x. 3 wmat wmat 4096 Nov 26 04:55 contrib 35 drwxr-xr-x 6 fawkh 10000 4096 feb 24 12:10 doc
36 -rw-rw-r--. 1 wmat wmat 17987 Nov 26 04:55 COPYING 36 drwxr-xr-x 8 fawkh 10000 4096 mar 2 16:26 .git
37 drwxrwxr-x. 3 wmat wmat 4096 Nov 26 04:55 doc 37 -rw-r--r-- 1 fawkh 10000 31 feb 24 12:10 .gitattributes
38 -rw-rw-r--. 1 wmat wmat 69 Nov 26 04:55 .gitignore 38 -rw-r--r-- 1 fawkh 10000 392 feb 24 12:10 .gitignore
39 -rw-rw-r--. 1 wmat wmat 849 Nov 26 04:55 HEADER 39 drwxr-xr-x 13 fawkh 10000 4096 feb 24 12:11 lib
40 drwxrwxr-x. 5 wmat wmat 4096 Jan 31 13:44 lib 40 -rw-r--r-- 1 fawkh 10000 1224 feb 24 12:10 LICENSE
41 -rw-rw-r--. 1 wmat wmat 195 Nov 26 04:55 MANIFEST.in 41 -rw-r--r-- 1 fawkh 10000 15394 feb 24 12:10 LICENSE.GPL-2.0-only
42 -rw-rw-r--. 1 wmat wmat 2887 Nov 26 04:55 TODO 42 -rw-r--r-- 1 fawkh 10000 1286 feb 24 12:10 LICENSE.MIT
43 -rw-r--r-- 1 fawkh 10000 229 feb 24 12:10 MANIFEST.in
44 -rw-r--r-- 1 fawkh 10000 2413 feb 24 12:10 README
45 -rw-r--r-- 1 fawkh 10000 43 feb 24 12:10 toaster-requirements.txt
46 -rw-r--r-- 1 fawkh 10000 2887 feb 24 12:10 TODO
43 47
44At this point, you should have BitBake cloned to a directory that 48At this point, you should have BitBake cloned to a directory that
45matches the previous listing except for dates and user names. 49matches the previous listing except for dates and user names.
@@ -49,10 +53,10 @@ Setting Up the BitBake Environment
49 53
50First, you need to be sure that you can run BitBake. Set your working 54First, you need to be sure that you can run BitBake. Set your working
51directory to where your local BitBake files are and run the following 55directory to where your local BitBake files are and run the following
52command: :: 56command::
53 57
54 $ ./bin/bitbake --version 58 $ ./bin/bitbake --version
55 BitBake Build Tool Core version 1.23.0, bitbake version 1.23.0 59 BitBake Build Tool Core version 2.3.1
56 60
57The console output tells you what version 61The console output tells you what version
58you are running. 62you are running.
@@ -61,14 +65,14 @@ The recommended method to run BitBake is from a directory of your
61choice. To be able to run BitBake from any directory, you need to add 65choice. To be able to run BitBake from any directory, you need to add
62the executable binary to your binary to your shell's environment 66the executable binary to your binary to your shell's environment
63``PATH`` variable. First, look at your current ``PATH`` variable by 67``PATH`` variable. First, look at your current ``PATH`` variable by
64entering the following: :: 68entering the following::
65 69
66 $ echo $PATH 70 $ echo $PATH
67 71
68Next, add the directory location 72Next, add the directory location
69for the BitBake binary to the ``PATH``. Here is an example that adds the 73for the BitBake binary to the ``PATH``. Here is an example that adds the
70``/home/scott-lenovo/bitbake/bin`` directory to the front of the 74``/home/scott-lenovo/bitbake/bin`` directory to the front of the
71``PATH`` variable: :: 75``PATH`` variable::
72 76
73 $ export PATH=/home/scott-lenovo/bitbake/bin:$PATH 77 $ export PATH=/home/scott-lenovo/bitbake/bin:$PATH
74 78
@@ -99,7 +103,7 @@ discussion mailing list about the BitBake build tool.
99 103
100 This example was inspired by and drew heavily from 104 This example was inspired by and drew heavily from
101 `Mailing List post - The BitBake equivalent of "Hello, World!" 105 `Mailing List post - The BitBake equivalent of "Hello, World!"
102 <http://www.mail-archive.com/yocto@yoctoproject.org/msg09379.html>`_. 106 <https://www.mail-archive.com/yocto@yoctoproject.org/msg09379.html>`_.
103 107
104As stated earlier, the goal of this example is to eventually compile 108As stated earlier, the goal of this example is to eventually compile
105"Hello World". However, it is unknown what BitBake needs and what you 109"Hello World". However, it is unknown what BitBake needs and what you
@@ -116,7 +120,7 @@ Following is the complete "Hello World" example.
116 120
117#. **Create a Project Directory:** First, set up a directory for the 121#. **Create a Project Directory:** First, set up a directory for the
118 "Hello World" project. Here is how you can do so in your home 122 "Hello World" project. Here is how you can do so in your home
119 directory: :: 123 directory::
120 124
121 $ mkdir ~/hello 125 $ mkdir ~/hello
122 $ cd ~/hello 126 $ cd ~/hello
@@ -127,41 +131,26 @@ Following is the complete "Hello World" example.
127 directory is a good way to isolate your project. 131 directory is a good way to isolate your project.
128 132
129#. **Run BitBake:** At this point, you have nothing but a project 133#. **Run BitBake:** At this point, you have nothing but a project
130 directory. Run the ``bitbake`` command and see what it does: :: 134 directory. Run the ``bitbake`` command and see what it does::
131 135
132 $ bitbake 136 $ bitbake
133 The BBPATH variable is not set and bitbake did not 137 ERROR: The BBPATH variable is not set and bitbake did not find a conf/bblayers.conf file in the expected location.
134 find a conf/bblayers.conf file in the expected location.
135 Maybe you accidentally invoked bitbake from the wrong directory? 138 Maybe you accidentally invoked bitbake from the wrong directory?
136 DEBUG: Removed the following variables from the environment:
137 GNOME_DESKTOP_SESSION_ID, XDG_CURRENT_DESKTOP,
138 GNOME_KEYRING_CONTROL, DISPLAY, SSH_AGENT_PID, LANG, no_proxy,
139 XDG_SESSION_PATH, XAUTHORITY, SESSION_MANAGER, SHLVL,
140 MANDATORY_PATH, COMPIZ_CONFIG_PROFILE, WINDOWID, EDITOR,
141 GPG_AGENT_INFO, SSH_AUTH_SOCK, GDMSESSION, GNOME_KEYRING_PID,
142 XDG_SEAT_PATH, XDG_CONFIG_DIRS, LESSOPEN, DBUS_SESSION_BUS_ADDRESS,
143 _, XDG_SESSION_COOKIE, DESKTOP_SESSION, LESSCLOSE, DEFAULTS_PATH,
144 UBUNTU_MENUPROXY, OLDPWD, XDG_DATA_DIRS, COLORTERM, LS_COLORS
145
146 The majority of this output is specific to environment variables that
147 are not directly relevant to BitBake. However, the very first
148 message regarding the ``BBPATH`` variable and the
149 ``conf/bblayers.conf`` file is relevant.
150 139
151 When you run BitBake, it begins looking for metadata files. The 140 When you run BitBake, it begins looking for metadata files. The
152 :term:`BBPATH` variable is what tells BitBake where 141 :term:`BBPATH` variable is what tells BitBake where
153 to look for those files. ``BBPATH`` is not set and you need to set 142 to look for those files. :term:`BBPATH` is not set and you need to set
154 it. Without ``BBPATH``, BitBake cannot find any configuration files 143 it. Without :term:`BBPATH`, BitBake cannot find any configuration files
155 (``.conf``) or recipe files (``.bb``) at all. BitBake also cannot 144 (``.conf``) or recipe files (``.bb``) at all. BitBake also cannot
156 find the ``bitbake.conf`` file. 145 find the ``bitbake.conf`` file.
157 146
158#. **Setting BBPATH:** For this example, you can set ``BBPATH`` in 147#. **Setting BBPATH:** For this example, you can set :term:`BBPATH` in
159 the same manner that you set ``PATH`` earlier in the appendix. You 148 the same manner that you set ``PATH`` earlier in the appendix. You
160 should realize, though, that it is much more flexible to set the 149 should realize, though, that it is much more flexible to set the
161 ``BBPATH`` variable up in a configuration file for each project. 150 :term:`BBPATH` variable up in a configuration file for each project.
162 151
163 From your shell, enter the following commands to set and export the 152 From your shell, enter the following commands to set and export the
164 ``BBPATH`` variable: :: 153 :term:`BBPATH` variable::
165 154
166 $ BBPATH="projectdirectory" 155 $ BBPATH="projectdirectory"
167 $ export BBPATH 156 $ export BBPATH
@@ -175,24 +164,18 @@ Following is the complete "Hello World" example.
175 ("~") character as BitBake does not expand that character as the 164 ("~") character as BitBake does not expand that character as the
176 shell would. 165 shell would.
177 166
178#. **Run BitBake:** Now that you have ``BBPATH`` defined, run the 167#. **Run BitBake:** Now that you have :term:`BBPATH` defined, run the
179 ``bitbake`` command again: :: 168 ``bitbake`` command again::
180 169
181 $ bitbake 170 $ bitbake
182 ERROR: Traceback (most recent call last): 171 ERROR: Unable to parse /home/scott-lenovo/bitbake/lib/bb/parse/__init__.py
183 File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 163, in wrapped 172 Traceback (most recent call last):
184 return func(fn, *args) 173 File "/home/scott-lenovo/bitbake/lib/bb/parse/__init__.py", line 127, in resolve_file(fn='conf/bitbake.conf', d=<bb.data_smart.DataSmart object at 0x7f22919a3df0>):
185 File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 173, in parse_config_file 174 if not newfn:
186 return bb.parse.handle(fn, data, include) 175 > raise IOError(errno.ENOENT, "file %s not found in %s" % (fn, bbpath))
187 File "/home/scott-lenovo/bitbake/lib/bb/parse/__init__.py", line 99, in handle 176 fn = newfn
188 return h['handle'](fn, data, include) 177 FileNotFoundError: [Errno 2] file conf/bitbake.conf not found in <projectdirectory>
189 File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 120, in handle 178
190 abs_fn = resolve_file(fn, data)
191 File "/home/scott-lenovo/bitbake/lib/bb/parse/__init__.py", line 117, in resolve_file
192 raise IOError("file %s not found in %s" % (fn, bbpath))
193 IOError: file conf/bitbake.conf not found in /home/scott-lenovo/hello
194
195 ERROR: Unable to parse conf/bitbake.conf: file conf/bitbake.conf not found in /home/scott-lenovo/hello
196 179
197 This sample output shows that BitBake could not find the 180 This sample output shows that BitBake could not find the
198 ``conf/bitbake.conf`` file in the project directory. This file is 181 ``conf/bitbake.conf`` file in the project directory. This file is
@@ -205,18 +188,18 @@ Following is the complete "Hello World" example.
205 recipe files. For this example, you need to create the file in your 188 recipe files. For this example, you need to create the file in your
206 project directory and define some key BitBake variables. For more 189 project directory and define some key BitBake variables. For more
207 information on the ``bitbake.conf`` file, see 190 information on the ``bitbake.conf`` file, see
208 http://git.openembedded.org/bitbake/tree/conf/bitbake.conf. 191 https://git.openembedded.org/bitbake/tree/conf/bitbake.conf.
209 192
210 Use the following commands to create the ``conf`` directory in the 193 Use the following commands to create the ``conf`` directory in the
211 project directory: :: 194 project directory::
212 195
213 $ mkdir conf 196 $ mkdir conf
214 197
215 From within the ``conf`` directory, 198 From within the ``conf`` directory,
216 use some editor to create the ``bitbake.conf`` so that it contains 199 use some editor to create the ``bitbake.conf`` so that it contains
217 the following: :: 200 the following::
218 201
219 PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}" 202 PN = "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
220 203
221 TMPDIR = "${TOPDIR}/tmp" 204 TMPDIR = "${TOPDIR}/tmp"
222 CACHE = "${TMPDIR}/cache" 205 CACHE = "${TMPDIR}/cache"
@@ -226,12 +209,12 @@ Following is the complete "Hello World" example.
226 209
227 .. note:: 210 .. note::
228 211
229 Without a value for PN , the variables STAMP , T , and B , prevent more 212 Without a value for :term:`PN`, the variables :term:`STAMP`, :term:`T`, and :term:`B`, prevent more
230 than one recipe from working. You can fix this by either setting PN to 213 than one recipe from working. You can fix this by either setting :term:`PN` to
231 have a value similar to what OpenEmbedded and BitBake use in the default 214 have a value similar to what OpenEmbedded and BitBake use in the default
232 bitbake.conf file (see previous example). Or, by manually updating each 215 ``bitbake.conf`` file (see previous example). Or, by manually updating each
233 recipe to set PN . You will also need to include PN as part of the STAMP 216 recipe to set :term:`PN`. You will also need to include :term:`PN` as part of the :term:`STAMP`,
234 , T , and B variable definitions in the local.conf file. 217 :term:`T`, and :term:`B` variable definitions in the ``local.conf`` file.
235 218
236 The ``TMPDIR`` variable establishes a directory that BitBake uses 219 The ``TMPDIR`` variable establishes a directory that BitBake uses
237 for build output and intermediate files other than the cached 220 for build output and intermediate files other than the cached
@@ -251,21 +234,17 @@ Following is the complete "Hello World" example.
251 glossary. 234 glossary.
252 235
253#. **Run BitBake:** After making sure that the ``conf/bitbake.conf`` file 236#. **Run BitBake:** After making sure that the ``conf/bitbake.conf`` file
254 exists, you can run the ``bitbake`` command again: :: 237 exists, you can run the ``bitbake`` command again::
255 238
256 $ bitbake 239 $ bitbake
257 ERROR: Traceback (most recent call last): 240 ERROR: Unable to parse /home/scott-lenovo/bitbake/lib/bb/parse/parse_py/BBHandler.py
258 File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 163, in wrapped 241 Traceback (most recent call last):
259 return func(fn, *args) 242 File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/BBHandler.py", line 67, in inherit(files=['base'], fn='configuration INHERITs', lineno=0, d=<bb.data_smart.DataSmart object at 0x7fab6815edf0>):
260 File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 177, in _inherit 243 if not os.path.exists(file):
261 bb.parse.BBHandler.inherit(bbclass, "configuration INHERITs", 0, data) 244 > raise ParseError("Could not inherit file %s" % (file), fn, lineno)
262 File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/BBHandler.py", line 92, in inherit 245
263 include(fn, file, lineno, d, "inherit") 246 bb.parse.ParseError: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass
264 File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 100, in include 247
265 raise ParseError("Could not %(error_out)s file %(fn)s" % vars(), oldfn, lineno)
266 ParseError: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass
267
268 ERROR: Unable to parse base: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass
269 248
270 In the sample output, 249 In the sample output,
271 BitBake could not find the ``classes/base.bbclass`` file. You need 250 BitBake could not find the ``classes/base.bbclass`` file. You need
@@ -278,20 +257,23 @@ Following is the complete "Hello World" example.
278 in the ``classes`` directory of the project (i.e ``hello/classes`` 257 in the ``classes`` directory of the project (i.e ``hello/classes``
279 in this example). 258 in this example).
280 259
281 Create the ``classes`` directory as follows: :: 260 Create the ``classes`` directory as follows::
282 261
283 $ cd $HOME/hello 262 $ cd $HOME/hello
284 $ mkdir classes 263 $ mkdir classes
285 264
286 Move to the ``classes`` directory and then create the 265 Move to the ``classes`` directory and then create the
287 ``base.bbclass`` file by inserting this single line: addtask build 266 ``base.bbclass`` file by inserting this single line::
267
268 addtask build
269
288 The minimal task that BitBake runs is the ``do_build`` task. This is 270 The minimal task that BitBake runs is the ``do_build`` task. This is
289 all the example needs in order to build the project. Of course, the 271 all the example needs in order to build the project. Of course, the
290 ``base.bbclass`` can have much more depending on which build 272 ``base.bbclass`` can have much more depending on which build
291 environments BitBake is supporting. 273 environments BitBake is supporting.
292 274
293#. **Run BitBake:** After making sure that the ``classes/base.bbclass`` 275#. **Run BitBake:** After making sure that the ``classes/base.bbclass``
294 file exists, you can run the ``bitbake`` command again: :: 276 file exists, you can run the ``bitbake`` command again::
295 277
296 $ bitbake 278 $ bitbake
297 Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information. 279 Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.
@@ -314,7 +296,7 @@ Following is the complete "Hello World" example.
314 Minimally, you need a recipe file and a layer configuration file in 296 Minimally, you need a recipe file and a layer configuration file in
315 your layer. The configuration file needs to be in the ``conf`` 297 your layer. The configuration file needs to be in the ``conf``
316 directory inside the layer. Use these commands to set up the layer 298 directory inside the layer. Use these commands to set up the layer
317 and the ``conf`` directory: :: 299 and the ``conf`` directory::
318 300
319 $ cd $HOME 301 $ cd $HOME
320 $ mkdir mylayer 302 $ mkdir mylayer
@@ -322,20 +304,29 @@ Following is the complete "Hello World" example.
322 $ mkdir conf 304 $ mkdir conf
323 305
324 Move to the ``conf`` directory and create a ``layer.conf`` file that has the 306 Move to the ``conf`` directory and create a ``layer.conf`` file that has the
325 following: :: 307 following::
326 308
327 BBPATH .= ":${LAYERDIR}" 309 BBPATH .= ":${LAYERDIR}"
328 BBFILES += "${LAYERDIR}/\*.bb" 310 BBFILES += "${LAYERDIR}/*.bb"
329 BBFILE_COLLECTIONS += "mylayer" 311 BBFILE_COLLECTIONS += "mylayer"
330 `BBFILE_PATTERN_mylayer := "^${LAYERDIR_RE}/" 312 BBFILE_PATTERN_mylayer := "^${LAYERDIR_RE}/"
313 LAYERSERIES_CORENAMES = "hello_world_example"
314 LAYERSERIES_COMPAT_mylayer = "hello_world_example"
331 315
332 For information on these variables, click on :term:`BBFILES`, 316 For information on these variables, click on :term:`BBFILES`,
333 :term:`LAYERDIR`, :term:`BBFILE_COLLECTIONS` or :term:`BBFILE_PATTERN_mylayer <BBFILE_PATTERN>` 317 :term:`LAYERDIR`, :term:`BBFILE_COLLECTIONS`, :term:`BBFILE_PATTERN_mylayer <BBFILE_PATTERN>`
334 to go to the definitions in the glossary. 318 or :term:`LAYERSERIES_COMPAT` to go to the definitions in the glossary.
319
320 .. note::
321
322 We are setting both ``LAYERSERIES_CORENAMES`` and :term:`LAYERSERIES_COMPAT` in this particular case, because we
323 are using bitbake without OpenEmbedded.
324 You should usually just use :term:`LAYERSERIES_COMPAT` to specify the OE-Core versions for which your layer
325 is compatible, and add the meta-openembedded layer to your project.
335 326
336 You need to create the recipe file next. Inside your layer at the 327 You need to create the recipe file next. Inside your layer at the
337 top-level, use an editor and create a recipe file named 328 top-level, use an editor and create a recipe file named
338 ``printhello.bb`` that has the following: :: 329 ``printhello.bb`` that has the following::
339 330
340 DESCRIPTION = "Prints Hello World" 331 DESCRIPTION = "Prints Hello World"
341 PN = 'printhello' 332 PN = 'printhello'
@@ -356,7 +347,7 @@ Following is the complete "Hello World" example.
356 follow the links to the glossary. 347 follow the links to the glossary.
357 348
358#. **Run BitBake With a Target:** Now that a BitBake target exists, run 349#. **Run BitBake With a Target:** Now that a BitBake target exists, run
359 the command and provide that target: :: 350 the command and provide that target::
360 351
361 $ cd $HOME/hello 352 $ cd $HOME/hello
362 $ bitbake printhello 353 $ bitbake printhello
@@ -376,7 +367,7 @@ Following is the complete "Hello World" example.
376 ``hello/conf`` for this example). 367 ``hello/conf`` for this example).
377 368
378 Set your working directory to the ``hello/conf`` directory and then 369 Set your working directory to the ``hello/conf`` directory and then
379 create the ``bblayers.conf`` file so that it contains the following: :: 370 create the ``bblayers.conf`` file so that it contains the following::
380 371
381 BBLAYERS ?= " \ 372 BBLAYERS ?= " \
382 /home/<you>/mylayer \ 373 /home/<you>/mylayer \
@@ -386,15 +377,17 @@ Following is the complete "Hello World" example.
386 377
387#. **Run BitBake With a Target:** Now that you have supplied the 378#. **Run BitBake With a Target:** Now that you have supplied the
388 ``bblayers.conf`` file, run the ``bitbake`` command and provide the 379 ``bblayers.conf`` file, run the ``bitbake`` command and provide the
389 target: :: 380 target::
390 381
391 $ bitbake printhello 382 $ bitbake printhello
383 Loading cache: 100% |
384 Loaded 0 entries from dependency cache.
392 Parsing recipes: 100% |##################################################################################| 385 Parsing recipes: 100% |##################################################################################|
393 Time: 00:00:00
394 Parsing of 1 .bb files complete (0 cached, 1 parsed). 1 targets, 0 skipped, 0 masked, 0 errors. 386 Parsing of 1 .bb files complete (0 cached, 1 parsed). 1 targets, 0 skipped, 0 masked, 0 errors.
395 NOTE: Resolving any missing task queue dependencies 387 NOTE: Resolving any missing task queue dependencies
396 NOTE: Preparing RunQueue 388 Initialising tasks: 100% |###############################################################################|
397 NOTE: Executing RunQueue Tasks 389 NOTE: No setscene tasks
390 NOTE: Executing Tasks
398 ******************** 391 ********************
399 * * 392 * *
400 * Hello, World! * 393 * Hello, World! *