Add a new class to enable build simpleImage.

Signed-off-by: Manjukumar Matha <[email protected]>
---
 meta-xilinx-bsp/classes/kernel-simpleimage.bbclass | 22 ++++++++++++++++++++++
 .../recipes-kernel/linux/linux-xlnx.inc            |  2 ++
 2 files changed, 24 insertions(+)
 create mode 100644 meta-xilinx-bsp/classes/kernel-simpleimage.bbclass

diff --git a/meta-xilinx-bsp/classes/kernel-simpleimage.bbclass 
b/meta-xilinx-bsp/classes/kernel-simpleimage.bbclass
new file mode 100644
index 0000000..be70ffa
--- /dev/null
+++ b/meta-xilinx-bsp/classes/kernel-simpleimage.bbclass
@@ -0,0 +1,22 @@
+python __anonymous () {
+    kerneltypes = set((d.getVar("KERNEL_IMAGETYPE") or "").split())
+    kerneltypes |= set((d.getVar("KERNEL_IMAGETYPES") or "").split())
+    if any(t.startswith("simpleImage.") for t in kerneltypes):
+        # Enable building of simpleImage
+        bb.build.addtask('do_prep_simpleimage', 'do_compile', 'do_configure', 
d)
+    uarch = d.getVar("UBOOT_ARCH")
+    if uarch == "microblaze":
+        d.appendVarFlag('do_prep_simpleimage', 'depends', ' 
virtual/dtb:do_populate_sysroot')
+}
+
+do_prep_simpleimage[dirs] += "${B}"
+do_prep_simpleimage () {
+    install -d ${B}/arch/${ARCH}/boot/dts
+    for type in ${KERNEL_IMAGETYPES} ; do
+        if [[ "${type}" =~ "simpleImage" ]] && [ ${ARCH} = "microblaze" ]; then
+            ext="${type##*.}"
+            cp ${RECIPE_SYSROOT}/boot/devicetree/${ext}.dtb 
${B}/arch/${ARCH}/boot/dts/
+        fi
+    done
+}
+
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc 
b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc
index 3022b28..ec056db 100644
--- a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc
+++ b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc
@@ -23,6 +23,8 @@ do_kernel_metadata_prepend () {
        [ -n "${KBUILD_DEFCONFIG}" ] && [ -e ${WORKDIR}/defconfig ] && rm 
${WORKDIR}/defconfig
 }
 
+inherit kernel-simpleimage
+
 # Default to be only compatible with specific machines or soc families
 COMPATIBLE_MACHINE ?= "^$"
 COMPATIBLE_MACHINE_zynq = ".*"
-- 
2.7.4

-- 
_______________________________________________
meta-xilinx mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-xilinx

Reply via email to