summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
Diffstat (limited to 'classes')
-rw-r--r--classes/lsppchd-image.bbclass4
-rw-r--r--classes/lsppchg-image.bbclass4
-rw-r--r--classes/n2100-image.bbclass6
-rw-r--r--classes/storcenter-image.bbclass30
-rw-r--r--classes/turbostation-image.bbclass5
5 files changed, 36 insertions, 13 deletions
diff --git a/classes/lsppchd-image.bbclass b/classes/lsppchd-image.bbclass
index da280551d4..6aab20127a 100644
--- a/classes/lsppchd-image.bbclass
+++ b/classes/lsppchd-image.bbclass
@@ -1 +1,3 @@
-IMAGE_POSTPROCESS_COMMAND += ""
+lsppchd_pack_image() {
+:
+} \ No newline at end of file
diff --git a/classes/lsppchg-image.bbclass b/classes/lsppchg-image.bbclass
index da280551d4..5d9da87c7d 100644
--- a/classes/lsppchg-image.bbclass
+++ b/classes/lsppchg-image.bbclass
@@ -1 +1,3 @@
-IMAGE_POSTPROCESS_COMMAND += ""
+lsppchg_pack_image() {
+:
+} \ No newline at end of file
diff --git a/classes/n2100-image.bbclass b/classes/n2100-image.bbclass
index 811b1d37b7..519be213d5 100644
--- a/classes/n2100-image.bbclass
+++ b/classes/n2100-image.bbclass
@@ -1,9 +1,3 @@
-DEPENDS += "openssl-native"
-EXTRA_IMAGECMD = "--little-endian"
-ERASEBLOCK_SIZE = "0x20000"
-IMAGE_FSTYPES = "jffs2"
-IMAGE_POSTPROCESS_COMMAND += '${MACHINE}_pack_image;'
-
n2100_pack_image() {
# find latest kernel
KERNEL=`ls -tr ${DEPLOY_DIR_IMAGE}/zImage* | tail -1`
diff --git a/classes/storcenter-image.bbclass b/classes/storcenter-image.bbclass
new file mode 100644
index 0000000000..de77f1b417
--- /dev/null
+++ b/classes/storcenter-image.bbclass
@@ -0,0 +1,30 @@
+storcenter_pack_image() {
+ # find latest kernel
+ KERNEL=`ls -tr ${DEPLOY_DIR_IMAGE}/uImage* | tail -1`
+ if [ -z "$KERNEL" ]; then
+ oefatal "No kernel found in ${DEPLOY_DIR_IMAGE}. Bitbake linux-storcenter to create one."
+ exit 1
+ fi
+ ROOTFS=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2
+ OUTPUT=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.flash.img
+ PADFILE=${DEPLOY_DIR_IMAGE}/padfile.zzz
+ HEX_MAX_KERN_SIZE=170000
+ DEC_MAX_KERN_SIZE=`echo "ibase=16; $HEX_MAX_KERN_SIZE" | bc `
+ HEX_MAX_ROOT_SIZE=590000
+ DEC_MAX_ROOT_SIZE=`echo "ibase=16; $HEX_MAX_ROOT_SIZE" | bc `
+ KERNEL_SIZE=`ls -l $KERNEL | awk '{print $5}'`
+ if [ $KERNEL_SIZE -gt $DEC_MAX_KERN_SIZE ]; then
+ oefatal "Kernel too large at $KERNEL_SIZE bytes. Max is $DEC_MAX_KERN_SIZE."
+ exit 1
+ fi
+ ROOT_SIZE=`ls -l $ROOTFS | awk '{print $5}'`
+ if [ $ROOT_SIZE -gt $DEC_MAX_ROOT_SIZE ]; then
+ oefatal "Rootfs is too large at $ROOT_SIZE bytes. Max is $DEC_MAX_ROOT_SIZE."
+ exit 1
+ fi
+ PAD_SIZE=`echo "$DEC_MAX_KERN_SIZE - $KERNEL_SIZE" | bc `
+ dd if=/dev/zero of=$PADFILE bs=$PAD_SIZE count=1 2>>/dev/null
+ cat $KERNEL $PADFILE $ROOTFS > $OUTPUT
+ rm -f $PADFILE
+ ls -l $OUTPUT
+}
diff --git a/classes/turbostation-image.bbclass b/classes/turbostation-image.bbclass
index d82e3996d5..e61ffc825b 100644
--- a/classes/turbostation-image.bbclass
+++ b/classes/turbostation-image.bbclass
@@ -1,8 +1,3 @@
-EXTRA_IMAGECMD = "--big-endian"
-ERASEBLOCK_SIZE = "0x20000"
-IMAGE_FSTYPES = "jffs2"
-IMAGE_POSTPROCESS_COMMAND += '${MACHINE}_pack_image;'
-
turbostation_pack_image() {
# find latest kernel
KERNEL=`ls -tr ${DEPLOY_DIR_IMAGE}/uImage* | tail -1`