| 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 [ -z "${type##*simpleImage*}" ] && [ ${ARCH} = "microblaze" ]; then |
| ext="${type##*.}" |
| # Microblaze simpleImage only works with dts file |
| cp ${RECIPE_SYSROOT}/boot/devicetree/${ext}.dts ${B}/arch/${ARCH}/boot/dts/ |
| fi |
| done |
| } |
| |
| do_deploy_append () { |
| for type in ${KERNEL_IMAGETYPES} ; do |
| if [ -z "${type##*simpleImage*}" ] && [ ${ARCH} = "microblaze" ]; then |
| base_name=${imageType}-${KERNEL_IMAGE_NAME} |
| install -m 0644 ${KERNEL_OUTPUT_DIR}/${type}.strip $deployDir/${base_name}.strip |
| install -m 0644 ${KERNEL_OUTPUT_DIR}/${type}.unstrip $deployDir/${base_name}.unstrip |
| symlink_name=${imageType}-${KERNEL_IMAGE_LINK_NAME} |
| ln -sf ${base_name}.strip $deployDir/${symlink_name}.strip |
| ln -sf ${base_name}.unstrip $deployDir/${symlink_name}.unstrip |
| fi |
| done |
| } |