diff options
Diffstat (limited to 'packages/linux/compulab-pxa270_2.6.16.bb')
-rw-r--r-- | packages/linux/compulab-pxa270_2.6.16.bb | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/packages/linux/compulab-pxa270_2.6.16.bb b/packages/linux/compulab-pxa270_2.6.16.bb index 0e9a43d9b6..928bde8f6a 100644 --- a/packages/linux/compulab-pxa270_2.6.16.bb +++ b/packages/linux/compulab-pxa270_2.6.16.bb @@ -1,7 +1,12 @@ SECTION = "kernel" DESCRIPTION = "Linux kernel for the Compulab PXA270 system" LICENSE = "GPL" -PR = "r2" +PR = "r3" + +# coreutils is required for the stat command which is used +# to create the programming images used with USB. Version +# >= 6.0 is required. +DEPENDS = "coreutils-native" # Note, the compulab package contains a binary NAND driver that is not # EABI compatible @@ -29,8 +34,20 @@ do_configure_prepend() { } do_deploy() { + KNAME=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}-${DATETIME}.bin + install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${KNAME} + # Create an image file that has the size prepended (used by cm-x270 BL) + # The following can only be done on a little endian machine + size=$(stat --printf=%s ${KNAME}) + size_=$(printf '\%03o'\ + $((size & 0x000000FF))\ + $((size>>8 & 0x000000FF))\ + $((size>>16 & 0x000000FF))\ + $((size>>24 & 0x000000FF))) + size_=${size_}'\c' + echo -e $size_ > ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}-${DATETIME}.img + cat ${KNAME} >> ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}-${DATETIME}.img } do_deploy[dirs] = "${S}" |