diff options
| -rw-r--r-- | meta/classes/kernel-fitimage.bbclass | 160 |
1 files changed, 137 insertions, 23 deletions
diff --git a/meta/classes/kernel-fitimage.bbclass b/meta/classes/kernel-fitimage.bbclass index 9fa302a5c8..87ed8bd892 100644 --- a/meta/classes/kernel-fitimage.bbclass +++ b/meta/classes/kernel-fitimage.bbclass | |||
| @@ -1,5 +1,7 @@ | |||
| 1 | inherit kernel-uboot kernel-artifact-names uboot-sign | 1 | inherit kernel-uboot kernel-artifact-names uboot-sign |
| 2 | 2 | ||
| 3 | KERNEL_IMAGETYPE_REPLACEMENT = "" | ||
| 4 | |||
| 3 | python __anonymous () { | 5 | python __anonymous () { |
| 4 | kerneltypes = d.getVar('KERNEL_IMAGETYPES') or "" | 6 | kerneltypes = d.getVar('KERNEL_IMAGETYPES') or "" |
| 5 | if 'fitImage' in kerneltypes.split(): | 7 | if 'fitImage' in kerneltypes.split(): |
| @@ -21,6 +23,8 @@ python __anonymous () { | |||
| 21 | else: | 23 | else: |
| 22 | replacementtype = "zImage" | 24 | replacementtype = "zImage" |
| 23 | 25 | ||
| 26 | d.setVar("KERNEL_IMAGETYPE_REPLACEMENT", replacementtype) | ||
| 27 | |||
| 24 | # Override KERNEL_IMAGETYPE_FOR_MAKE variable, which is internal | 28 | # Override KERNEL_IMAGETYPE_FOR_MAKE variable, which is internal |
| 25 | # to kernel.bbclass . We have to override it, since we pack zImage | 29 | # to kernel.bbclass . We have to override it, since we pack zImage |
| 26 | # (at least for now) into the fitImage . | 30 | # (at least for now) into the fitImage . |
| @@ -45,6 +49,8 @@ python __anonymous () { | |||
| 45 | if d.getVar('UBOOT_SIGN_ENABLE') == "1" and d.getVar('UBOOT_DTB_BINARY'): | 49 | if d.getVar('UBOOT_SIGN_ENABLE') == "1" and d.getVar('UBOOT_DTB_BINARY'): |
| 46 | uboot_pn = d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot' | 50 | uboot_pn = d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot' |
| 47 | d.appendVarFlag('do_assemble_fitimage', 'depends', ' %s:do_populate_sysroot' % uboot_pn) | 51 | d.appendVarFlag('do_assemble_fitimage', 'depends', ' %s:do_populate_sysroot' % uboot_pn) |
| 52 | if d.getVar('INITRAMFS_IMAGE_BUNDLE') == "1": | ||
| 53 | d.appendVarFlag('do_assemble_fitimage_initramfs', 'depends', ' %s:do_populate_sysroot' % uboot_pn) | ||
| 48 | } | 54 | } |
| 49 | 55 | ||
| 50 | # Options for the device tree compiler passed to mkimage '-D' feature: | 56 | # Options for the device tree compiler passed to mkimage '-D' feature: |
| @@ -230,6 +236,43 @@ EOF | |||
| 230 | } | 236 | } |
| 231 | 237 | ||
| 232 | # | 238 | # |
| 239 | # Emit the fitImage ITS u-boot script section | ||
| 240 | # | ||
| 241 | # $1 ... .its filename | ||
| 242 | # $2 ... Image counter | ||
| 243 | # $3 ... Path to boot script image | ||
| 244 | fitimage_emit_section_boot_script() { | ||
| 245 | |||
| 246 | bootscr_csum="${FIT_HASH_ALG}" | ||
| 247 | bootscr_sign_algo="${FIT_SIGN_ALG}" | ||
| 248 | bootscr_sign_keyname="${UBOOT_SIGN_KEYNAME}" | ||
| 249 | |||
| 250 | cat << EOF >> ${1} | ||
| 251 | bootscr@${2} { | ||
| 252 | description = "U-boot script"; | ||
| 253 | data = /incbin/("${3}"); | ||
| 254 | type = "script"; | ||
| 255 | arch = "${UBOOT_ARCH}"; | ||
| 256 | compression = "none"; | ||
| 257 | hash@1 { | ||
| 258 | algo = "${bootscr_csum}"; | ||
| 259 | }; | ||
| 260 | }; | ||
| 261 | EOF | ||
| 262 | |||
| 263 | if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${FIT_SIGN_INDIVIDUAL}" = "1" -a -n "${bootscr_sign_keyname}" ] ; then | ||
| 264 | sed -i '$ d' ${1} | ||
| 265 | cat << EOF >> ${1} | ||
| 266 | signature@1 { | ||
| 267 | algo = "${bootscr_csum},${bootscr_sign_algo}"; | ||
| 268 | key-name-hint = "${bootscr_sign_keyname}"; | ||
| 269 | }; | ||
| 270 | }; | ||
| 271 | EOF | ||
| 272 | fi | ||
| 273 | } | ||
| 274 | |||
| 275 | # | ||
| 233 | # Emit the fitImage ITS setup section | 276 | # Emit the fitImage ITS setup section |
| 234 | # | 277 | # |
| 235 | # $1 ... .its filename | 278 | # $1 ... .its filename |
| @@ -312,8 +355,9 @@ EOF | |||
| 312 | # $2 ... Linux kernel ID | 355 | # $2 ... Linux kernel ID |
| 313 | # $3 ... DTB image name | 356 | # $3 ... DTB image name |
| 314 | # $4 ... ramdisk ID | 357 | # $4 ... ramdisk ID |
| 315 | # $5 ... config ID | 358 | # $5 ... u-boot script ID |
| 316 | # $6 ... default flag | 359 | # $6 ... config ID |
| 360 | # $7 ... default flag | ||
| 317 | fitimage_emit_section_config() { | 361 | fitimage_emit_section_config() { |
| 318 | 362 | ||
| 319 | conf_csum="${FIT_HASH_ALG}" | 363 | conf_csum="${FIT_HASH_ALG}" |
| @@ -326,8 +370,9 @@ fitimage_emit_section_config() { | |||
| 326 | kernel_id="${2}" | 370 | kernel_id="${2}" |
| 327 | dtb_image="${3}" | 371 | dtb_image="${3}" |
| 328 | ramdisk_id="${4}" | 372 | ramdisk_id="${4}" |
| 329 | config_id="${5}" | 373 | bootscr_id="${5}" |
| 330 | default_flag="${6}" | 374 | config_id="${6}" |
| 375 | default_flag="${7}" | ||
| 331 | 376 | ||
| 332 | # Test if we have any DTBs at all | 377 | # Test if we have any DTBs at all |
| 333 | sep="" | 378 | sep="" |
| @@ -336,6 +381,7 @@ fitimage_emit_section_config() { | |||
| 336 | kernel_line="" | 381 | kernel_line="" |
| 337 | fdt_line="" | 382 | fdt_line="" |
| 338 | ramdisk_line="" | 383 | ramdisk_line="" |
| 384 | bootscr_line="" | ||
| 339 | setup_line="" | 385 | setup_line="" |
| 340 | default_line="" | 386 | default_line="" |
| 341 | 387 | ||
| @@ -365,6 +411,12 @@ fitimage_emit_section_config() { | |||
| 365 | ramdisk_line="ramdisk = \"ramdisk@${ramdisk_id}\";" | 411 | ramdisk_line="ramdisk = \"ramdisk@${ramdisk_id}\";" |
| 366 | fi | 412 | fi |
| 367 | 413 | ||
| 414 | if [ -n "${bootscr_id}" ]; then | ||
| 415 | conf_desc="${conf_desc}${sep}u-boot script" | ||
| 416 | sep=", " | ||
| 417 | bootscr_line="bootscr = \"bootscr@${bootscr_id}\";" | ||
| 418 | fi | ||
| 419 | |||
| 368 | if [ -n "${config_id}" ]; then | 420 | if [ -n "${config_id}" ]; then |
| 369 | conf_desc="${conf_desc}${sep}setup" | 421 | conf_desc="${conf_desc}${sep}setup" |
| 370 | setup_line="setup = \"setup@${config_id}\";" | 422 | setup_line="setup = \"setup@${config_id}\";" |
| @@ -387,6 +439,7 @@ fitimage_emit_section_config() { | |||
| 387 | ${kernel_line} | 439 | ${kernel_line} |
| 388 | ${fdt_line} | 440 | ${fdt_line} |
| 389 | ${ramdisk_line} | 441 | ${ramdisk_line} |
| 442 | ${bootscr_line} | ||
| 390 | ${setup_line} | 443 | ${setup_line} |
| 391 | hash@1 { | 444 | hash@1 { |
| 392 | algo = "${conf_csum}"; | 445 | algo = "${conf_csum}"; |
| @@ -413,6 +466,11 @@ EOF | |||
| 413 | sep=", " | 466 | sep=", " |
| 414 | fi | 467 | fi |
| 415 | 468 | ||
| 469 | if [ -n "${bootscr_id}" ]; then | ||
| 470 | sign_line="${sign_line}${sep}\"bootscr\"" | ||
| 471 | sep=", " | ||
| 472 | fi | ||
| 473 | |||
| 416 | if [ -n "${config_id}" ]; then | 474 | if [ -n "${config_id}" ]; then |
| 417 | sign_line="${sign_line}${sep}\"setup\"" | 475 | sign_line="${sign_line}${sep}\"setup\"" |
| 418 | fi | 476 | fi |
| @@ -445,6 +503,7 @@ fitimage_assemble() { | |||
| 445 | DTBS="" | 503 | DTBS="" |
| 446 | ramdiskcount=${3} | 504 | ramdiskcount=${3} |
| 447 | setupcount="" | 505 | setupcount="" |
| 506 | bootscr_id="" | ||
| 448 | rm -f ${1} arch/${ARCH}/boot/${2} | 507 | rm -f ${1} arch/${ARCH}/boot/${2} |
| 449 | 508 | ||
| 450 | fitimage_emit_fit_header ${1} | 509 | fitimage_emit_fit_header ${1} |
| @@ -455,7 +514,22 @@ fitimage_assemble() { | |||
| 455 | fitimage_emit_section_maint ${1} imagestart | 514 | fitimage_emit_section_maint ${1} imagestart |
| 456 | 515 | ||
| 457 | uboot_prep_kimage | 516 | uboot_prep_kimage |
| 458 | fitimage_emit_section_kernel ${1} "${kernelcount}" linux.bin "${linux_comp}" | 517 | |
| 518 | if [ "${INITRAMFS_IMAGE_BUNDLE}" = "1" ]; then | ||
| 519 | initramfs_bundle_path="arch/"${UBOOT_ARCH}"/boot/"${KERNEL_IMAGETYPE_REPLACEMENT}".initramfs" | ||
| 520 | if [ -e "${initramfs_bundle_path}" ]; then | ||
| 521 | |||
| 522 | # | ||
| 523 | # Include the kernel/rootfs bundle. | ||
| 524 | # | ||
| 525 | |||
| 526 | fitimage_emit_section_kernel ${1} "${kernelcount}" "${initramfs_bundle_path}" "${linux_comp}" | ||
| 527 | else | ||
| 528 | bbwarn "${initramfs_bundle_path} not found." | ||
| 529 | fi | ||
| 530 | else | ||
| 531 | fitimage_emit_section_kernel ${1} "${kernelcount}" linux.bin "${linux_comp}" | ||
| 532 | fi | ||
| 459 | 533 | ||
| 460 | # | 534 | # |
| 461 | # Step 2: Prepare a DTB image section | 535 | # Step 2: Prepare a DTB image section |
| @@ -489,7 +563,21 @@ fitimage_assemble() { | |||
| 489 | fi | 563 | fi |
| 490 | 564 | ||
| 491 | # | 565 | # |
| 492 | # Step 3: Prepare a setup section. (For x86) | 566 | # Step 3: Prepare a u-boot script section |
| 567 | # | ||
| 568 | |||
| 569 | if [ -n "${UBOOT_ENV}" ] && [ -d "${STAGING_DIR_HOST}/boot" ]; then | ||
| 570 | if [ -e "${STAGING_DIR_HOST}/boot/${UBOOT_ENV_BINARY}" ]; then | ||
| 571 | cp ${STAGING_DIR_HOST}/boot/${UBOOT_ENV_BINARY} ${B} | ||
| 572 | bootscr_id="${UBOOT_ENV_BINARY}" | ||
| 573 | fitimage_emit_section_boot_script ${1} "${bootscr_id}" ${UBOOT_ENV_BINARY} | ||
| 574 | else | ||
| 575 | bbwarn "${STAGING_DIR_HOST}/boot/${UBOOT_ENV_BINARY} not found." | ||
| 576 | fi | ||
| 577 | fi | ||
| 578 | |||
| 579 | # | ||
| 580 | # Step 4: Prepare a setup section. (For x86) | ||
| 493 | # | 581 | # |
| 494 | if [ -e arch/${ARCH}/boot/setup.bin ]; then | 582 | if [ -e arch/${ARCH}/boot/setup.bin ]; then |
| 495 | setupcount=1 | 583 | setupcount=1 |
| @@ -497,9 +585,9 @@ fitimage_assemble() { | |||
| 497 | fi | 585 | fi |
| 498 | 586 | ||
| 499 | # | 587 | # |
| 500 | # Step 4: Prepare a ramdisk section. | 588 | # Step 5: Prepare a ramdisk section. |
| 501 | # | 589 | # |
| 502 | if [ "x${ramdiskcount}" = "x1" ] ; then | 590 | if [ "x${ramdiskcount}" = "x1" ] && [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" ]; then |
| 503 | # Find and use the first initramfs image archive type we find | 591 | # Find and use the first initramfs image archive type we find |
| 504 | for img in cpio.lz4 cpio.lzo cpio.lzma cpio.xz cpio.gz ext2.gz cpio; do | 592 | for img in cpio.lz4 cpio.lzo cpio.lzma cpio.xz cpio.gz ext2.gz cpio; do |
| 505 | initramfs_path="${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.${img}" | 593 | initramfs_path="${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.${img}" |
| @@ -520,13 +608,15 @@ fitimage_assemble() { | |||
| 520 | fi | 608 | fi |
| 521 | 609 | ||
| 522 | # | 610 | # |
| 523 | # Step 5: Prepare a configurations section | 611 | # Step 6: Prepare a configurations section |
| 524 | # | 612 | # |
| 525 | fitimage_emit_section_maint ${1} confstart | 613 | fitimage_emit_section_maint ${1} confstart |
| 526 | 614 | ||
| 527 | # kernel-fitimage.bbclass currently only supports a single kernel (no less or | 615 | # kernel-fitimage.bbclass currently only supports a single kernel (no less or |
| 528 | # more) to be added to the FIT image along with 0 or more device trees and | 616 | # more) to be added to the FIT image along with 0 or more device trees and |
| 529 | # 0 or 1 ramdisk. | 617 | # 0 or 1 ramdisk. |
| 618 | # It is also possible to include an initramfs bundle (kernel and rootfs in one binary) | ||
| 619 | # When the initramfs bundle is used ramdisk is disabled. | ||
| 530 | # If a device tree is to be part of the FIT image, then select | 620 | # If a device tree is to be part of the FIT image, then select |
| 531 | # the default configuration to be used is based on the dtbcount. If there is | 621 | # the default configuration to be used is based on the dtbcount. If there is |
| 532 | # no dtb present than select the default configuation to be based on | 622 | # no dtb present than select the default configuation to be based on |
| @@ -538,13 +628,13 @@ fitimage_assemble() { | |||
| 538 | if [ "${dtb_ext}" = "dtbo" ]; then | 628 | if [ "${dtb_ext}" = "dtbo" ]; then |
| 539 | fitimage_emit_section_config ${1} "" "${DTB}" "" "" "`expr ${i} = ${dtbcount}`" | 629 | fitimage_emit_section_config ${1} "" "${DTB}" "" "" "`expr ${i} = ${dtbcount}`" |
| 540 | else | 630 | else |
| 541 | fitimage_emit_section_config ${1} "${kernelcount}" "${DTB}" "${ramdiskcount}" "${setupcount}" "`expr ${i} = ${dtbcount}`" | 631 | fitimage_emit_section_config ${1} "${kernelcount}" "${DTB}" "${ramdiskcount}" "${bootscr_id}" "${setupcount}" "`expr ${i} = ${dtbcount}`" |
| 542 | fi | 632 | fi |
| 543 | i=`expr ${i} + 1` | 633 | i=`expr ${i} + 1` |
| 544 | done | 634 | done |
| 545 | else | 635 | else |
| 546 | defaultconfigcount=1 | 636 | defaultconfigcount=1 |
| 547 | fitimage_emit_section_config ${1} "${kernelcount}" "" "${ramdiskcount}" "${setupcount}" "${defaultconfigcount}" | 637 | fitimage_emit_section_config ${1} "${kernelcount}" "" "${ramdiskcount}" "${bootscr_id}" "${setupcount}" "${defaultconfigcount}" |
| 548 | fi | 638 | fi |
| 549 | 639 | ||
| 550 | fitimage_emit_section_maint ${1} sectend | 640 | fitimage_emit_section_maint ${1} sectend |
| @@ -552,7 +642,7 @@ fitimage_assemble() { | |||
| 552 | fitimage_emit_section_maint ${1} fitend | 642 | fitimage_emit_section_maint ${1} fitend |
| 553 | 643 | ||
| 554 | # | 644 | # |
| 555 | # Step 6: Assemble the image | 645 | # Step 7: Assemble the image |
| 556 | # | 646 | # |
| 557 | ${UBOOT_MKIMAGE} \ | 647 | ${UBOOT_MKIMAGE} \ |
| 558 | ${@'-D "${UBOOT_MKIMAGE_DTCOPTS}"' if len('${UBOOT_MKIMAGE_DTCOPTS}') else ''} \ | 648 | ${@'-D "${UBOOT_MKIMAGE_DTCOPTS}"' if len('${UBOOT_MKIMAGE_DTCOPTS}') else ''} \ |
| @@ -560,7 +650,7 @@ fitimage_assemble() { | |||
| 560 | arch/${ARCH}/boot/${2} | 650 | arch/${ARCH}/boot/${2} |
| 561 | 651 | ||
| 562 | # | 652 | # |
| 563 | # Step 7: Sign the image and add public key to U-Boot dtb | 653 | # Step 8: Sign the image and add public key to U-Boot dtb |
| 564 | # | 654 | # |
| 565 | if [ "x${UBOOT_SIGN_ENABLE}" = "x1" ] ; then | 655 | if [ "x${UBOOT_SIGN_ENABLE}" = "x1" ] ; then |
| 566 | add_key_to_u_boot="" | 656 | add_key_to_u_boot="" |
| @@ -592,7 +682,11 @@ do_assemble_fitimage_initramfs() { | |||
| 592 | if echo ${KERNEL_IMAGETYPES} | grep -wq "fitImage" && \ | 682 | if echo ${KERNEL_IMAGETYPES} | grep -wq "fitImage" && \ |
| 593 | test -n "${INITRAMFS_IMAGE}" ; then | 683 | test -n "${INITRAMFS_IMAGE}" ; then |
| 594 | cd ${B} | 684 | cd ${B} |
| 595 | fitimage_assemble fit-image-${INITRAMFS_IMAGE}.its fitImage-${INITRAMFS_IMAGE} 1 | 685 | if [ "${INITRAMFS_IMAGE_BUNDLE}" = "1" ]; then |
| 686 | fitimage_assemble fit-image-${INITRAMFS_IMAGE}.its fitImage "" | ||
| 687 | else | ||
| 688 | fitimage_assemble fit-image-${INITRAMFS_IMAGE}.its fitImage-${INITRAMFS_IMAGE} 1 | ||
| 689 | fi | ||
| 596 | fi | 690 | fi |
| 597 | } | 691 | } |
| 598 | 692 | ||
| @@ -631,22 +725,27 @@ kernel_do_deploy[vardepsexclude] = "DATETIME" | |||
| 631 | kernel_do_deploy_append() { | 725 | kernel_do_deploy_append() { |
| 632 | # Update deploy directory | 726 | # Update deploy directory |
| 633 | if echo ${KERNEL_IMAGETYPES} | grep -wq "fitImage"; then | 727 | if echo ${KERNEL_IMAGETYPES} | grep -wq "fitImage"; then |
| 634 | echo "Copying fit-image.its source file..." | ||
| 635 | install -m 0644 ${B}/fit-image.its "$deployDir/fitImage-its-${KERNEL_FIT_NAME}.its" | ||
| 636 | ln -snf fitImage-its-${KERNEL_FIT_NAME}.its "$deployDir/fitImage-its-${KERNEL_FIT_LINK_NAME}" | ||
| 637 | 728 | ||
| 638 | echo "Copying linux.bin file..." | 729 | if [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" ]; then |
| 639 | install -m 0644 ${B}/linux.bin $deployDir/fitImage-linux.bin-${KERNEL_FIT_NAME}.bin | 730 | echo "Copying fit-image.its source file..." |
| 640 | ln -snf fitImage-linux.bin-${KERNEL_FIT_NAME}.bin "$deployDir/fitImage-linux.bin-${KERNEL_FIT_LINK_NAME}" | 731 | install -m 0644 ${B}/fit-image.its "$deployDir/fitImage-its-${KERNEL_FIT_NAME}.its" |
| 732 | ln -snf fitImage-its-${KERNEL_FIT_NAME}.its "$deployDir/fitImage-its-${KERNEL_FIT_LINK_NAME}" | ||
| 733 | |||
| 734 | echo "Copying linux.bin file..." | ||
| 735 | install -m 0644 ${B}/linux.bin $deployDir/fitImage-linux.bin-${KERNEL_FIT_NAME}.bin | ||
| 736 | ln -snf fitImage-linux.bin-${KERNEL_FIT_NAME}.bin "$deployDir/fitImage-linux.bin-${KERNEL_FIT_LINK_NAME}" | ||
| 737 | fi | ||
| 641 | 738 | ||
| 642 | if [ -n "${INITRAMFS_IMAGE}" ]; then | 739 | if [ -n "${INITRAMFS_IMAGE}" ]; then |
| 643 | echo "Copying fit-image-${INITRAMFS_IMAGE}.its source file..." | 740 | echo "Copying fit-image-${INITRAMFS_IMAGE}.its source file..." |
| 644 | install -m 0644 ${B}/fit-image-${INITRAMFS_IMAGE}.its "$deployDir/fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.its" | 741 | install -m 0644 ${B}/fit-image-${INITRAMFS_IMAGE}.its "$deployDir/fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.its" |
| 645 | ln -snf fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.its "$deployDir/fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}" | 742 | ln -snf fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.its "$deployDir/fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}" |
| 646 | 743 | ||
| 647 | echo "Copying fitImage-${INITRAMFS_IMAGE} file..." | 744 | if [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" ]; then |
| 648 | install -m 0644 ${B}/arch/${ARCH}/boot/fitImage-${INITRAMFS_IMAGE} "$deployDir/fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.bin" | 745 | echo "Copying fitImage-${INITRAMFS_IMAGE} file..." |
| 649 | ln -snf fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.bin "$deployDir/fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}" | 746 | install -m 0644 ${B}/arch/${ARCH}/boot/fitImage-${INITRAMFS_IMAGE} "$deployDir/fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.bin" |
| 747 | ln -snf fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.bin "$deployDir/fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}" | ||
| 748 | fi | ||
| 650 | fi | 749 | fi |
| 651 | if [ "${UBOOT_SIGN_ENABLE}" = "1" -a -n "${UBOOT_DTB_BINARY}" ] ; then | 750 | if [ "${UBOOT_SIGN_ENABLE}" = "1" -a -n "${UBOOT_DTB_BINARY}" ] ; then |
| 652 | # UBOOT_DTB_IMAGE is a realfile, but we can't use | 751 | # UBOOT_DTB_IMAGE is a realfile, but we can't use |
| @@ -656,3 +755,18 @@ kernel_do_deploy_append() { | |||
| 656 | fi | 755 | fi |
| 657 | fi | 756 | fi |
| 658 | } | 757 | } |
| 758 | |||
| 759 | # The function below performs the following in case of initramfs bundles: | ||
| 760 | # - Removes do_assemble_fitimage. FIT generation is done through | ||
| 761 | # do_assemble_fitimage_initramfs. do_assemble_fitimage is not needed | ||
| 762 | # and should not be part of the tasks to be executed. | ||
| 763 | # - Since do_generate_rsa_keys is inserted by default | ||
| 764 | # between do_compile and do_assemble_fitimage, this is | ||
| 765 | # not suitable in case of initramfs bundles. do_generate_rsa_keys | ||
| 766 | # should be between do_bundle_initramfs and do_assemble_fitimage_initramfs. | ||
| 767 | python () { | ||
| 768 | if d.getVar('INITRAMFS_IMAGE_BUNDLE') == "1": | ||
| 769 | bb.build.deltask('do_assemble_fitimage', d) | ||
| 770 | bb.build.deltask('generate_rsa_keys', d) | ||
| 771 | bb.build.addtask('generate_rsa_keys', 'do_assemble_fitimage_initramfs', 'do_bundle_initramfs', d) | ||
| 772 | } \ No newline at end of file | ||
