summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuka Pivk <luka.pivk@toradex.com>2018-11-28 07:05:09 +0100
committerMax Krummenacher <max.krummenacher@toradex.com>2019-03-04 17:09:52 +0100
commit32dab83f83a94d8bcd5f8e9c8efd6c1f3ade9f5f (patch)
tree2553b18f3d5a9320328bc3c7a7536b5307702900
parent42d825bc21f5cda8c3b0391d79e1820405b747ac (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>
-rw-r--r--classes/image_type_tezi.bbclass26
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