Brad Bishop | c654edb | 2015-10-08 14:41:20 -0400 | [diff] [blame] | 1 | inherit image_types_uboot |
| 2 | |
| 3 | # oe_mkimage() was defined in image_types_uboot. Howver, it does not consider |
| 4 | # the image load address and entry point. Override it here. |
| 5 | |
| 6 | oe_mkimage () { |
| 7 | mkimage -A ${UBOOT_ARCH} -O linux -T ramdisk -C $2 -n ${IMAGE_NAME} \ |
| 8 | -a ${INITRD_IMAGE_LOADADDRESS} -e ${INITRD_IMAGE_ENTRYPOINT} \ |
| 9 | -d ${DEPLOY_DIR_IMAGE}/$1 ${DEPLOY_DIR_IMAGE}/$1.u-boot |
| 10 | } |
| 11 | |
Brad Bishop | 9325357 | 2015-10-12 22:58:50 -0400 | [diff] [blame] | 12 | INITRD_IMAGE_ENTRYPOINT ?= "0x40800000" |
Brad Bishop | c654edb | 2015-10-08 14:41:20 -0400 | [diff] [blame] | 13 | INITRD_IMAGE_LOADADDRESS ?= "${INITRD_IMAGE_ENTRYPOINT}" |
| 14 | |
| 15 | FLASH_IMAGE_NAME ?= "flash-${MACHINE}-${DATETIME}" |
| 16 | FLASH_IMAGE_LINK ?= "flash-${MACHINE}" |
| 17 | |
| 18 | FLASH_UBOOT_OFFSET ?= "0" |
| 19 | FLASH_KERNEL_OFFSET ?= "512" |
| 20 | FLASH_ROOTFS_OFFSET ?= "3072" |
| 21 | |
| 22 | IMAGE_POSTPROCESS_COMMAND += "do_generate_flash" |
| 23 | |
| 24 | do_generate_flash() { |
| 25 | kernel="${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}" |
| 26 | uboot="${DEPLOY_DIR_IMAGE}/u-boot.${UBOOT_SUFFIX}" |
| 27 | rootfs="${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.cpio.${IMAGE_CTYPE}.u-boot" |
| 28 | if [ ! -f $kernel ]; then |
| 29 | bbfatal "Kernel file ${kernel} does not exist" |
| 30 | fi |
| 31 | if [ ! -f $uboot ]; then |
| 32 | bbfatal "U-boot file ${uboot} does not exist" |
| 33 | fi |
| 34 | if [ ! -f $rootfs ]; then |
| 35 | bbfatal "Rootfs file ${rootfs} does not exist" |
| 36 | fi |
| 37 | |
| 38 | dst="${DEPLOY_DIR_IMAGE}/${FLASH_IMAGE_NAME}" |
| 39 | rm -rf $dst |
| 40 | dd if=/dev/zero of=${dst} bs=1k count=${FLASH_SIZE} |
| 41 | dd if=${uboot} of=${dst} bs=1k seek=${FLASH_UBOOT_OFFSET} |
| 42 | dd if=${kernel} of=${dst} bs=1k seek=${FLASH_KERNEL_OFFSET} |
| 43 | dd if=${rootfs} of=${dst} bs=1k seek=${FLASH_ROOTFS_OFFSET} |
| 44 | dstlink="${DEPLOY_DIR_IMAGE}/${FLASH_IMAGE_LINK}" |
| 45 | rm -rf $dstlink |
| 46 | ln -sf ${FLASH_IMAGE_NAME} $dstlink |
| 47 | } |