[yocto] [PATCH 2/3] linux-yocto: streamline new BSP creation

Bruce Ashfield bruce.ashfield at windriver.com
Mon Jan 17 13:57:31 PST 2011


By setting BOOTSTRAP to the branch that should be used for a
currently undefined BSP a build can be completed and an
environment for streamlining the BSP created.

With the appropriate machine.conf, and a defconfig any MACHINE
can be built against and inherit the configuration of the
standard yocto kernel.

Signed-off-by: Bruce Ashfield <bruce.ashfield at windriver.com>
---
 meta/classes/kernel-yocto.bbclass |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index df2a8a4..88dcf32 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -24,7 +24,7 @@ python __anonymous () {
             bb.data.setVar("KMACHINE", "${MACHINE}", d)
             # track the global configuration on a bootstrapped BSP
             bb.data.setVar("SRCREV_machine", "${SRCREV_meta}", d)
-            bb.data.setVar("BOOTSTRAP", "t", d)
+            bb.data.setVar("BOOTSTRAP", bb.data.expand("${MACHINE}",d) + "-standard", d)
     else:
         # The branch for a build is:
         #    yocto/<kernel type>/${KMACHINE} or
@@ -44,10 +44,10 @@ python __anonymous () {
         bb.data.setVar('KMACHINE_' + bb.data.expand("${MACHINE}",d), kmachine, d)
 
         if mach == "UNDEFINED":
-            bb.data.setVar("KBRANCH", "yocto/standard/base", d)
             bb.data.setVar('KMACHINE_' + bb.data.expand("${MACHINE}",d), bb.data.expand("${MACHINE}",d), d)
+            bb.data.setVar("KBRANCH", "yocto/standard/base", d)
             bb.data.setVar("SRCREV_machine", "standard", d)
-            bb.data.setVar("BOOTSTRAP", "t", d)
+            bb.data.setVar("BOOTSTRAP", "yocto/standard/" + bb.data.expand("${MACHINE}",d), d)
 }
 
 do_patch() {
@@ -57,6 +57,11 @@ do_patch() {
 	fi
 
 	kbranch=${KBRANCH}
+	if [ -n "${BOOTSTRAP}" ]; then
+           # switch from a generic to a specific branch
+           kbranch=${BOOTSTRAP}
+	fi
+
 
 	# simply ensures that a branch of the right name has been created
 	createme ${ARCH} ${kbranch} ${defconfig}
-- 
1.7.0.4




More information about the yocto mailing list