aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2018-04-12 16:25:36 +0300
committerSamuli Piippo <samuli.piippo@qt.io>2018-04-17 06:22:30 +0000
commita0c975500f2b64ed327bd20a61cf9ceca75493ec (patch)
tree10dd67aa53cbf5fad0ae4e4262584738bf5153c4
parent1677194dcca9e0c3e351cba686206497f06e527d (diff)
tegra: include tegra flasher utils into release image
Since the sd card image won't bootup on a device which has been flashed with different version of L4T, include flasher utils that can be used to flash the image into the device as well. The new prepare-image.sh script will use the SD card image to create an image that can be flashed into the device. This saves user from downloading matching image from NVIDIA or bitbaking a flashable image. Change-Id: I28cdcd10a531eaf9fd511565e2542bd0d81541b6 Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io> Reviewed-by: Kari Oikarinen <kari.oikarinen@qt.io>
-rw-r--r--meta-boot2qt-distro/conf/distro/include/jetson.inc1
-rw-r--r--meta-boot2qt/classes/image_types_sdcard.bbclass23
2 files changed, 23 insertions, 1 deletions
diff --git a/meta-boot2qt-distro/conf/distro/include/jetson.inc b/meta-boot2qt-distro/conf/distro/include/jetson.inc
index bb1859ce..e3e02929 100644
--- a/meta-boot2qt-distro/conf/distro/include/jetson.inc
+++ b/meta-boot2qt-distro/conf/distro/include/jetson.inc
@@ -41,6 +41,7 @@ UBOOT_SUFFIX = "bin"
QBSP_IMAGE_CONTENT = "\
${IMAGE_LINK_NAME}.img \
${IMAGE_LINK_NAME}.conf \
+ ${IMAGE_LINK_NAME}.flasher.tar.gz \
"
BBMASK += "\
diff --git a/meta-boot2qt/classes/image_types_sdcard.bbclass b/meta-boot2qt/classes/image_types_sdcard.bbclass
index 37b1b61c..7dedf875 100644
--- a/meta-boot2qt/classes/image_types_sdcard.bbclass
+++ b/meta-boot2qt/classes/image_types_sdcard.bbclass
@@ -52,7 +52,7 @@ IMAGE_DEPENDS_tegraflash_append = " parted-native:do_populate_sysroot"
create_tegraflash_pkg_prepend() {
# Create partition table
SDCARD=${IMGDEPLOYDIR}/${IMAGE_NAME}.img
- SDCARD_ROOTFS=${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.ext4
+ SDCARD_ROOTFS=${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${IMAGE_TEGRAFLASH_FS_TYPE}
SDCARD_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${ROOTFS_SIZE} + ${IMAGE_ROOTFS_ALIGNMENT})
dd if=/dev/zero of=$SDCARD bs=1 count=0 seek=$(expr 1024 \* $SDCARD_SIZE)
@@ -66,3 +66,24 @@ create_tegraflash_pkg_prepend() {
rm -f ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.img
ln -s ${IMAGE_NAME}.img ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.img
}
+
+# create flash package that utilizes the SD card image
+create_tegraflash_pkg_append() {
+ cd ${WORKDIR}/tegraflash
+ cat > prepare-image.sh <<END
+#!/bin/sh -e
+if [ ! -e "${IMAGE_BASENAME}.img" ]; then
+ dd if=../${IMAGE_LINK_NAME}.img of=${IMAGE_LINK_NAME}.${IMAGE_TEGRAFLASH_FS_TYPE} skip=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) count=$(expr ${ROOTFS_SIZE} / 1024)
+ ./tegra*-flash/mksparse -v --fillpattern=0 ${IMAGE_LINK_NAME}.${IMAGE_TEGRAFLASH_FS_TYPE} ${IMAGE_BASENAME}.img
+ rm -f ${IMAGE_LINK_NAME}.${IMAGE_TEGRAFLASH_FS_TYPE}
+fi
+echo "Flash image ready"
+END
+ chmod +x prepare-image.sh
+ rm ${IMAGE_BASENAME}.img
+
+ cd ..
+ rm -f ${IMGDEPLOYDIR}/${IMAGE_NAME}.flasher.tar.gz
+ tar czhf ${IMGDEPLOYDIR}/${IMAGE_NAME}.flasher.tar.gz tegraflash
+ ln -sf ${IMAGE_NAME}.flasher.tar.gz ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.flasher.tar.gz
+}