From 4c29f9a6fbe37a7f8bcda64a0694bd2ac1334340 Mon Sep 17 00:00:00 2001
From: Samuli Piippo <samuli.piippo@theqtcompany.com>
Date: Mon, 30 Nov 2015 15:15:33 +0200
Subject: [PATCH] Create .img binary image for all devices

Use the sdcard bbclass from meta-fsl-arm to build binary image
for TI hardware. Append all other image creation functions to
create the .img symlink.

Change-Id: I1bb0b5ea893789831d6fae27ece93ce238bfcb49
Reviewed-by: Teemu Holappa <teemu.holappa@theqtcompany.com>
---
 classes/image_types_sdcard.bbclass   | 20 +++++++++++++++----
 conf/bblayers.conf.bbb.sample        |  1 +
 conf/bblayers.conf.ti.sample         |  1 +
 conf/distro/b2qt.conf                |  1 +
 conf/distro/include/am335x-evm.conf  |  2 ++
 conf/distro/include/beagleboard.conf |  2 ++
 conf/distro/include/beaglebone.conf  |  3 +++
 conf/distro/include/ti.inc           | 30 ++++++++++++++++++++++++++++
 scripts/manifest.xml                 |  2 +-
 scripts/manifest_fido.xml            |  2 +-
 scripts/upload.sh                    | 12 ++++-------
 11 files changed, 62 insertions(+), 14 deletions(-)
 create mode 100644 conf/distro/include/ti.inc

diff --git a/classes/image_types_sdcard.bbclass b/classes/image_types_sdcard.bbclass
index d9c8a777..6065cf06 100644
--- a/classes/image_types_sdcard.bbclass
+++ b/classes/image_types_sdcard.bbclass
@@ -20,11 +20,23 @@
 ##
 #############################################################################
 
-inherit image_types_fsl
-
-IMAGE_ROOTFS_EXTRA_SPACE = "300000"
+IMAGE_ROOTFS_EXTRA_SPACE = "100000"
 SDCARD_ROOTFS = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"
+SDCARD_GENERATION_COMMAND_ti33x = "generate_imx_sdcard"
 
-IMAGE_CMD_sdcard_append () {
+IMAGE_CMD_sdcard_append() {
     parted -s ${SDCARD} set 1 boot on
+
+    rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.img
+    ln -s ${IMAGE_NAME}.rootfs.sdcard ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.img
+}
+
+IMAGE_CMD_rpi-sdimg_append() {
+    rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.img
+    ln -s ${IMAGE_NAME}.rootfs.rpi-sdimg ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.img
+}
+
+build_hddimg_append() {
+    rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.img
+    ln -s ${IMAGE_NAME}.hddimg ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.img
 }
diff --git a/conf/bblayers.conf.bbb.sample b/conf/bblayers.conf.bbb.sample
index 8a0007c7..7fb19ea7 100644
--- a/conf/bblayers.conf.bbb.sample
+++ b/conf/bblayers.conf.bbb.sample
@@ -33,6 +33,7 @@ BBLAYERS ?= " \
   ${BSPDIR}/sources/poky/meta-yocto \
   ${BSPDIR}/sources/meta-beagleboard/common-bsp \
   ${BSPDIR}/sources/meta-ti \
+  ${BSPDIR}/sources/meta-fsl-arm \
   ${BSPDIR}/sources/meta-openembedded/meta-oe \
   ${BSPDIR}/sources/meta-openembedded/meta-python \
   ${BSPDIR}/sources/meta-openembedded/meta-networking \
diff --git a/conf/bblayers.conf.ti.sample b/conf/bblayers.conf.ti.sample
index d9f3d5d6..ace52cd6 100644
--- a/conf/bblayers.conf.ti.sample
+++ b/conf/bblayers.conf.ti.sample
@@ -32,6 +32,7 @@ BBLAYERS ?= " \
   ${BSPDIR}/sources/poky/meta \
   ${BSPDIR}/sources/poky/meta-yocto \
   ${BSPDIR}/sources/meta-ti \
+  ${BSPDIR}/sources/meta-fsl-arm \
   ${BSPDIR}/sources/meta-openembedded/meta-oe \
   ${BSPDIR}/sources/meta-openembedded/meta-python \
   ${BSPDIR}/sources/meta-openembedded/meta-networking \
diff --git a/conf/distro/b2qt.conf b/conf/distro/b2qt.conf
index f006cf66..66d3045c 100644
--- a/conf/distro/b2qt.conf
+++ b/conf/distro/b2qt.conf
@@ -58,6 +58,7 @@ MACHINE_EXTRA_INSTALL_SDK ?= ""
 MACHINE_EXTRA_INSTALL_SDK_HOST ?= ""
 
 IMAGE_FSTYPES = "tar.gz"
+IMAGE_CLASSES += "image_types_sdcard"
 
 LICENSE_CREATE_PACKAGE = "1"
 COPY_LIC_MANIFEST = "1"
diff --git a/conf/distro/include/am335x-evm.conf b/conf/distro/include/am335x-evm.conf
index e1f6cfb2..e44e99a8 100644
--- a/conf/distro/include/am335x-evm.conf
+++ b/conf/distro/include/am335x-evm.conf
@@ -20,6 +20,8 @@
 ##
 #############################################################################
 
+include conf/distro/include/ti.inc
+
 BOOTFS_CONTENT = "\
     u-boot-${MACHINE}.img:u-boot.img \
     MLO-${MACHINE}:MLO \
diff --git a/conf/distro/include/beagleboard.conf b/conf/distro/include/beagleboard.conf
index b5974810..eaba0c27 100644
--- a/conf/distro/include/beagleboard.conf
+++ b/conf/distro/include/beagleboard.conf
@@ -20,6 +20,8 @@
 ##
 #############################################################################
 
+include conf/distro/include/ti.inc
+
 BOOTFS_CONTENT = "\
     u-boot-${MACHINE}.img:u-boot.img \
     MLO-${MACHINE}:MLO \
diff --git a/conf/distro/include/beaglebone.conf b/conf/distro/include/beaglebone.conf
index 93cd5699..73b1c87d 100644
--- a/conf/distro/include/beaglebone.conf
+++ b/conf/distro/include/beaglebone.conf
@@ -15,6 +15,9 @@
 ## contact form at http://www.qt.io
 ##
 ############################################################################
+
+include conf/distro/include/ti.inc
+
 BOOTFS_CONTENT = "\
     u-boot-${MACHINE}.img:u-boot.img \
     MLO-${MACHINE}:MLO \
diff --git a/conf/distro/include/ti.inc b/conf/distro/include/ti.inc
new file mode 100644
index 00000000..fe1f2535
--- /dev/null
+++ b/conf/distro/include/ti.inc
@@ -0,0 +1,30 @@
+#############################################################################
+##
+## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+##
+## This file is part of the Qt Enterprise Embedded Scripts of the Qt
+## framework.
+##
+## $QT_BEGIN_LICENSE$
+## Commercial License Usage Only
+## Licensees holding valid commercial Qt license agreements with Digia
+## with an appropriate addendum covering the Qt Enterprise Embedded Scripts,
+## may use this file in accordance with the terms contained in said license
+## agreement.
+##
+## For further information use the contact form at
+## http://www.qt.io/contact-us.
+##
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+BBMASK ?= " "
+BBMASK .= "|meta-fsl-arm/qt5-layer/recipes-qt/qt5"
+
+IMAGE_FSTYPES += "ext3 sdcard"
+IMAGE_CLASSES += "image_types_fsl"
+
+UBOOT_SUFFIX = "img"
+BOOT_SCRIPTS = "${BOOTFS_CONTENT}"
diff --git a/scripts/manifest.xml b/scripts/manifest.xml
index 53ed620c..6e356ab1 100644
--- a/scripts/manifest.xml
+++ b/scripts/manifest.xml
@@ -29,7 +29,7 @@
            remote="yocto"
            revision="f30b056c8f1af3f3122f94dbaa4698da5d620a41"
            path="sources/meta-fsl-arm"
-           groups="notdefault,fsl,toradex,architech"/>
+           groups="notdefault,fsl,toradex,architech,ti,bbb"/>
   <project name="meta-ti"
            remote="yocto"
            revision="0a222c70845d19a2213ac36803361e8531768cca"
diff --git a/scripts/manifest_fido.xml b/scripts/manifest_fido.xml
index 720d7d16..9bd05104 100644
--- a/scripts/manifest_fido.xml
+++ b/scripts/manifest_fido.xml
@@ -29,7 +29,7 @@
            remote="yocto"
            revision="fido"
            path="sources/meta-fsl-arm"
-           groups="notdefault,fsl,toradex,architech"/>
+           groups="notdefault,fsl,toradex,architech,ti,bbb"/>
   <project name="meta-ti"
            remote="yocto"
            revision="fido"
diff --git a/scripts/upload.sh b/scripts/upload.sh
index 2da1f082..3df3b3e2 100755
--- a/scripts/upload.sh
+++ b/scripts/upload.sh
@@ -31,8 +31,8 @@ if [ ${AUTOMOTIVE} = "true" ]; then
   scp tmp/deploy/sdk/b2qt-glibc-x86_64-meta-toolchain-b2qt-embedded-qt5-sdk-*.sh ${UPLOADPATH}/b2qt-x86_64-automotive-toolchain-${MACHINE}.sh
   if [ -e tmp/deploy/images/${MACHINE}/b2qt-automotive-qt5-image-${MACHINE}.hdd ]; then
     scp tmp/deploy/images/${MACHINE}/b2qt-automotive-qt5-image-${MACHINE}.hdd ${UPLOADPATH}/
-  elif [ -e tmp/deploy/images/${MACHINE}/b2qt-automotive-qt5-image-${MACHINE}.sdcard ]; then
-    scp tmp/deploy/images/${MACHINE}/b2qt-automotive-qt5-image-${MACHINE}.sdcard ${UPLOADPATH}/b2qt-automotive-qt5-image-${MACHINE}.img
+  elif [ -e tmp/deploy/images/${MACHINE}/b2qt-automotive-qt5-image-${MACHINE}.img ]; then
+    scp tmp/deploy/images/${MACHINE}/b2qt-automotive-qt5-image-${MACHINE}.img ${UPLOADPATH}/
   fi
   exit 0
 fi
@@ -61,10 +61,6 @@ scp tmp/deploy/sdk/b2qt-glibc-x86_64-meta-toolchain-b2qt-embedded-qt5-sdk-*.sh $
 
 if [ -e tmp/deploy/images/${MACHINE}/b2qt-embedded-qt5-image-${MACHINE}.hdd ]; then
   scp tmp/deploy/images/${MACHINE}/b2qt-embedded-qt5-image-${MACHINE}.hdd ${UPLOADPATH}/
-elif [ -e tmp/deploy/images/${MACHINE}/b2qt-embedded-qt5-image-${MACHINE}.sdcard ]; then
-  scp tmp/deploy/images/${MACHINE}/b2qt-embedded-qt5-image-${MACHINE}.sdcard ${UPLOADPATH}/b2qt-embedded-qt5-image-${MACHINE}.img
-elif [ -e tmp/deploy/images/${MACHINE}/b2qt-embedded-qt5-image-${MACHINE}.rpi-sdimg ]; then
-  scp tmp/deploy/images/${MACHINE}/b2qt-embedded-qt5-image-${MACHINE}.rpi-sdimg ${UPLOADPATH}/b2qt-embedded-qt5-image-${MACHINE}.img
-elif [ -e tmp/deploy/images/${MACHINE}/b2qt-embedded-qt5-image-${MACHINE}.hddimg ]; then
-  scp tmp/deploy/images/${MACHINE}/b2qt-embedded-qt5-image-${MACHINE}.hddimg ${UPLOADPATH}/b2qt-embedded-qt5-image-${MACHINE}.img
+elif [ -e tmp/deploy/images/${MACHINE}/b2qt-embedded-qt5-image-${MACHINE}.img ]; then
+  scp tmp/deploy/images/${MACHINE}/b2qt-embedded-qt5-image-${MACHINE}.img ${UPLOADPATH}/
 fi
-- 
GitLab