From 205c9d448868dcb43296f71b938d3a16ea04f12c Mon Sep 17 00:00:00 2001 From: Cliff Brake Date: Tue, 3 Apr 2007 21:39:10 +0000 Subject: compulab-pxa270: create jffs2 images w/ summary information --- conf/machine/compulab-pxa270.conf | 7 +++++++ packages/linux/compulab-pxa270_2.6.16.bb | 21 +++++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/conf/machine/compulab-pxa270.conf b/conf/machine/compulab-pxa270.conf index d8d9264699..4febd8939e 100644 --- a/conf/machine/compulab-pxa270.conf +++ b/conf/machine/compulab-pxa270.conf @@ -19,6 +19,13 @@ ROOT_FLASH_SIZE ?= "32" EXTRA_IMAGECMD_jffs2 = "--pad=0x1000000 --eraseblock=0x40000" +# for NAND flash. +EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 --pad=0x20000;\ + sumtool -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \ + -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs-summary.jffs2 \ + -e 0x20000 -p\ + " + MACHINE_FEATURES = "kernel26 pcmcia usbhost usbgadget pcmcia touchscreen alsa" MACHINE_TASK_PROVIDER = "task-base" 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}" -- cgit v1.2.3