summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/machine/compulab-pxa270.conf7
-rw-r--r--packages/linux/compulab-pxa270_2.6.16.bb21
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}"