summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/kernel-yocto.bbclass115
-rw-r--r--meta/recipes-kernel/kern-tools/kern-tools-native_git.bb2
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb1
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb2
-rw-r--r--meta/recipes-kernel/linux/linux-yocto.inc7
-rw-r--r--meta/recipes-kernel/linux/linux-yocto_2.6.37.bb2
-rw-r--r--meta/recipes-kernel/linux/linux-yocto_3.0.bb23
-rw-r--r--meta/recipes-kernel/linux/linux-yocto_3.2.bb2
8 files changed, 86 insertions, 68 deletions
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index c995a2ef57..c6425b2b69 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -45,9 +45,6 @@ def find_urls(d):
45 45
46do_patch() { 46do_patch() {
47 cd ${S} 47 cd ${S}
48 if [ -f ${WORKDIR}/defconfig ]; then
49 defconfig=${WORKDIR}/defconfig
50 fi
51 48
52 # if kernel tools are available in-tree, they are preferred 49 # if kernel tools are available in-tree, they are preferred
53 # and are placed on the path before any external tools. Unless 50 # and are placed on the path before any external tools. Unless
@@ -59,16 +56,13 @@ do_patch() {
59 fi 56 fi
60 57
61 kbranch=${KBRANCH} 58 kbranch=${KBRANCH}
62 if [ -n "${YOCTO_KERNEL_EXTERNAL_BRANCH}" ]; then
63 # switch from a generic to a specific branch
64 kbranch=${YOCTO_KERNEL_EXTERNAL_BRANCH}
65 fi
66 59
67 # simply ensures that a branch of the right name has been created 60 # if we have a defined/set meta branch we should not be generating
68 if [ -n "${YOCTO_KERNEL_META_DATA}" ]; then 61 # any meta data. The passed branch has what we need.
62 if [ -n "${KMETA}" ]; then
69 createme_flags="--disable-meta-gen" 63 createme_flags="--disable-meta-gen"
70 fi 64 fi
71 createme ${createme_flags} ${ARCH} ${kbranch} ${defconfig} 65 createme ${createme_flags} ${ARCH} ${kbranch}
72 if [ $? -ne 0 ]; then 66 if [ $? -ne 0 ]; then
73 echo "ERROR. Could not create ${kbranch}" 67 echo "ERROR. Could not create ${kbranch}"
74 exit 1 68 exit 1
@@ -95,7 +89,7 @@ do_patch() {
95 fi 89 fi
96 90
97 # executes and modifies the source tree as required 91 # executes and modifies the source tree as required
98 patchme ${kbranch} 92 patchme ${KMACHINE}
99 if [ $? -ne 0 ]; then 93 if [ $? -ne 0 ]; then
100 echo "ERROR. Could not modify ${kbranch}" 94 echo "ERROR. Could not modify ${kbranch}"
101 exit 1 95 exit 1
@@ -122,7 +116,7 @@ do_kernel_checkout() {
122 mv ${WORKDIR}/git/.git ${S} 116 mv ${WORKDIR}/git/.git ${S}
123 rm -rf ${WORKDIR}/git/ 117 rm -rf ${WORKDIR}/git/
124 cd ${S} 118 cd ${S}
125 if [ -n "${YOCTO_KERNEL_META_DATA}" ] && [ -n "${KMETA}" ]; then 119 if [ -n "${KMETA}" ]; then
126 git branch -a | grep -q ${KMETA} 120 git branch -a | grep -q ${KMETA}
127 if [ $? -ne 0 ]; then 121 if [ $? -ne 0 ]; then
128 echo "ERROR. The branch '${KMETA}' is required and was not" 122 echo "ERROR. The branch '${KMETA}' is required and was not"
@@ -131,15 +125,6 @@ do_kernel_checkout() {
131 exit 1 125 exit 1
132 fi 126 fi
133 fi 127 fi
134 if [ -z "${YOCTO_KERNEL_EXTERNAL_BRANCH}" ] && [ -n "${KBRANCH}" ] ; then
135 git branch -a | grep -q ${KBRANCH}
136 if [ $? -ne 0 ]; then
137 echo "ERROR. The branch '${KBRANCH}' is required and was not"
138 echo "found. Ensure that the SRC_URI points to a valid linux-yocto"
139 echo "kernel repository"
140 exit 1
141 fi
142 fi
143 fi 128 fi
144 if [ -d "${WORKDIR}/git/" ] && [ ! -d "${WORKDIR}/git/.git" ]; then 129 if [ -d "${WORKDIR}/git/" ] && [ ! -d "${WORKDIR}/git/.git" ]; then
145 # we build out of {S}, so ensure that ${S} is clean and present 130 # we build out of {S}, so ensure that ${S} is clean and present
@@ -192,7 +177,7 @@ do_kernel_configme() {
192 177
193 cd ${S} 178 cd ${S}
194 PATH=${PATH}:${S}/scripts/util 179 PATH=${PATH}:${S}/scripts/util
195 configme ${configmeflags} --reconfig --output ${B} ${KBRANCH} ${KMACHINE} 180 configme ${configmeflags} --reconfig --output ${B} ${LINUX_KERNEL_TYPE} ${KMACHINE}
196 if [ $? -ne 0 ]; then 181 if [ $? -ne 0 ]; then
197 echo "ERROR. Could not configure ${KMACHINE}-${LINUX_KERNEL_TYPE}" 182 echo "ERROR. Could not configure ${KMACHINE}-${LINUX_KERNEL_TYPE}"
198 exit 1 183 exit 1
@@ -221,51 +206,71 @@ python do_kernel_configcheck() {
221do_validate_branches() { 206do_validate_branches() {
222 cd ${S} 207 cd ${S}
223 208
224 # nothing to do if bootstrapping 209 set +e
225 if [ -n "${YOCTO_KERNEL_EXTERNAL_BRANCH}" ]; then 210 # if SRCREV is AUTOREV it shows up as AUTOINC there's nothing to
226 return 211 # check and we can exit early
227 fi
228
229 # nothing to do if SRCREV is AUTOREV
230 if [ "${SRCREV_machine}" = "AUTOINC" ]; then 212 if [ "${SRCREV_machine}" = "AUTOINC" ]; then
231 # restore the branch for builds 213 return
232 git checkout -f ${KBRANCH} 214 fi
215
216 # if the branches do not exist, then there's nothing to check either
217 git show-ref --quiet --verify -- "refs/heads/${KBRANCH}"
218 if [ $? -eq 1 ]; then
233 return 219 return
234 fi 220 fi
235 221
236 branch_head=`git show-ref -s --heads ${KBRANCH}` 222 branch_head=`git show-ref -s --heads ${KBRANCH}`
237 meta_head=`git show-ref -s --heads ${KMETA}` 223 if [ -z "${SRCREV_machine}" ]; then
238 target_branch_head="${SRCREV_machine}" 224 target_branch_head="${SRCREV}"
239 target_meta_head="${SRCREV_meta}" 225 else
226 target_branch_head="${SRCREV_machine}"
227 fi
228
229 if [ "${target_branch_head}" = "AUTOINC" ]; then
230 return
231 fi
240 232
233 # We have SRCREVs and we have branches so validation can continue!
241 current=`git branch |grep \*|sed 's/^\* //'` 234 current=`git branch |grep \*|sed 's/^\* //'`
242 if [ -n "$target_branch_head" ] && [ "$branch_head" != "$target_branch_head" ]; then 235 if [ -n "$target_branch_head" ] && [ "$branch_head" != "$target_branch_head" ] &&
243 if [ -n "${KERNEL_REVISION_CHECKING}" ]; then 236 [ "$target_branch_head" != "AUTOINC" ]; then
244 ref=`git show ${target_meta_head} 2>&1 | head -n1 || true` 237 ref=`git show ${target_branch_head} 2>&1 | head -n1 || true`
245 if [ "$ref" = "fatal: bad object ${target_meta_head}" ]; then 238 if [ "$ref" = "fatal: bad object ${target_meta_head}" ]; then
246 echo "ERROR ${target_branch_head} is not a valid commit ID." 239 echo "ERROR ${target_branch_head} is not a valid commit ID."
247 echo "The kernel source tree may be out of sync" 240 echo "The kernel source tree may be out of sync"
248 exit 1 241 exit 1
249 else 242 else
250 echo "Forcing branch $current to ${target_branch_head}" 243 echo "Forcing branch $current to ${target_branch_head}"
251 git branch -m $current $current-orig 244 git branch -m $current $current-orig
252 git checkout -b $current ${target_branch_head} 245 git checkout -b $current ${target_branch_head}
253 fi
254 fi 246 fi
255 fi 247 fi
256 248
249 meta_head=`git show-ref -s --heads ${KMETA}`
250 target_meta_head="${SRCREV_meta}"
251 git show-ref --quiet --verify -- "refs/heads/${KMETA}"
252 if [ $? -eq 1 ]; then
253 return
254 fi
255
256 if [ "${target_meta_head}" = "AUTOINC" ]; then
257 return
258 fi
259
257 if [ "$meta_head" != "$target_meta_head" ]; then 260 if [ "$meta_head" != "$target_meta_head" ]; then
258 if [ -n "${KERNEL_REVISION_CHECKING}" ]; then 261 ref=`git show ${target_meta_head} 2>&1 | head -n1 || true`
259 ref=`git show ${target_meta_head} 2>&1 | head -n1 || true` 262 if [ "$ref" = "fatal: bad object ${target_meta_head}" ]; then
260 if [ "$ref" = "fatal: bad object ${target_meta_head}" ]; then 263 echo "ERROR ${target_meta_head} is not a valid commit ID"
261 echo "ERROR ${target_meta_head} is not a valid commit ID" 264 echo "The kernel source tree may be out of sync"
262 echo "The kernel source tree may be out of sync" 265 exit 1
266 else
267 echo "Forcing branch meta to ${target_meta_head}"
268 git branch -m ${KMETA} ${KMETA}-orig
269 git checkout -b ${KMETA} ${target_meta_head}
270 if [ $? -ne 0 ];then
271 echo "ERROR: could not checkout meta branch from known hash ${target_meta_head}"
263 exit 1 272 exit 1
264 else 273 fi
265 echo "Forcing branch meta to ${target_meta_head}"
266 git branch -m ${KMETA} ${KMETA}-orig
267 git checkout -b ${KMETA} ${target_meta_head}
268 fi
269 fi 274 fi
270 fi 275 fi
271 276
diff --git a/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb b/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
index 754ebe5fb2..1af22f634d 100644
--- a/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
+++ b/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=e2bf4415f3d8
4 4
5DEPENDS = "git-native guilt-native" 5DEPENDS = "git-native guilt-native"
6 6
7SRCREV = "2bbbaaa00cc70887d6d6f745b9425890d522d240" 7SRCREV = "369e67046a1b72b6447c208babd4d2065265a95e"
8PR = "r12" 8PR = "r12"
9PV = "0.1+git${SRCPV}" 9PV = "0.1+git${SRCPV}"
10 10
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb
index 36dcb6e67e..14af91dc31 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb
@@ -13,6 +13,7 @@ KBRANCH_qemuppc = "yocto/standard/preempt-rt/qemu-ppc32"
13 13
14LINUX_VERSION ?= "3.0.24" 14LINUX_VERSION ?= "3.0.24"
15LINUX_KERNEL_TYPE = "preempt-rt" 15LINUX_KERNEL_TYPE = "preempt-rt"
16KMETA = "meta"
16 17
17SRCREV_machine ?= "cf280f1dc5877d4ca43d21307222326efa68bb27" 18SRCREV_machine ?= "cf280f1dc5877d4ca43d21307222326efa68bb27"
18SRCREV_machine_qemuppc ?= "afaa5baa6a9ca9c8a03a9a3eee2ba9fba089f416" 19SRCREV_machine_qemuppc ?= "afaa5baa6a9ca9c8a03a9a3eee2ba9fba089f416"
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb
index 7e01efbc98..8ec366ceee 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb
@@ -14,6 +14,8 @@ KBRANCH_qemuppc = "standard/preempt-rt/qemu-ppc32"
14LINUX_VERSION ?= "3.2.11" 14LINUX_VERSION ?= "3.2.11"
15LINUX_KERNEL_TYPE = "preempt-rt" 15LINUX_KERNEL_TYPE = "preempt-rt"
16 16
17KMETA = "meta"
18
17SRCREV_machine ?= "3ebf4d172cf4a41d2abf09e4036f0850e08064e7" 19SRCREV_machine ?= "3ebf4d172cf4a41d2abf09e4036f0850e08064e7"
18SRCREV_machine_qemuppc ?= "7cebfe717987f4ffa9ae90558c28f45049847c1c" 20SRCREV_machine_qemuppc ?= "7cebfe717987f4ffa9ae90558c28f45049847c1c"
19SRCREV_meta ?= "6b3d4e09aa2531e9649f3f03827b7efbccfcec03" 21SRCREV_meta ?= "6b3d4e09aa2531e9649f3f03827b7efbccfcec03"
diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc
index 2b61b7e2cc..0912beef5a 100644
--- a/meta/recipes-kernel/linux/linux-yocto.inc
+++ b/meta/recipes-kernel/linux/linux-yocto.inc
@@ -9,15 +9,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
9# and it can be specific to the machine or shared 9# and it can be specific to the machine or shared
10# KMACHINE = "UNDEFINED" 10# KMACHINE = "UNDEFINED"
11 11
12# Set this to 'preempt_rt' in the local.conf if you want a real time kernel
13LINUX_KERNEL_TYPE ?= "standard" 12LINUX_KERNEL_TYPE ?= "standard"
14 13
15KMETA ?= "meta" 14# KMETA ?= ""
15KBRANCH ?= "master"
16KMACHINE ?= "${MACHINE}"
16SRCREV_FORMAT ?= "meta_machine" 17SRCREV_FORMAT ?= "meta_machine"
17 18
18LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE}" 19LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE}"
19KERNEL_REVISION_CHECKING ?= "t"
20YOCTO_KERNEL_META_DATA ?= "t"
21 20
22do_patch[depends] = "kern-tools-native:do_populate_sysroot" 21do_patch[depends] = "kern-tools-native:do_populate_sysroot"
23 22
diff --git a/meta/recipes-kernel/linux/linux-yocto_2.6.37.bb b/meta/recipes-kernel/linux/linux-yocto_2.6.37.bb
index d3da75cfc6..3968c62f38 100644
--- a/meta/recipes-kernel/linux/linux-yocto_2.6.37.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_2.6.37.bb
@@ -10,6 +10,8 @@ KMACHINE_qemuarm = "yocto/standard/arm-versatile-926ejs"
10 10
11KBRANCH = "${KMACHINE}" 11KBRANCH = "${KMACHINE}"
12 12
13KMETA = "meta"
14
13LINUX_VERSION ?= "2.6.37" 15LINUX_VERSION ?= "2.6.37"
14 16
15SRCREV_machine_qemuarm = "b3e53a090eaa23aa82e64fa0a563a93a2b4dbb5d" 17SRCREV_machine_qemuarm = "b3e53a090eaa23aa82e64fa0a563a93a2b4dbb5d"
diff --git a/meta/recipes-kernel/linux/linux-yocto_3.0.bb b/meta/recipes-kernel/linux/linux-yocto_3.0.bb
index 074b1ede95..82a7224251 100644
--- a/meta/recipes-kernel/linux/linux-yocto_3.0.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_3.0.bb
@@ -1,14 +1,21 @@
1inherit kernel 1inherit kernel
2require recipes-kernel/linux/linux-yocto.inc 2require recipes-kernel/linux/linux-yocto.inc
3 3
4KMACHINE = "yocto/standard/base" 4KBRANCH = "yocto/standard/base"
5KMACHINE_qemux86 = "yocto/standard/common-pc/base" 5KBRANCH_qemux86 = "yocto/standard/common-pc/base"
6KMACHINE_qemux86-64 = "yocto/standard/common-pc-64/base" 6KBRANCH_qemux86-64 = "yocto/standard/common-pc-64/base"
7KMACHINE_qemuppc = "yocto/standard/qemu-ppc32" 7KBRANCH_qemuppc = "yocto/standard/qemu-ppc32"
8KMACHINE_qemumips = "yocto/standard/mti-malta32-be" 8KBRANCH_qemumips = "yocto/standard/mti-malta32-be"
9KMACHINE_qemuarm = "yocto/standard/arm-versatile-926ejs" 9KBRANCH_qemuarm = "yocto/standard/arm-versatile-926ejs"
10 10
11KBRANCH = "${KMACHINE}" 11# Temporary until 3.0 kernel tree is updated with machine mappings
12KMACHINE_qemux86 = "common-pc"
13KMACHINE_qemux86-64 = "common-pc-64"
14KMACHINE_qemuppc = "qemu-ppc32"
15KMACHINE_qemumips = "mti-malta32-be"
16KMACHINE_qemuarm = "arm-versatile-926ejs"
17
18KMETA = "meta"
12 19
13LINUX_VERSION ?= "3.0.24" 20LINUX_VERSION ?= "3.0.24"
14 21
diff --git a/meta/recipes-kernel/linux/linux-yocto_3.2.bb b/meta/recipes-kernel/linux/linux-yocto_3.2.bb
index 51119bb201..71290bddd4 100644
--- a/meta/recipes-kernel/linux/linux-yocto_3.2.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_3.2.bb
@@ -28,6 +28,8 @@ SRCREV_meta ?= "6b3d4e09aa2531e9649f3f03827b7efbccfcec03"
28PR = "r1" 28PR = "r1"
29PV = "${LINUX_VERSION}+git${SRCPV}" 29PV = "${LINUX_VERSION}+git${SRCPV}"
30 30
31KMETA = "meta"
32
31SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.2;protocol=git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta" 33SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.2;protocol=git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta"
32 34
33COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64)" 35COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64)"