summaryrefslogtreecommitdiff
path: root/classes/wrt-image.bbclass
diff options
context:
space:
mode:
authorFrans Meulenbroeks <fransmeulenbroeks@yahoo.com>2005-11-05 21:50:06 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-11-05 21:50:06 +0000
commit594cd366a214b9ea8f7ed52eb7f4635a393f48a5 (patch)
treed0d22e466d06421e9972cd9027569b54924b18d3 /classes/wrt-image.bbclass
parent7adabd7dffa510d614b4a681c912909b354c1ed6 (diff)
parent3eeaa7051df89f3241f6420d22aa919001376e39 (diff)
merge of 21d66a92293faf76a506c7d17e3cd16e143bb401
and 70f8ac179abbb777f1bec20edf02530820b33e92
Diffstat (limited to 'classes/wrt-image.bbclass')
-rw-r--r--classes/wrt-image.bbclass33
1 files changed, 33 insertions, 0 deletions
diff --git a/classes/wrt-image.bbclass b/classes/wrt-image.bbclass
new file mode 100644
index 0000000000..ba1163a719
--- /dev/null
+++ b/classes/wrt-image.bbclass
@@ -0,0 +1,33 @@
+# we dont need the kernel in the image
+ROOTFS_POSTPROCESS_COMMAND += "rm -f ${IMAGE_ROOTFS}/boot/zImage*"
+
+def wrt_get_kernel_version(d):
+ import bb
+ if bb.data.inherits_class('image_ipk', d):
+ skd = bb.data.getVar('STAGING_KERNEL_DIR', d, 1)
+ return base_read_file(skd+'/kernel-abiversion')
+ return "-no kernel version for available-"
+
+wrt_create_images() {
+ I=${DEPLOY_DIR}/images
+ KERNEL_VERSION="${@wrt_get_kernel_version(d)}"
+
+ for type in ${IMAGE_FSTYPES}; do
+ # generic
+ trx -o ${I}/wrt-generic-${type}.trx ${I}/loader.gz \
+ ${I}/wrt-kernel-${KERNEL_VERSION}.lzma -a 0x10000 ${I}/${IMAGE_NAME}.rootfs.${type}
+
+ # WRT54GS
+ addpattern -2 -i ${I}/wrt-generic-${type}.trx -o ${I}/wrt54gs-${type}.trx -g
+
+ # WRT54G
+ sed "1s,^W54S,W54G," ${I}/wrt54gs-${type}.trx > ${I}/wrt54g-${type}.trx
+
+ # motorola
+ motorola-bin ${I}/wrt-generic-${type}.trx ${I}/motorola-${type}.bin
+ done;
+}
+
+IMAGE_POSTPROCESS_COMMAND += "wrt_create_images;"
+
+DEPENDS_prepend = "${@["wrt-imagetools-native ", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}" \ No newline at end of file