[yocto] linux-xilinx: SRCPV, SRCREV, LINUX_VERSION and the actually generated kernel version

Elvis Dowson elvis.dowson at gmail.com
Fri Jun 22 00:29:13 PDT 2012


Hi,
      I'd like to learn what the proper way, is to maintain the linux-xilinx recipe located here:

http://git.yoctoproject.org/cgit/cgit.cgi/meta-xilinx/tree/recipes-kernel/linux/linux-xilinx_git.bb

inherit kernel xilinx-kernel xilinx-utils
require recipes-kernel/linux/linux-dtb.inc

DESCRIPTION = "Linux kernel for Xilinx platforms"
COMPATIBLE_MACHINE = "(virtex4|virtex5|virtex5mb|spartan6-sp605|spartan6-lx9mb)"

LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"

PR = "r16"
LINUX_VERSION = "2.6.37.1"
PV = "${LINUX_VERSION}+git${SRCPV}"
SRC_URI = "git://git.xilinx.com/linux-xlnx.git;protocol=git \
           file://defconfig"

XILINX_BOARD ?= "${@find_board(bb.data.getVar('XILINX_BSP_PATH', d, 1), d)}"
KERNEL_DEVICETREE = "${@device_tree(bb.data.getVar('TARGET_ARCH', d, 1), d)}"
KERNEL_DEVICETREE_microblazeel = "${@device_tree(bb.data.getVar('TARGET_CPU', d, 1), d)}"

S = "${WORKDIR}/git"

This recipe doesn't have a SRCREV specified. It specifies a LINUX_VERSION = "2.6.37.1", but in fact the current xilinx master branch points to a 3.3 kernel version.

The problem that I have is even if I specify SRCREV = "a5556fb251253ccb674bd22d9703c37f6f8807a8", which corresponds to the xilinx-v2.6.37 tag, when I build the recipe, SRCPV will still have the latest commit id for the master branch, and the corresponding output folder will have the wrong commit id.

I've noticed that many other kernel recipes (e.g. linux-yocto_3.4.bb) define things like this

SRCREV_machine_qemuarm ?= "1b83eb1b99e937b67dafa4dedba9440d596cbd9f"
SRCREV_machine ?= "a8291fa6f723b0182d2b7033b5d59f412ba7cf72"
SRCREV_meta ?= "aa226dcc5a1351fae49da40d77b718c4c3a76e7c"

LINUX_VERSION ?= "3.4.1"

PR = "r0"
PV = "${LINUX_VERSION}+git${SRCPV}"


What is confusing for me, is the use of the SRCPV varaible and it setting a different commit id, instead of using the SRCREV commit id and appending it to the generated kernel image name, during the image build process.

Best regards,

Elvis Dowson

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20120622/1c360f98/attachment.html>


More information about the yocto mailing list