summaryrefslogtreecommitdiff
path: root/recipes-images/images/trdx-image-fstype.inc
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2016-08-17 15:12:40 +0200
committerStefan Agner <stefan.agner@toradex.com>2016-09-28 14:14:23 -0700
commit2e01657c7435ad629731f2be3ca842773ff3b939 (patch)
tree4040d50f1dda3199c32d2ae21062424de882bd05 /recipes-images/images/trdx-image-fstype.inc
parent4b914089531c92620d4a2f7b5e04c65c4b4d5753 (diff)
images: mv all files into recipes-image/image
This requires to adjust the path to include files, e.g.: -require recipes/images/trdx-image-fstype.inc +require recipes-images/images/trdx-image-fstype.inc Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
Diffstat (limited to 'recipes-images/images/trdx-image-fstype.inc')
-rw-r--r--recipes-images/images/trdx-image-fstype.inc163
1 files changed, 163 insertions, 0 deletions
diff --git a/recipes-images/images/trdx-image-fstype.inc b/recipes-images/images/trdx-image-fstype.inc
new file mode 100644
index 0000000..ed1a132
--- /dev/null
+++ b/recipes-images/images/trdx-image-fstype.inc
@@ -0,0 +1,163 @@
+#create the deployment directory-tree
+
+BURNFLASH := "${THISDIR}/files/${MACHINE}"
+IMAGE_ROOTFS = "${WORKDIR}/${IMAGE_NAME}${PV}/rootfs"
+
+U_BOOT_EXT = "bin"
+U_BOOT_EXT_mx6 = "imx"
+U_BOOT_EXT_mx7 = "imx"
+U_BOOT_EXT_vf = "imx"
+U_BOOT_SYMLINK = "u-boot-${MACHINE}.${U_BOOT_EXT}"
+U_BOOT_SYMLINK_tegra = "u-boot-dtb-tegra-${MACHINE}.${U_BOOT_EXT}"
+U_BOOT_SYMLINK_tegra124 = "u-boot-dtb-tegra-${MACHINE}.${U_BOOT_EXT}"
+U_BOOT_BINARY = "u-boot.${U_BOOT_EXT}"
+U_BOOT_BINARY_tegra = "u-boot-dtb-tegra.${U_BOOT_EXT}"
+U_BOOT_BINARY_tegra124 = "u-boot-dtb-tegra.${U_BOOT_EXT}"
+
+#we need some native tools for deployment
+DEPENDS_append_mx6 = " imx-loader-native"
+DEPENDS_append_mx7 = " mtd-utils-native imx-loader-native"
+#FIXME: 32-bit tegrarcm built on F20 does not run on 64-bit F20 even with properly installed 32-bit libs!
+DEPENDS_append_tegra = " cbootimage-native tegrarcm-native"
+DEPENDS_append_tegra124 = " cbootimage-native tegrarcm-native"
+DEPENDS_append_tegra2 = " mtd-utils-native"
+DEPENDS_append_vf = " mtd-utils-native imx-loader-native"
+#we need mkimage to produce the U-Boot scripts even if not building a uImage kernel
+DEPENDS_append = " virtual/bootloader u-boot-mkimage-native"
+
+imagedeploytools() {
+ # default to nothing to deploy
+ :
+}
+
+imagedeploytools_append_mx6() {
+ IMAGE_ROOT="${IMAGE_ROOTFS}/../imx_flash/"
+ rm -f ${IMAGE_ROOT}/imx_flash/imx_usb ${IMAGE_ROOT}/imx_flash/*.conf
+ mkdir -p ${IMAGE_ROOT}
+
+ # add imx-loader and its configuration files
+ cp ${STAGING_BINDIR_NATIVE}/imx_usb ${IMAGE_ROOT}/
+ ${BUILD_STRIP} ${IMAGE_ROOT}/imx_usb
+ cp ${STAGING_ETCDIR_NATIVE}/imx-loader.d/imx_usb.conf ${IMAGE_ROOT}/
+ cp ${STAGING_ETCDIR_NATIVE}/imx-loader.d/mx6_usb_work.conf ${IMAGE_ROOT}/
+}
+
+imagedeploytools_append_mx7() {
+ IMAGE_ROOT="${IMAGE_ROOTFS}/../imx_flash/"
+ rm -f ${IMAGE_ROOT}/mkfs.ubifs ${IMAGE_ROOT}/imx_usb
+ mkdir -p ${IMAGE_ROOT}
+
+ # add the mkfs.ubifs binary
+ cp ${STAGING_DIR_NATIVE}/usr/sbin/mkfs.ubifs ${IMAGE_ROOT}/
+ ${BUILD_STRIP} ${IMAGE_ROOT}/mkfs.ubifs
+
+ # add imx-loader and its configuration files
+ cp ${STAGING_BINDIR_NATIVE}/imx_usb ${IMAGE_ROOT}/
+ ${BUILD_STRIP} ${IMAGE_ROOT}/imx_usb
+ cp ${STAGING_ETCDIR_NATIVE}/imx-loader.d/imx_usb.conf ${IMAGE_ROOT}/
+ cp ${STAGING_ETCDIR_NATIVE}/imx-loader.d/mx7_usb_work.conf ${IMAGE_ROOT}/
+}
+
+imagedeploytools_append_tegra() {
+ IMAGE_ROOT="${IMAGE_ROOTFS}/../tegra-uboot-flasher/"
+ mkdir -p ${IMAGE_ROOT}
+
+ # add cbootimage and tegrarcm
+ cp ${STAGING_BINDIR_NATIVE}/cbootimage ${IMAGE_ROOT}/
+ cp ${STAGING_BINDIR_NATIVE}/tegrarcm ${IMAGE_ROOT}/
+ ${BUILD_STRIP} ${IMAGE_ROOT}/cbootimage
+ ${BUILD_STRIP} ${IMAGE_ROOT}/tegrarcm
+}
+
+imagedeploytools_append_tegra2() {
+ # add the mkfs.ubifs binary
+ cp ${STAGING_DIR_NATIVE}/usr/sbin/mkfs.ubifs ${IMAGE_ROOT}/
+ ${BUILD_STRIP} ${IMAGE_ROOT}/mkfs.ubifs
+}
+
+imagedeploytools_append_tegra124() {
+ IMAGE_ROOT="${IMAGE_ROOTFS}/../tegra-uboot-flasher/"
+ mkdir -p ${IMAGE_ROOT}
+
+ # add cbootimage and tegrarcm
+ cp ${STAGING_BINDIR_NATIVE}/cbootimage ${IMAGE_ROOT}/
+ cp ${STAGING_BINDIR_NATIVE}/tegrarcm ${IMAGE_ROOT}/
+ ${BUILD_STRIP} ${IMAGE_ROOT}/cbootimage
+ ${BUILD_STRIP} ${IMAGE_ROOT}/tegrarcm
+}
+
+imagedeploytools_append_vf() {
+ IMAGE_ROOT="${IMAGE_ROOTFS}/../vf_flash/"
+ rm -f ${IMAGE_ROOT}/mkfs.ubifs ${IMAGE_ROOT}/imx_uart
+ mkdir -p ${IMAGE_ROOT}
+
+ # add the mkfs.ubifs binary
+ cp ${STAGING_DIR_NATIVE}/usr/sbin/mkfs.ubifs ${IMAGE_ROOT}/
+ ${BUILD_STRIP} ${IMAGE_ROOT}/mkfs.ubifs
+
+ # add imx-loader and its configuration files
+ cp ${STAGING_BINDIR_NATIVE}/imx_uart ${IMAGE_ROOT}/
+ ${BUILD_STRIP} ${IMAGE_ROOT}/imx_uart*
+ cp ${STAGING_ETCDIR_NATIVE}/imx-loader.d/vybrid_usb_work.conf ${IMAGE_ROOT}/
+}
+
+imagedeploy_kernel() {
+ # put kernel, device-tree into the bin directories, remove the kernel/dtb from the rootfs/boot
+ rm -f ${IMAGE_ROOTFS}/boot/${KERNEL_IMAGETYPE}* ${IMAGE_ROOTFS}/boot/*.dtb
+ cp -pP ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}* ${IMAGE_ROOTFS}/../${MACHINE}_bin/
+ ls ${DEPLOY_DIR_IMAGE}/*.dtb 2> /dev/null && cp -pP ${DEPLOY_DIR_IMAGE}/*.dtb ${IMAGE_ROOTFS}/../${MACHINE}_bin/
+ mv ${IMAGE_ROOTFS}/../${MACHINE}_bin/${KERNEL_IMAGETYPE}-${MACHINE}.bin ${IMAGE_ROOTFS}/../${MACHINE}_bin/${KERNEL_IMAGETYPE}
+}
+
+imagedeploy_kernel_mx7() {
+ do_imagedeploy_kernel_dtb
+}
+
+imagedeploy_kernel_tegra2() {
+ # put kernel into the bin directories
+ rm -f ${IMAGE_ROOTFS}/boot/${KERNEL_IMAGETYPE}* ${IMAGE_ROOTFS}/boot/*.dtb
+ cp -pP ${DEPLOY_DIR_IMAGE}/zImage* ${IMAGE_ROOTFS}/../${MACHINE}_bin/
+ mv ${IMAGE_ROOTFS}/../${MACHINE}_bin/zImage-${MACHINE}.bin ${IMAGE_ROOTFS}/../${MACHINE}_bin/zImage
+}
+
+imagedeploy_kernel_vf() {
+ do_imagedeploy_kernel_dtb
+}
+
+do_imagedeploy_kernel_dtb() {
+ # put kernel, device-tree into the bin directories
+ cp -pP ${DEPLOY_DIR_IMAGE}/zImage* ${IMAGE_ROOTFS}/../${MACHINE}_bin/
+ ls ${DEPLOY_DIR_IMAGE}/*.dtb 2> /dev/null && cp -pP ${DEPLOY_DIR_IMAGE}/*.dtb ${IMAGE_ROOTFS}/../${MACHINE}_bin/
+ mv ${IMAGE_ROOTFS}/../${MACHINE}_bin/zImage-${MACHINE}.bin ${IMAGE_ROOTFS}/../${MACHINE}_bin/zImage
+}
+
+fakeroot do_imagedeploy() {
+ cd ${WORKDIR}
+ cp -pLr ${BURNFLASH}/* ${IMAGE_NAME}${PV}/
+
+ cd ${IMAGE_NAME}${PV}/${MACHINE}_bin
+ ./mk-u-boot-scripts.sh
+ cd ${WORKDIR}
+
+ imagedeploy_kernel
+
+ cp -pP ${DEPLOY_DIR_IMAGE}/u-boot* ${IMAGE_ROOTFS}/../${MACHINE}_bin/
+ rm -f ${IMAGE_ROOTFS}/../${MACHINE}_bin/u-boot-hsmmc-${MACHINE}.${U_BOOT_EXT}
+ mv ${IMAGE_ROOTFS}/../${MACHINE}_bin/${U_BOOT_SYMLINK} ${IMAGE_ROOTFS}/../${MACHINE}_bin/${U_BOOT_BINARY}
+
+ # add the rootfs version to the welcome banner
+ echo "${IMAGE_NAME}${PV}_${DATE}" >> ${IMAGE_ROOTFS}/etc/issue
+ echo "" >> ${IMAGE_ROOTFS}/etc/issue
+
+ # add additional tools if required
+ imagedeploytools
+
+ # remove intermediate file rootfs.lock
+ rm -f ${IMAGE_NAME}${PV}/rootfs.lock
+
+ #create tarball
+ DATE=`date +%Y%m%d`
+ tar -cjf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}${PV}_${DATE}.tar.bz2 ${IMAGE_NAME}${PV}
+}
+
+addtask imagedeploy after do_rootfs before do_build