index 2bbf4c47cf61fa6e9f8ae3ccb524fa8080f8dda8..232b168d0a964ba9888bd753524c098211c00f86 100644 (file)
LOOPDEV_BOOT ?= "/dev/loop2"
LOOPDEV_FS ?= "/dev/loop3"
-# Default to 4GiB images, but use 2GiB images for beaglebone
+# Default to 4GiB images
SDIMG_SIZE ?= "444"
-SDIMG_SIZE_beaglebone = "222"
+BOOTPARTNAME_beaglebone = "BEAGLE_BONE"
BOOTPARTNAME ?= "${MACHINE}"
+IMAGEDATESTAMP = "${@time.strftime('%Y.%m.%d',time.gmtime())}"
+
+# Files and/or directories to be copied into the vfat partition
+FATPAYLOAD ?= ""
+
IMAGE_CMD_sdimg () {
SDIMG=${WORKDIR}/sd.img
suffix=bin
fi
- cp -v ${IMAGE_ROOTFS}/boot/{user.txt,uEnv.txt} ${WORKDIR}/tmp-mnt-boot || true
+ cp -v ${IMAGE_ROOTFS}/boot/uEnv.txt ${WORKDIR}/tmp-mnt-boot || true
+ cp -v ${IMAGE_ROOTFS}/boot/user.txt ${WORKDIR}/tmp-mnt-boot || true
if [ -e ${IMAGE_ROOTFS}/boot/u-boot.$suffix ] ; then
cp -v ${IMAGE_ROOTFS}/boot/{u-boot.$suffix} ${WORKDIR}/tmp-mnt-boot || true
cp -v ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.$suffix ${WORKDIR}/tmp-mnt-boot/u-boot.$suffix
fi
+ if [ -n ${FATPAYLOAD} ] ; then
+ echo "Copying payload into VFAT"
+ for entry in ${FATPAYLOAD} ; do
+ # add the || true to stop aborting on vfat issues like not supporting .~lock files
+ cp -av ${IMAGE_ROOTFS}$entry ${WORKDIR}/tmp-mnt-boot || true
+ done
+ fi
+
# Cleanup VFAT mount
echo "Cleaning up VFAT mount"
umount ${WORKDIR}/tmp-mnt-boot
# should use fdisk info
echo "Creating ext3 image"
touch ${WORKDIR}/${IMAGE_NAME}.rootfs.ext3
- genext2fs -b $FS_SIZE_BLOCKS -d ${IMAGE_ROOTFS} ${WORKDIR}/${IMAGE_NAME}.rootfs.ext3
+ # lots of small files, so use 8k per inode, not 64k
+ genext2fs -i 4096 -b $FS_SIZE_BLOCKS -d ${IMAGE_ROOTFS} ${WORKDIR}/${IMAGE_NAME}.rootfs.ext3
tune2fs -L ${IMAGE_NAME} -j ${WORKDIR}/${IMAGE_NAME}.rootfs.ext3
dd if=${WORKDIR}/${IMAGE_NAME}.rootfs.ext3 of=${LOOPDEV_FS}
${LOSETUP} -d ${LOOPDEV_FS} || true
- gzip -c ${WORKDIR}/sd.img > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-${PR}.img.gz
+ gzip -c ${WORKDIR}/sd.img > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-${IMAGEDATESTAMP}.img.gz
rm -f ${WORKDIR}/sd.img
}