Re: Understanding the git commits for Yocto and meta
On Jan 28, 2012, at 6:25 PM, Bruce Ashfield wrote:
I'm sure I'm not using the terminology right because, I clearly don't understand the whole concept yet. That light bulb has not gone on yet. :-)
Basically, I see from a user perspective that you start the process with creating a clone of the Yocto Project files repository, git://git.yoctoproject.org/poky, and you also create a clone of the meta-intel BSP repository if you are working with the Intel board BSPs. I have on occasion also cloned the Yocto Linux Kernel and poky extra so I could do the Appendix B example. In the examples and my testing, I've always checked out the edison branch of both the yocto project files in the poky directory and the edison branch in the meta-intel directory. So in my primitive thinking, my branch is edison. By examining Appendix B, I see where they checkout a branch of the Yocto Linux kernel called, common-pc-base, using the command, git checkout -b common-pc-base origin/yocto/standard/common-pc/base. But once changes are made you commit those changes to the local bare clone that will be used in the build process. So I think I see that to get the right versions of the Yocto Linux Kernel, I need to tell bitbake to use a particular branch called yocto/standard/common-pc/base. I think the KMACHINE parameter does this in the Appendix B example. However, in the App. B example, there is no talk about SRCREV anywhere.
Relating Appendix A recipes-kernel SRCREV to Appendix B example is a problem for me.
So here is a terminology problem in my mind. yocto/standard/common-pc/atom-pc seems to be a branch in the meta-intel repository. edison seems to be both a snapshot and branch of poky repository.???
For example, at , http://git.yoctoproject.org/cgit/cgit.cgi/, I see Poky listed. clicking on Poky, http://git.yoctoproject.org/cgit/cgit.cgi/poky/, I go to a summary page that shows edison as a branch of poky. If I look at the log and commit tabs on that page I see that Scott Rifenbark had a patch that got committed most recently in November:
author Scott Rifenbark <scott.m.rifenbark@...>2011-11-23 18:58:23 (GMT)
committer Richard Purdie <richard.purdie@...>2011-11-25 15:26:48 (GMT)
So that tells me that If I sticking to edison for everything related to poky, then I need to use this commit string to get the latest Edison Poky patches, Am I right???
Where do I put that or is the fact that I checked out edison branch and did a recent pull make me current with respect to poky???
So basically, in Appendix A Recipes-kernel section. what exactly are the SRCREV statements telling Bitbake and why are there 2 of them.
I think I see part of my problem. (Other than too much bourbon over the last 40 years)
The Yocto project (poky) repository has edison, bernard, master as branches of that repository. I need to keep that thinking separate from the meta-intel repository where edison and bernard are also branches.
Plus, the yocto linux kernel is yet another git repository which has branches like meta, crownbay, common-pc, etc?? did I get that right?? is this the only part that needs a SRCREV??
So in the Appendix A example, which SRCREV is tied to what? Below is the 1st SRCREV for the board branch(actual code changes)? and the Second one the Meta data?:
COMPATIBLE_MACHINE_mymachine = "mymachine" KMACHINE_mymachine = "yocto/standard/common-pc/atom-pc" KERNEL_FEATURES_append_mymachine += " cfg/smp.scc" SRCREV_machine_pn-linux-yocto_mymachine ?= \ "1e18e44adbe79b846e382370eb29bc4b8cd5a1a0" SRCREV_meta_pn-linux-yocto_mymachine ?= \ "d05450e4aef02c1b7137398ab3a9f8f96da74f52"
Thanks for taking the time to help me with this confusion.