diff options
| -rw-r--r-- | meta/classes/kernel-yocto.bbclass | 71 | ||||
| -rw-r--r-- | meta/conf/distro/include/poky-default-revisions.inc | 2 | ||||
| -rw-r--r-- | meta/recipes-kernel/linux/linux-yocto-stable_git.bb | 10 | ||||
| -rw-r--r-- | meta/recipes-kernel/linux/linux-yocto.inc | 4 | ||||
| -rw-r--r-- | meta/recipes-kernel/linux/linux-yocto_git.bb | 4 | 
5 files changed, 22 insertions, 69 deletions
| diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index 4c52bca43a..15802fabdf 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -1,61 +1,5 @@  S = "${WORKDIR}/linux" -# Determine which branch to fetch and build. Not all branches are in the -# upstream repo (but will be locally created after the fetchers run) so  -# a fallback branch needs to be chosen.  -# -# The default machine 'UNDEFINED'. If the machine is not set to a specific -# branch in this recipe or in a recipe extension, then we fallback to a  -# branch that is always present 'standard'. This sets the KBRANCH variable -# and is used in the SRC_URI. The machine is then set back to ${MACHINE}, -# since futher processing will use that to create local branches - -SRCPV_prepend = "${@yoctokernel_variables_fixup(d)}" - -def yoctokernel_variables_fixup(d): -    if d.getVar("PVFIXUPDONE", False) is "done": -        return "" - -    import bb, re, string - -    version = bb.data.getVar("LINUX_VERSION", d, 1) -    # 2.6.34 signifies the old-style tree, so we need some temporary -    # conditional processing based on the kernel version. -    if version == "2.6.34": -        bb.data.setVar("KBRANCH", "${KMACHINE}-${LINUX_KERNEL_TYPE}", d) -        bb.data.setVar("KMETA", "wrs_meta", d) -        mach = bb.data.getVar("KMACHINE", d, 1) -        if mach == "UNDEFINED": -            bb.data.setVar("KBRANCH", "standard", d) -            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", bb.data.expand("${MACHINE}",d) + "-standard", d) -    else: -        # The branch for a build is: -        #    yocto/<kernel type>/${KMACHINE} or -        #    yocto/<kernel type>/${KMACHINE}/base -        mach = bb.data.getVar("KMACHINE_" + bb.data.expand("${MACHINE}",d), d, 1) -        if mach == None: -             mach = bb.data.getVar("KMACHINE", d, 1) - -        bb.data.setVar("KBRANCH", mach, d) -        bb.data.setVar("KMETA", "meta", d) - -        # drop the "/base" if it was on the KMACHINE -        kmachine = mach.replace('/base','') -        # drop everything but the last segment -        kmachine = os.path.basename( kmachine ) -        # and then write KMACHINE back -        bb.data.setVar('KMACHINE_' + bb.data.expand("${MACHINE}",d), kmachine, d) - -        if mach == "UNDEFINED": -            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("BOOTSTRAP", "yocto/standard/" + bb.data.expand("${MACHINE}",d), d) -    d.setVar("PVFIXUPDONE", "done") -    return "" -  do_patch() {  	cd ${S}  	if [ -f ${WORKDIR}/defconfig ]; then @@ -63,12 +7,11 @@ do_patch() {  	fi  	kbranch=${KBRANCH} -	if [ -n "${BOOTSTRAP}" ]; then +	if [ -n "${YOCTO_KERNEL_EXTERNAL_BRANCH}" ]; then             # switch from a generic to a specific branch -           kbranch=${BOOTSTRAP} +           kbranch=${YOCTO_KERNEL_EXTERNAL_BRANCH}  	fi -  	# simply ensures that a branch of the right name has been created  	createme ${ARCH} ${kbranch} ${defconfig}  	if [ $? -ne 0 ]; then @@ -131,8 +74,14 @@ addtask kernel_checkout before do_patch after do_unpack  do_kernel_configme() {  	echo "[INFO] doing kernel configme" +	kbranch=${KBRANCH} +	if [ -n "${YOCTO_KERNEL_EXTERNAL_BRANCH}" ]; then +           # switch from a generic to a specific branch +           kbranch=${YOCTO_KERNEL_EXTERNAL_BRANCH} +	fi +  	cd ${S} -	configme --reconfig --output ${B} ${KBRANCH} ${MACHINE} +	configme --reconfig --output ${B} ${kbranch} ${MACHINE}  	if [ $? -ne 0 ]; then  		echo "ERROR. Could not configure ${KMACHINE}-${LINUX_KERNEL_TYPE}"  		exit 1 @@ -165,7 +114,7 @@ do_validate_branches() {   	target_meta_head="${SRCREV_meta}"  	# nothing to do if bootstrapping - 	if [ -n "${BOOTSTRAP}" ]; then + 	if [ -n "${YOCTO_KERNEL_EXTERNAL_BRANCH}" ]; then   	 	return   	fi diff --git a/meta/conf/distro/include/poky-default-revisions.inc b/meta/conf/distro/include/poky-default-revisions.inc index 9abc4a55b4..951b3aa6d1 100644 --- a/meta/conf/distro/include/poky-default-revisions.inc +++ b/meta/conf/distro/include/poky-default-revisions.inc @@ -59,7 +59,7 @@ SRCREV_pn-gypsy ??= "147"  SRCREV_pn-inputproto ??= "7203036522ba9d4b224d282d6afc2d0b947711ee"  SRCREV_pn-inputproto-native ??= "7203036522ba9d4b224d282d6afc2d0b947711ee"  SRCREV_pn-inputproto-nativesdk ??= "7203036522ba9d4b224d282d6afc2d0b947711ee" -SRCREV_pn-kern-tools-native ??= "fde7ef8fa8043607752563b9b7908f487eb2f7dd" +SRCREV_pn-kern-tools-native ??= "4f13a46499261ea181fdc13db5459067df08aca7"  SRCREV_pn-libdrm ??= "3f3c5be6f908272199ccf53f108b1124bfe0a00e"  SRCREV_pn-libfakekey ??= "e8c2e412ea4a417afc1f30e32cb7bdc508b1dccc"  SRCREV_pn-libgdbus ??= "aeab6e3c0185b271ca343b439470491b99cc587f" diff --git a/meta/recipes-kernel/linux/linux-yocto-stable_git.bb b/meta/recipes-kernel/linux/linux-yocto-stable_git.bb index d4bee77c21..3c1e669733 100644 --- a/meta/recipes-kernel/linux/linux-yocto-stable_git.bb +++ b/meta/recipes-kernel/linux/linux-yocto-stable_git.bb @@ -1,6 +1,7 @@  inherit kernel  require linux-yocto.inc +KMACHINE = "common_pc"  KMACHINE_qemux86  = "common_pc"  KMACHINE_qemux86-64  = "common_pc_64"  KMACHINE_qemuppc  = "qemu_ppc32" @@ -14,20 +15,19 @@ KMACHINE_beagleboard = "beagleboard"  LINUX_VERSION ?= "2.6.34"  LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE_EXTENSION}" +KMETA = wrs_meta +KBRANCH = ${KMACHINE}-${LINUX_KERNEL_TYPE_EXTENSION} +  PR = "r1"  PV = "${LINUX_VERSION}+git${SRCPV}"  SRCREV_FORMAT = "meta_machine"  COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64|atom-pc|routerstationpro|mpc8315e-rdb|beagleboard)" -# this performs a fixup on the SRCREV for new/undefined BSPs +# this performs a fixup on historical kernel types with embedded _'s  python __anonymous () {      import bb, re, string -    rev = bb.data.getVar("SRCREV_machine", d, 1) -    if rev == "standard": -        bb.data.setVar("SRCREV_machine", "${SRCREV_meta}", d) -      kerntype = string.replace(bb.data.expand("${LINUX_KERNEL_TYPE}", d), "_", "-")      bb.data.setVar("LINUX_KERNEL_TYPE_EXTENSION", kerntype, d)  } diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc index 3ad849e46e..03935fa702 100644 --- a/meta/recipes-kernel/linux/linux-yocto.inc +++ b/meta/recipes-kernel/linux/linux-yocto.inc @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"  # A KMACHINE is the mapping of a yocto $MACHINE to what is built  # by the kernel. This is typically the branch that should be built,  # and it can be specific to the machine or shared -KMACHINE = "UNDEFINED" +# KMACHINE = "UNDEFINED"  # Set this to 'preempt_rt' in the local.conf if you want a real time kernel  LINUX_KERNEL_TYPE ?= standard @@ -19,4 +19,4 @@ addtask kernel_configme before do_configure after do_patch  # Pick up shared functions  inherit kernel-yocto -B = "${WORKDIR}/linux-${KMACHINE}-${LINUX_KERNEL_TYPE}-build" +B = "${WORKDIR}/linux-${MACHINE}-${LINUX_KERNEL_TYPE}-build" diff --git a/meta/recipes-kernel/linux/linux-yocto_git.bb b/meta/recipes-kernel/linux/linux-yocto_git.bb index cc52397006..75c6fb1653 100644 --- a/meta/recipes-kernel/linux/linux-yocto_git.bb +++ b/meta/recipes-kernel/linux/linux-yocto_git.bb @@ -1,6 +1,7 @@  inherit kernel  require linux-yocto.inc +KMACHINE = "yocto/standard/base"  KMACHINE_qemux86  = "yocto/standard/common-pc/base"  KMACHINE_qemux86-64  = "yocto/standard/common-pc-64/base"  KMACHINE_qemuppc  = "yocto/standard/qemu-ppc32" @@ -11,6 +12,9 @@ KMACHINE_routerstationpro = "yocto/standard/routerstationpro"  KMACHINE_mpc8315e-rdb = "yocto/standard/fsl-mpc8315e-rdb"  KMACHINE_beagleboard = "yocto/standard/beagleboard" +KBRANCH = ${KMACHINE} +KMETA = meta +  LINUX_VERSION ?= "2.6.37"  LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE}"  PR = "r15" | 
