| inherit image_types_uboot |
| |
| # oe_mkimage() was defined in image_types_uboot. Howver, it does not consider |
| # the image load address and entry point. Override it here. |
| |
| oe_mkimage () { |
| mkimage -A ${UBOOT_ARCH} -O linux -T ramdisk -C $2 -n ${IMAGE_NAME} \ |
| -a ${INITRD_IMAGE_LOADADDRESS} -e ${INITRD_IMAGE_ENTRYPOINT} \ |
| -d ${DEPLOY_DIR_IMAGE}/$1 ${DEPLOY_DIR_IMAGE}/$1.u-boot |
| } |
| |
| INITRD_IMAGE_ENTRYPOINT ?= "0x40800000" |
| INITRD_IMAGE_LOADADDRESS ?= "${INITRD_IMAGE_ENTRYPOINT}" |
| |
| FLASH_IMAGE_NAME ?= "flash-${MACHINE}-${DATETIME}" |
| FLASH_IMAGE_LINK ?= "flash-${MACHINE}" |
| |
| FLASH_UBOOT_OFFSET ?= "0" |
| FLASH_KERNEL_OFFSET ?= "512" |
| FLASH_ROOTFS_OFFSET ?= "3072" |
| |
| IMAGE_POSTPROCESS_COMMAND += "do_generate_flash" |
| |
| do_generate_flash() { |
| kernel="${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}" |
| uboot="${DEPLOY_DIR_IMAGE}/u-boot.${UBOOT_SUFFIX}" |
| rootfs="${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.cpio.${IMAGE_CTYPE}.u-boot" |
| if [ ! -f $kernel ]; then |
| bbfatal "Kernel file ${kernel} does not exist" |
| fi |
| if [ ! -f $uboot ]; then |
| bbfatal "U-boot file ${uboot} does not exist" |
| fi |
| if [ ! -f $rootfs ]; then |
| bbfatal "Rootfs file ${rootfs} does not exist" |
| fi |
| |
| dst="${DEPLOY_DIR_IMAGE}/${FLASH_IMAGE_NAME}" |
| rm -rf $dst |
| dd if=/dev/zero of=${dst} bs=1k count=${FLASH_SIZE} |
| dd if=${uboot} of=${dst} bs=1k seek=${FLASH_UBOOT_OFFSET} |
| dd if=${kernel} of=${dst} bs=1k seek=${FLASH_KERNEL_OFFSET} |
| dd if=${rootfs} of=${dst} bs=1k seek=${FLASH_ROOTFS_OFFSET} |
| dstlink="${DEPLOY_DIR_IMAGE}/${FLASH_IMAGE_LINK}" |
| rm -rf $dstlink |
| ln -sf ${FLASH_IMAGE_NAME} $dstlink |
| } |