diff options
-rw-r--r-- | recipes-kernel/linux/linux-xlnx-dev.bb | 2 | ||||
-rw-r--r-- | recipes-kernel/linux/linux-xlnx.inc | 42 | ||||
-rw-r--r-- | recipes-kernel/linux/linux-xlnx_3.8.bb | 5 |
3 files changed, 41 insertions, 8 deletions
diff --git a/recipes-kernel/linux/linux-xlnx-dev.bb b/recipes-kernel/linux/linux-xlnx-dev.bb index d27f506e..95e8af68 100644 --- a/recipes-kernel/linux/linux-xlnx-dev.bb +++ b/recipes-kernel/linux/linux-xlnx-dev.bb @@ -25,7 +25,7 @@ KBRANCH_DEFAULT = "master" include linux-xlnx.inc -SRC_URI = "git://github.com/Xilinx/linux-xlnx.git;protocol=git;nocheckout=1;branch=${KBRANCH}" +SRC_URI = "git://github.com/Xilinx/linux-xlnx.git;protocol=git;branch=${KBRANCH}" # Set default SRCREVs. SRCREVs statically set to prevent network access during # parsing. If linux-xlnx-dev is the preferred provider, they will be overridden diff --git a/recipes-kernel/linux/linux-xlnx.inc b/recipes-kernel/linux/linux-xlnx.inc index e405b379..7d2952c6 100644 --- a/recipes-kernel/linux/linux-xlnx.inc +++ b/recipes-kernel/linux/linux-xlnx.inc @@ -1,16 +1,24 @@ -inherit kernel +DESCRIPTION = "Xilinx Kernel" +SECTION = "kernel" +LICENSE = "GPLv2" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" # This version extension should match CONFIG_LOCALVERSION in defconfig LINUX_VERSION_EXTENSION ?= "-xilinx" +PV = "${LINUX_VERSION}${LINUX_VERSION_EXTENSION}+git${SRCREV}" -require recipes-kernel/linux/linux-yocto.inc -require linux-machine-common.inc - +# Sources +SRC_URI = "git://github.com/Xilinx/linux-xlnx;protocol=git" FILESEXTRAPATHS_prepend := "${THISDIR}/files:" FILESEXTRAPATHS_prepend := "${THISDIR}/linux-xlnx:" -SRC_URI = "git://github.com/Xilinx/linux-xlnx;protocol=git;nocheckout=1" -PV = "${LINUX_VERSION}${LINUX_VERSION_EXTENSION}+git${SRCREV}" +# Source Directory +S = "${WORKDIR}/git" + +# Inherit/include base functionality +inherit kernel +require linux-machine-common.inc # Override COMPATIBLE_MACHINE to include your machine in a bbappend file. COMPATIBLE_MACHINE = "qemumicroblaze|qemuzynq|microblaze|zynq" @@ -22,3 +30,25 @@ MACHINE_KCONFIG_append_microblaze += "common/microblaze_defconfig_${LINUX_VERSIO # Add the modules directory to the 'kernel-base' files list FILES_kernel-base_append = " /lib/modules/${KERNEL_VERSION}/kernel" + +# returns all the elements from the src uri that are .cfg files +def find_config_fragments(d): + sources=src_patches(d, True) + sources_list=[] + for s in sources: + if s.endswith('.cfg'): + sources_list.append(s) + return sources_list + +kernel_do_configure_prepend() { + # Find all ".cfg" files and cat them together into a .config + CFG_FILES="${@" ".join(find_config_fragments(d))}" + if [ ! -z "$CFG_FILES" ]; then + echo "# Generated by linux-xlnx recipe in meta-xilinx" > "${B}/.config" + for i in $CFG_FILES; do + echo "Joining configuration file $i" + echo "# $i" >> "${B}/.config" + cat $i >> "${B}/.config" + done + fi +} diff --git a/recipes-kernel/linux/linux-xlnx_3.8.bb b/recipes-kernel/linux/linux-xlnx_3.8.bb index ce54dc9b..24cf7d4e 100644 --- a/recipes-kernel/linux/linux-xlnx_3.8.bb +++ b/recipes-kernel/linux/linux-xlnx_3.8.bb @@ -9,5 +9,8 @@ SRCREV = "6a0bedad60e2bca8d9b50bf81b9895e29e31a6d7" # MicroBlaze patches SRC_URI_append_microblaze = " \ - file://microblaze-patches_v3.8.scc \ + file://microblaze_Do_not_use_r6_in_head.S.patch \ + file://microblaze_Fix_free_init_pages_function.patch \ + file://microblaze_Fix_initrd_support.patch \ + file://arch_microblaze_Add_linux.bin.ub_target.patch \ " |