summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2011-07-21 13:24:29 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-08-04 15:06:41 +0100
commit026f1463292990672e88ca7623d42f7c63d33feb (patch)
tree38658d64496e69c6985d00773a34e7517a3b51be /documentation
parent70e006ec0ce2b0edc6b4811100f80b15c447dced (diff)
downloadpoky-026f1463292990672e88ca7623d42f7c63d33feb.tar.gz
documentation/dev-manual/dev-manual-cases.xml: partial - more edits to the BSP case.
These converted it to 1.1_M2. there were a lot of changes going from the original example that used to bernard to 1.1_M2. (From yocto-docs rev: c5dbc8da1ebc0b710e8133fcdd5893e33776148d) Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-rw-r--r--documentation/dev-manual/dev-manual-cases.xml305
1 files changed, 174 insertions, 131 deletions
diff --git a/documentation/dev-manual/dev-manual-cases.xml b/documentation/dev-manual/dev-manual-cases.xml
index 83b02b1435..c1ebaf9ff7 100644
--- a/documentation/dev-manual/dev-manual-cases.xml
+++ b/documentation/dev-manual/dev-manual-cases.xml
@@ -65,7 +65,8 @@
65 The Linux Distributions</ulink> section and 65 The Linux Distributions</ulink> section and
66 <ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#packages'> 66 <ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#packages'>
67 The Packages</ulink> section both 67 The Packages</ulink> section both
68 in the Yocto Project Quick Start for requirements.</para></listitem> 68 in the Yocto Project Quick Start for requirements.
69 You will also need a release of Yocto Project installed on the host.</para></listitem>
69 <listitem><para>Choose a BSP available with Yocto Project that most closely represents 70 <listitem><para>Choose a BSP available with Yocto Project that most closely represents
70 your hardware.</para></listitem> 71 your hardware.</para></listitem>
71 <listitem><para>Get set up with a base BSP.</para></listitem> 72 <listitem><para>Get set up with a base BSP.</para></listitem>
@@ -135,16 +136,17 @@
135 $ git branch -a 136 $ git branch -a
136 $ git tag -l 137 $ git tag -l
137 </literallayout> 138 </literallayout>
138 For this example we are going to use the Yocto Project 1.0.1 Release, 139 For this example we are going to use the Yocto Project 1.1 Release,
139 which maps to the <filename>bernard</filename> branch in the repository. 140 which maps to the <filename>[NEED BRANCH]</filename> branch in the repository.
140 These commands create a local branch named <filename>bernard</filename> 141 These commands create a local branch named <filename>[NEED BRANCH]</filename>
141 that tracks the remote branch of the same name. 142 that tracks the remote branch of the same name.
142 <literallayout class='monospaced'> 143 <literallayout class='monospaced'>
143 144
144 $ cd poky 145 $ cd poky
145 $ git checkout -b bernard 146 $ git checkout -b bernard origin/bernard
146 Switched to a new branch 'bernard' 147 Switched to a new branch 'bernard'
147 </literallayout> 148 </literallayout>
149 [WRITER'S NOTE: I NEED THE REAL BRANCH NAMES IN THE EXAMPLE.]
148 </para> 150 </para>
149 </section> 151 </section>
150 152
@@ -205,16 +207,17 @@
205 then you need to do the same for the 207 then you need to do the same for the
206 BSP, which is located in the <filename>meta-intel</filename> Git repository. 208 BSP, which is located in the <filename>meta-intel</filename> Git repository.
207 The <filename>meta-intel</filename> repository contains all the metadata 209 The <filename>meta-intel</filename> repository contains all the metadata
208 that supports BSP creation. 210 that supports BSP creation.
211 When you set up the <filename>meta-intel</filename> Git repository you can
212 set it up anywhere you want.
213 We will set up the <filename>meta-intel</filename> Git repository inside the
214 <filename>poky</filename> Git repository in this example.
209 </para> 215 </para>
210 216
211 <para> 217 <para>
212 The following transcript shows the steps to clone the <filename>meta-intel</filename> 218 The following transcript shows the steps to clone the <filename>meta-intel</filename>
213 Git repository inside the <filename>poky</filename> Git repository created earlier in this 219 Git repository inside the <filename>poky</filename> Git repository created earlier in this
214 example. 220 example.
215 While this example establishes the <filename>meta-intel</filename> Git repository inside
216 the <filename>poky</filename> Git repository, you are not required to have
217 <filename>meta-intel</filename> inside of <filename>poky</filename>:
218 <literallayout class='monospaced'> 221 <literallayout class='monospaced'>
219 $cd poky 222 $cd poky
220 $ git clone git://git.yoctoproject.org/meta-intel.git 223 $ git clone git://git.yoctoproject.org/meta-intel.git
@@ -230,12 +233,13 @@
230 <para> 233 <para>
231 Because <filename>meta-intel</filename> is its own Git repository you will want 234 Because <filename>meta-intel</filename> is its own Git repository you will want
232 to be sure you are in the appropriate branch for your work. 235 to be sure you are in the appropriate branch for your work.
233 For this example we are going to use the <filename>bernard</filename> branch. 236 For this example we are going to use the <filename>[NEED BRANCH]</filename> branch.
234 <literallayout class='monospaced'> 237 <literallayout class='monospaced'>
235 $ cd meta-intel 238 $ cd meta-intel
236 $ git checkout -b bernard 239 $ git checkout -b bernard origin/bernard
237 Switched to a new branch 'bernard' 240 Switched to a new branch 'bernard'
238 </literallayout> 241 </literallayout>
242 [WRITER'S NOTE: I NEED THE REAL BRANCH NAMES IN THE EXAMPLE.]
239 </para> 243 </para>
240 </section> 244 </section>
241 245
@@ -264,9 +268,9 @@
264 Yocto Project release: <filename>atom-pc</filename>, <filename>beagleboard</filename>, 268 Yocto Project release: <filename>atom-pc</filename>, <filename>beagleboard</filename>,
265 <filename>mpc8315e</filename>, and <filename>routerstationpro</filename>. 269 <filename>mpc8315e</filename>, and <filename>routerstationpro</filename>.
266 The recipes and configurations for these four BSPs are located and dispersed 270 The recipes and configurations for these four BSPs are located and dispersed
267 within <filename>meta</filename>, which can be found in the Yocto Project source directory. 271 within <filename>meta-yocto</filename>, which can be found in the Yocto Project source directory.
268 Consequently, they are not totally isolated in the spirit of layers unless you think 272 Consequently, they are not totally isolated in the spirit of layers unless you think
269 of <filename>meta</filename> as a layer itself. 273 of <filename>meta-yocto</filename> as a layer itself.
270 On the other hand, the Yocto Project has isolated BSP layers within 274 On the other hand, the Yocto Project has isolated BSP layers within
271 <filename>meta-intel</filename> for the Crown Bay, Emenlow, Jasper Forest, N450, and 275 <filename>meta-intel</filename> for the Crown Bay, Emenlow, Jasper Forest, N450, and
272 Sugar Bay. 276 Sugar Bay.
@@ -297,7 +301,9 @@
297 The following example assumes your working directory is <filename>meta-intel</filename> 301 The following example assumes your working directory is <filename>meta-intel</filename>
298 inside the <filename>meta-intel</filename> Git repository. 302 inside the <filename>meta-intel</filename> Git repository.
299 If you downloaded and expanded a Crown Bay tarball then you simply copy the resulting 303 If you downloaded and expanded a Crown Bay tarball then you simply copy the resulting
300 <filename>meta-crownbay</filename> directory structure to a location of your choice: 304 <filename>meta-crownbay</filename> directory structure to a location of your choice.
305 Good practice for a Git repository is to just copy the new layer alongside the existing
306 BSP layers in the <filename>meta-intel</filename> Git repository:
301 <literallayout class='monospaced'> 307 <literallayout class='monospaced'>
302 $ cp -a meta-crownbay/ meta-mymachine 308 $ cp -a meta-crownbay/ meta-mymachine
303 </literallayout> 309 </literallayout>
@@ -333,75 +339,16 @@
333 339
334 <para> 340 <para>
335 The next step makes changes to <filename>mymachine.conf</filename> itself. 341 The next step makes changes to <filename>mymachine.conf</filename> itself.
336 The only changes needed for this example are changes to the comment lines and to the 342 The only changes needed for this example are changes to the comment lines.
337 Source Revision (<filename>SRCREV</filename>) lines at the bottom of the file. 343 Here we simply substitute the Crown Bay name with an appropriate name.
338 </para> 344 </para>
339 345
340 <para> 346 <para>
341 For the comments the string <filename>crownbay-noemgd</filename> needs to be changed to 347 Note that inside the <filename>mymachine.conf</filename> is the
342 <filename>mymachine</filename>. 348 <filename>PREFERRED_PROVIDER_virtual/kernel</filename> statement.
343 </para> 349 This statement identifies the kernel that the BSP is going to use.
344 350 In this case the BSP is using <filename>linux-yocto</filename>, which is the
345 <para> 351 current Linux Yocto kernel based on the Linux 2.6.37 release.
346 To understand how to complete the changes to the <filename>SRCREV</filename>
347 statements we need to know which kernel we are using.
348 The <filename>PREFERRED_PROVIDER_virtual/kernel</filename> statement in the file specifies
349 the kernel we are going to use.
350 We are going to use <filename>linux-yocto</filename>.
351 The <filename>SRCREV</filename> statement pairs point to the exact machine branch
352 (commit) and <filename>meta</filename> branch in the <filename>poky</filename> Git repository.
353 Right now the <filename>SRCREV</filename> variables are as follows in
354 <filename>mymachine.conf</filename>:
355 <literallayout class='monospaced'>
356 SRCREV_machine_pn-linux-yocto_crownbay-noemgd ?= \ "56fe215d3f1a2cc3a5a26482ac9809ba44495695"
357 SRCREV_meta_pn-linux-yocto_crownbay-noemgd ?= \ "e1f85a470934a0cf6abde5d95533e74501822c6b"
358
359 SRCREV_machine_pn-linux-yocto-stable_crownbay-noemgd ?= \ "56fe215d3f1a2cc3a5a26482ac9809ba44495695"
360 SRCREV_meta_pn-linux-yocto-stable_crownbay-noemgd ?= \ "e1f85a470934a0cf6abde5d95533e74501822c6b"
361 </literallayout>
362 </para>
363
364 <para>
365 You will notice that there are two pairs of <filename>SRCREV</filename> statements.
366 The first pair points to a current development kernel, which we don’t care about
367 in this example.
368 The bottom pair points to the stable kernel that we will use:
369 <filename>linux-yocto-stable</filename>.
370 At this point though, the unique commit strings all are still associated with
371 Crown Bay.
372 So the next changes we make to the configuration file gets rid of the pair that points
373 to the development kernel and provides new commit strings that points to the
374 <filename>atom-pc-standard</filename>, which we are choosing for the initial build of this BSP.
375 Here are the final <filename>SRCREV</filename> statements:
376 <literallayout class='monospaced'>
377 SRCREV_machine_pn-linux-yocto-stable_mymachine ?= \ "72ca49ab08b8eb475cec82a10049503602325791"
378 SRCREV_meta_pn-linux-yocto-stable_mymachine ?= \ "ec26387cb168e9e0976999b528b5a9dd62e3157a"
379 </literallayout>
380 </para>
381
382 <para>
383 If you are familiar with Git repositories you probably won’t have trouble locating the
384 exact commit strings you need to change the <filename>SRCREV</filename> statements.
385 You can find all the <filename>machine</filename> and <filename>meta</filename>
386 branch points (commits) for the <filename>linux-yocto-2.6.34</filename> kernel
387 <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-2.6.34'>here</ulink>.
388 </para>
389
390 <para>
391 If you need a little more assistance after going to the link then do the following:
392 <orderedlist>
393 <listitem><para>Expand the list of branches by clicking <filename>[…]</filename></para></listitem>
394 <listitem><para>Click on the <filename>atom-pc-standard</filename> branch</para></listitem>
395 <listitem><para>Click on the commit column header to view the top commit</para></listitem>
396 <listitem><para>Copy the commit string for use in the <filename>mymachine.conf</filename>
397 file</para></listitem>
398 </orderedlist>
399 </para>
400
401 <para>
402 For the <filename>SRCREV</filename> statement that points to the <filename>meta</filename>
403 branch use the same procedure except expand the <filename>wrs_meta</filename>
404 branch in step 2 above.
405 </para> 352 </para>
406 353
407 <para> 354 <para>
@@ -415,25 +362,16 @@
415 </para> 362 </para>
416 363
417 <para> 364 <para>
418 First, remove these statements from the file: 365 The file contains these statements that reference the Crown Bay BSP:
419 <literallayout class='monospaced'> 366 <literallayout class='monospaced'>
420 BBFILE_COLLECTIONS_crownbayd += "crownbay" 367 BBFILE_COLLECTIONS += "crownbay"
421 BBFILE_PATTERN_crownbay := "^${LAYERDIR}/" 368 BBFILE_PATTERN_crownbay := "^${LAYERDIR}/"
422 BBFILE_PRIORITY_crownbay = "6" 369 BBFILE_PRIORITY_crownbay = "6"
423 </literallayout> 370 </literallayout>
424 </para> 371 </para>
425 372
426 <para> 373 <para>
427 This leaves three similar statements that we care about: 374 Simply substitute the machine string name <filename>crownbay</filename>
428 <literallayout class='monospaced'>
429 BBFILE_COLLECTIONS_crownbay-noemgd += "crownbay-noemgd"
430 BBFILE_PATTERN_crownbay-noemgd := "^${LAYERDIR}/"
431 BBFILE_PRIORITY_crownbay-noemgd = "6"
432 </literallayout>
433 </para>
434
435 <para>
436 Simply substitute the machine string name <filename>crownbay-noemgd</filename>
437 with the new machine name <filename>mymachine</filename> to get the following: 375 with the new machine name <filename>mymachine</filename> to get the following:
438 <literallayout class='monospaced'> 376 <literallayout class='monospaced'>
439 BBFILE_COLLECTIONS_mymachine += "mymachine" 377 BBFILE_COLLECTIONS_mymachine += "mymachine"
@@ -444,84 +382,186 @@
444 382
445 <para> 383 <para>
446 Now we will take a look at the recipes in your new layer. 384 Now we will take a look at the recipes in your new layer.
447 The standard BSP structure has areas for BSP, graphics, and kernel recipes. 385 The standard BSP structure has areas for BSP, graphics, core, and kernel recipes.
448 When you create a BSP you use these areas for appropriate recipes and append files. 386 When you create a BSP you use these areas for appropriate recipes and append files.
449 Recipes take the form of <filename>.bb</filename> files. 387 Recipes take the form of <filename>.bb</filename> files.
450 If you want to leverage off of existing recipes elsewhere in the Yocto Project 388 If you want to leverage off of existing recipes elsewhere in the Yocto Project
451 source tree but change them you can use <filename>.bbappend</filename> files. 389 source tree but change them you can use <filename>.bbappend</filename> files.
452 All new recipes and append files for your layer go in the layer’s 390 All new recipes and append files for your layer go in the layer’s
453 <filename>recipes-bsp</filename>, <filename>recipes-kernel</filename>, and 391 <filename>recipes-bsp</filename>, <filename>recipes-kernel</filename>,
392 <filename>recipes-core</filename>, and
454 <filename>recipes-graphics</filename> directories. 393 <filename>recipes-graphics</filename> directories.
455 </para> 394 </para>
456 395
457 <para> 396 <para>
397 First, let us look at <filename>recipes-bsp</filename>.
458 For this example we are not adding any new BSP recipes. 398 For this example we are not adding any new BSP recipes.
459 And, we only need to remove the formfactor we do not want and change the name of 399 And, we only need to remove the formfactor we do not want and change the name of
460 the remaining one that supports no EMGD. 400 the remaining one that supports no EMGD.
461 These commands take care of the new layer’s BSP recipes: 401 These commands take care of the new layer’s BSP recipes:
462 <literallayout class='monospaced'> 402 <literallayout class='monospaced'>
463 $ rm -rf meta-mymachine/recipes-bsp/formfactor/formfactor/crownbay 403 $ rm &dash;rf meta-mymachine/recipes-graphics/xorg-xserver/*emgd*
464 $ mv meta-mymachine/recipes-bsp/formfactor/formfactor/crownbay-noemgd/ \ 404 $ mv meta-mymachine/recipes-bsp/formfactor/formfactor/crownbay-noemgd/ \
465 meta-mymachine/recipes-bsp/formfactor/formfactor/mymachine 405 meta-mymachine/recipes-bsp/formfactor/formfactor/mymachine
466 </literallayout> 406 </literallayout>
467 </para> 407 </para>
468 408
469 <para> 409 <para>
470 For this example we want to remove anything that supports EMGD. 410 Now let us look at <filename>recipes-graphics</filename>.
471 The following command cleans up the <filename>recipes-graphics</filename> directory: 411 For this example we want to remove anything that supports EMGD and
412 be sure to rename remaining directories appropriately.
413 The following commands clean up the <filename>recipes-graphics</filename> directory:
472 <literallayout class='monospaced'> 414 <literallayout class='monospaced'>
473 $ rm –rf meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-emgd* 415 $ rm &dash;rf meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-emgd*
416 $ rm &dash;rf meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay
417 $ mv meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd \
418 meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/mymachine
474 </literallayout> 419 </literallayout>
475 </para> 420 </para>
476 421
477 <para> 422 <para>
478 At this point the <filename>recipes-graphics</filename> directory just has files that 423 At this point the <filename>recipes-graphics</filename> directory just has files that
479 support Video Electronics Standards Association (VESA) graphics modes. 424 support Video Electronics Standards Association (VESA) graphics modes.
480 However, we still need to rename a directory in the layer. 425 </para>
481 This command applies the final change to the <filename>recipes-graphics</filename> directory: 426
427 <para>
428 Now let us look at changes in <filename>recipes-core</filename>.
429 The file <filename>task-core-tools.bbappend</filename> in
430 <filename>recipes-core/tasks</filename> appends the similarly named recipe
431 located in the Yocto Project Git repository at <filename>meta/recipes-core/tasks</filename>.
432 The "append" file in our layer right now is Crown Bay-specific and supports
433 EMGD and non-EMGD.
434 Here are the contents of the file:
482 <literallayout class='monospaced'> 435 <literallayout class='monospaced'>
483 $ mv meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd \ 436 RRECOMMENDS_task-core-tools-profile_append_crownbay = " systemtap"
484 meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/mymachine 437 RRECOMMENDS_task-core-tools-profile_append_crownbay-noemgd = " systemtap"
438 </literallayout>
439 </para>
440
441 <para>
442 The <filename>RRECOMMENDS</filename> statements list packages that
443 extend usability.
444 The first <filename>RRECOMMENDS</filename> statement can be removed, while the
445 second one can be changed to reflect <filename>meta-mymachine</filename>:
446 <literallayout class='monospaced'>
447 RRECOMMENDS_task-core-tools-profile_append_mymachine = " systemtap"
485 </literallayout> 448 </literallayout>
486 </para> 449 </para>
487 450
488 <para> 451 <para>
489 Finally, let us look at the <filename>recipes-kernel</filename> directory in the example. 452 Finally, let us look at <filename>recipes-kernel</filename> changes.
490 The only file we are concerned with for the example is 453 Recall that the BSP uses the <filename>linux-yocto</filename> kernel as determined
491 <filename>linux-yocto-stable_git.bbappend</filename>. 454 earlier in the <filename>mymachine.conf</filename>.
492 The other files all support the EMGD feature of Crown Bay. 455 The recipe for that kernel is located is not located in the
493 These commands clean up the directory: 456 BSP layer but rather in Yocto Project Git repository at
457 <filename>meta/recipes-kernel/linux</filename> and is
458 named <filename>linux-yocto-2.6.37.bb</filename>.
459 The <filename>SRCREV_machine</filename> and <filename>SRCREV_meta</filename>
460 statements point to the exact commits in the Yocto Project Git repository from
461 which the source for the kernel can be found.
462 </para>
463
464 <para>
465 However, in the <filename>meta-mymachine</filename> layer in
466 <filename>recipes-kernel/linux</filename> resides a <filename>.bbappend</filename>
467 file named <filename>linux-yocto-2.6.37.bbappend</filename> that
468 is appended to the recipe of the same name in <filename>meta/recipes-kernel/link</filename>.
469 Thus, the <filename>SRCREV</filename> statements in the "append" file override
470 the more general statements found in <filename>meta</filename>.
471 </para>
472
473 <para>
474 The <filename>SRCREV</filename> statements in the "append" file currently point
475 to the kernel that supports the Crown Bay BSP with and without EMGD support.
476 Here are the statements:
494 <literallayout class='monospaced'> 477 <literallayout class='monospaced'>
495 $ rm –rf meta-mymachine/recipes-kernel/linux/linux-yocto 478 SRCREV_machine_pn-linux-yocto_crownbay ?= \
496 $ rm –rf meta-mymachine/recipes-kernel/linux/linux-yocto-stable 479 "372c0ab135978bd8ca3a77c88816a25c5ed8f303"
497 $ rm meta-mymachine/recipes-kernel/linux/linux-yocto_git.bbappend 480 SRCREV_meta_pn-linux-yocto_crownbay ?= \
481 "d5d3c6480d61f83503ccef7fbcd765f7aca8b71b"
482
483 SRCREV_machine_pn-linux-yocto_crownbay-noemgd ?= \
484 "372c0ab135978bd8ca3a77c88816a25c5ed8f303"
485 SRCREV_meta_pn-linux-yocto_crownbay-noemgd ?= \
486 "d5d3c6480d61f83503ccef7fbcd765f7aca8b71b"
498 </literallayout> 487 </literallayout>
499 </para> 488 </para>
500 489
501 <para> 490 <para>
502 The <filename>linux-yocto-stable_git.bbappend</filename> file appends a Yocto Project 491 You will notice that there are two pairs of <filename>SRCREV</filename> statements.
503 recipe having the same name. 492 The top pair points to a kernel that supports
504 The changes we need to make are to remove the statements that support EMGD 493 EMGD, which we don’t care about in this example.
505 and change the remaining Crown Bay strings to be <filename>mymachine</filename>. 494 The bottom pair points to the kernel that we will use:
506 We also do not need to include the pointer to the EMGD licenses patch at the end of 495 <filename>linux-yocto</filename>.
507 the file. 496 At this point though, the unique commit strings all are still associated with
508 Here is the original file: 497 Crown Bay.
498 </para>
499
500 <para>
501 So the next changes we make modify this <filename>linux-yocto-2.6.37.bbappend</filename>
502 file.
503 First, we delete the two <filename>SRCREV</filename> statements that support
504 EMGD (the top pair).
505 Next, we change the remaining pair to specify <filename>mymachine</filename>
506 and then we insert the commit identifier to point to the kernel in which we
507 are interested, which will be based on the <filename>atom-pc-standard</filename>
508 kernel.
509 Here are the final <filename>SRCREV</filename> statements:
509 <literallayout class='monospaced'> 510 <literallayout class='monospaced'>
510 FILESEXTRAPATHS := “${THISDIR}/${PN}” 511 SRCREV_machine_pn-linux-yocto-_mymachine ?= \
511 COMPATIBLE_MACHINE_crownbay = “crownbay” 512 "fce17f046d3756045e4dfb49221d1cf60fcae329"
512 KMACHINE_CROWNBAY = “CROWNBAY” 513 SRCREV_meta_pn-linux-yocto-stable_mymachine ?= \
513 COMPATIBLE_MACHINE_crownbay-noemgd = “crownbay-noemgd” 514 "84f1a422d7e21fbc23a687035bdf9d42471f19e0"
514 KMACHINE_crownbay-noemgd = “crownbay”
515 SRC_URI += file://0001-crownbay-update-a-handful-of-EMGD-licenses.patch
516 </literallayout> 515 </literallayout>
517 </para> 516 </para>
518 517
519 <para> 518 <para>
520 After editing the file it looks like this: 519 If you are familiar with Git repositories you probably won’t have trouble locating the
520 exact commit strings you need to change the <filename>SRCREV</filename> statements.
521 You can find all the <filename>machine</filename> and <filename>meta</filename>
522 branch points (commits) for the <filename>linux-yocto-2.6.37</filename> kernel
523 <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-2.6.37'>here</ulink>.
524 </para>
525
526 <para>
527 If you need a little more assistance after going to the link then do the following:
528 <orderedlist>
529 <listitem><para>Expand the list of branches by clicking <filename>[…]</filename></para></listitem>
530 <listitem><para>Click on the <filename>yocto/standard/common-pc/atom-pc</filename>
531 branch</para></listitem>
532 <listitem><para>Click on the commit column header to view the top commit</para></listitem>
533 <listitem><para>Copy the commit string for use in the
534 <filename>linux-yocto-2.6.37.bbappend</filename> file</para></listitem>
535 </orderedlist>
536 </para>
537
538 <para>
539 For the <filename>SRCREV</filename> statement that points to the <filename>meta</filename>
540 branch use the same procedure except expand the <filename>meta</filename>
541 branch in step 2 above.
542 </para>
543
544 <para>
545 Also in the <filename>linux-yocto-2.6.47.bbappend</filename> file are
546 <filename>COMPATIBLE_MACHINE</filename>, <filename>KMACHINE</filename>,
547 and <filename>KERNEL_FEATURES</filename> statements.
548 Again, there are two sets of these: one for EMGD support and one for non-EMGD support.
549 Because we are not interested in supporting EMGD those three can be deleted.
550 The remaining three must be changed so that <filename>mymachine</filename> replaces
551 <filename>crownbay-noemgd</filename> and <filename>crownbay</filename>.
552 Here is the final <filename>linux-yocto-2.6.37.bbappend</filename> file after all
553 the edits:
521 <literallayout class='monospaced'> 554 <literallayout class='monospaced'>
522 FILESEXTRAPATHS := “${THISDIR}/${PN}” 555 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
523 COMPATIBLE_MACHINE_mymachine = “mymachine” 556
524 KMACHINE_mymachine = “mymachine 557 COMPATIBLE_MACHINE_mymachine = "mymachine"
558 KMACHINE_mymachine = "yocto/standard/mymachine"
559 KERNEL_FEATURES_append_mymachine += " cfg/smp.scc"
560
561 SRCREV_machine_pn-linux-yocto_mymachine ?= \
562 "fce17f046d3756045e4dfb49221d1cf60fcae329"
563 SRCREV_meta_pn-linux-yocto_mymachine ?= \
564 "84f1a422d7e21fbc23a687035bdf9d42471f19e0"
525 </literallayout> 565 </literallayout>
526 </para> 566 </para>
527 567
@@ -529,8 +569,10 @@
529 In summary, the edits to the layer’s recipe files result in removal of any files and 569 In summary, the edits to the layer’s recipe files result in removal of any files and
530 statements that do not support your targeted hardware in addition to the inclusion 570 statements that do not support your targeted hardware in addition to the inclusion
531 of any new recipes you might need. 571 of any new recipes you might need.
532 In this example, it was simply a matter of ridding the new layer <filename>meta-machine</filename> 572 In this example, it was simply a matter of ridding the new layer
533 of any code that supported the EMGD features. 573 <filename>meta-machine</filename> of any code that supported the EMGD features
574 and making sure we were pointing to the kernel that supports our example, which
575 is the <filename>atom-pc-standard</filename> kernel.
534 We did not introduce any new recipes to the layer. 576 We did not introduce any new recipes to the layer.
535 </para> 577 </para>
536 578
@@ -555,7 +597,8 @@
555 <ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#building-image'> 597 <ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#building-image'>
556 Building an Image</ulink> section of the Yocto Project Quick Start. 598 Building an Image</ulink> section of the Yocto Project Quick Start.
557 You might want to reference this information. 599 You might want to reference this information.
558 The remainder of this section will apply to our example of the <filename>meta-mymachine</filename> layer. 600 The remainder of this section will apply to our example of the
601 <filename>meta-mymachine</filename> layer.
559 </para> 602 </para>
560 603
561 <para> 604 <para>