diff options
author | Luka Pivk <luka.pivk@toradex.com> | 2018-11-28 07:05:09 +0100 |
---|---|---|
committer | Max Krummenacher <max.krummenacher@toradex.com> | 2019-03-04 17:09:52 +0100 |
commit | 32dab83f83a94d8bcd5f8e9c8efd6c1f3ade9f5f (patch) | |
tree | 2553b18f3d5a9320328bc3c7a7536b5307702900 /classes | |
parent | 42d825bc21f5cda8c3b0391d79e1820405b747ac (diff) |
image_type_tezi: add option to ignore kernel and device tree
In some cases kernel and device tree may be a part of rootfs and in this
case we do not want to install anything related to kernel or device
tree.
Use TEZI_KERNEL_IMAGETYPE = "" to exclude kernel
Use TEZI_KERNEL_DEVICETREE = "" to exclude device tree
Signed-off-by: Luka Pivk <luka.pivk@toradex.com>
Diffstat (limited to 'classes')
-rw-r--r-- | classes/image_type_tezi.bbclass | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/classes/image_type_tezi.bbclass b/classes/image_type_tezi.bbclass index 6be5dea..da80dd0 100644 --- a/classes/image_type_tezi.bbclass +++ b/classes/image_type_tezi.bbclass @@ -14,6 +14,9 @@ do_image_teziimg_distro[depends] += "tezi-metadata:do_deploy virtual/bootloader: TEZI_ROOT_FSTYPE ??= "ext4" TEZI_ROOT_LABEL ??= "RFS" TEZI_ROOT_SUFFIX ??= "tar.xz" +KERNEL_DEVICETREE ??= "" +TEZI_KERNEL_DEVICETREE ??= "${KERNEL_DEVICETREE}" +TEZI_KERNEL_IMAGETYPE ??= "${KERNEL_IMAGETYPE}" TORADEX_FLASH_TYPE ??= "emmc" UBOOT_BINARY ??= "u-boot.${UBOOT_SUFFIX}" UBOOT_BINARY_TEZI_EMMC ?= "${UBOOT_BINARY}" @@ -39,17 +42,22 @@ def rootfs_get_size(d): def bootfs_get_size(d): import subprocess - kernel = d.getVar('KERNEL_IMAGETYPE', True) deploydir = d.getVar('DEPLOY_DIR_IMAGE', True) + bootfiles = [] - # Calculate size of bootfs... - bootfiles = [ os.path.join(deploydir, kernel) ] + has_kernel = d.getVar('TEZI_KERNEL_IMAGETYPE', True) + if has_kernel: + kernel = d.getVar('TEZI_KERNEL_IMAGETYPE', True) + bootfiles.append(os.path.join(deploydir,kernel)) - has_devicetree = d.getVar('KERNEL_DEVICETREE', True) + has_devicetree = d.getVar('TEZI_KERNEL_DEVICETREE', True) if has_devicetree: - for dtb in d.getVar('KERNEL_DEVICETREE', True).split(): + for dtb in d.getVar('TEZI_KERNEL_DEVICETREE', True).split(): bootfiles.append(os.path.join(deploydir, dtb)) + if len(bootfiles) == 0: + return int(0) + args = ['du', '-kLc'] args.extend(bootfiles) output = subprocess.check_output(args) @@ -155,7 +163,7 @@ def rootfs_tezi_rawnand(d): "type": "static", "content": { "rawfile": { - "filename": d.getVar('KERNEL_IMAGETYPE', True), + "filename": d.getVar('TEZI_KERNEL_IMAGETYPE', True), "size": 5 } } @@ -277,14 +285,14 @@ IMAGE_CMD_teziimg () { --transform 's,^,${IMAGE_NAME}-Tezi_${PV}/,' \ -chf ${IMGDEPLOYDIR}/${IMAGE_NAME}-Tezi_${PV}${TDX_VERDATE}.tar \ image.json toradexlinux.png marketing.tar prepare.sh wrapup.sh \ - ${SPL_BINARY} ${UBOOT_BINARY_TEZI_RAWNAND} ${UBOOT_ENV_TEZI_RAWNAND} ${KERNEL_IMAGETYPE} ${KERNEL_DEVICETREE} \ + ${SPL_BINARY} ${UBOOT_BINARY_TEZI_RAWNAND} ${UBOOT_ENV_TEZI_RAWNAND} ${TEZI_KERNEL_IMAGETYPE} ${TEZI_KERNEL_DEVICETREE} \ ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.tar.xz ;; *) # Create bootfs... ${IMAGE_CMD_TAR} \ -chf ${IMGDEPLOYDIR}/${IMAGE_NAME}.bootfs.tar -C ${DEPLOY_DIR_IMAGE} \ - ${KERNEL_IMAGETYPE} ${KERNEL_DEVICETREE} + ${TEZI_KERNEL_IMAGETYPE} ${TEZI_KERNEL_DEVICETREE} xz -f -k -c ${XZ_COMPRESSION_LEVEL} ${XZ_THREADS} --check=${XZ_INTEGRITY_CHECK} ${IMGDEPLOYDIR}/${IMAGE_NAME}.bootfs.tar > ${IMGDEPLOYDIR}/${IMAGE_NAME}.bootfs.tar.xz # The first transform strips all folders from the files to tar, the @@ -399,7 +407,7 @@ IMAGE_CMD_teziimg-distro () { # Create bootfs... ${IMAGE_CMD_TAR} \ -chf ${IMGDEPLOYDIR}/${IMAGE_NAME}.bootfs.tar -C ${DEPLOY_DIR_IMAGE} \ - ${KERNEL_IMAGETYPE} ${KERNEL_DEVICETREE} boot.scr + ${TEZI_KERNEL_IMAGETYPE} ${TEZI_KERNEL_DEVICETREE} boot.scr xz -f -k -c ${XZ_COMPRESSION_LEVEL} ${XZ_THREADS} --check=${XZ_INTEGRITY_CHECK} ${IMGDEPLOYDIR}/${IMAGE_NAME}.bootfs.tar > ${IMGDEPLOYDIR}/${IMAGE_NAME}.bootfs.tar.xz # The first transform strips all folders from the files to tar, the |