1 DEPENDS += "openssl-native"
2 EXTRA_IMAGECMD = "--little-endian"
3 ERASEBLOCK_SIZE = "0x20000"
4 IMAGE_FSTYPES = "jffs2"
5 IMAGE_POSTPROCESS_COMMAND += '${MACHINE}_pack_image;'
9 KERNEL=`ls -tr ${DEPLOY_DIR_IMAGE}/zImage* | tail -1`
10 if [ -z "$KERNEL" ]; then
11 oefatal "No kernel found in ${DEPLOY_DIR_IMAGE}. Bitbake linux to create one."
14 ROOTFS=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2
15 OUTPUT=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.flash.img
16 PADFILE=${DEPLOY_DIR_IMAGE}/padfile.zzz
17 HEX_MAX_KERN_SIZE=1C0000
18 DEC_MAX_KERN_SIZE=`echo "ibase=16; $HEX_MAX_KERN_SIZE" | bc `
19 HEX_MAX_ROOT_SIZE=DC0000
20 DEC_MAX_ROOT_SIZE=`echo "ibase=16; $HEX_MAX_ROOT_SIZE" | bc `
21 KERNEL_SIZE=`ls -l $KERNEL | awk '{print $5}'`
22 if [ $KERNEL_SIZE -gt $DEC_MAX_KERN_SIZE ]; then
23 oefatal "Kernel too large at $KERNEL_SIZE bytes. Max is $DEC_MAX_KERN_SIZE."
26 ROOT_SIZE=`ls -l $ROOTFS | awk '{print $5}'`
27 if [ $ROOT_SIZE -gt $DEC_MAX_ROOT_SIZE ]; then
28 oefatal "Rootfs is too large at $ROOT_SIZE bytes. Max is $DEC_MAX_ROOT_SIZE."
31 PAD_SIZE=`echo "$DEC_MAX_KERN_SIZE - $KERNEL_SIZE" | bc `
32 dd if=/dev/zero of=$PADFILE bs=$PAD_SIZE count=1 2>>/dev/null
33 cat $KERNEL $PADFILE $ROOTFS > $OUTPUT