summaryrefslogtreecommitdiff
path: root/target/linux/rdc/image
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2009-12-12 17:17:00 +0000
committerFlorian Fainelli <florian@openwrt.org>2009-12-12 17:17:00 +0000
commita39dcb405e33ccd8336d79ed892fcefa1edbc1a1 (patch)
tree212c87f39378f95265919b2b595576720884aa25 /target/linux/rdc/image
parent3fcaccd9b37b6ed2e2fedf3d0ebbc88d9a072100 (diff)
downloadmtk-20170518-a39dcb405e33ccd8336d79ed892fcefa1edbc1a1.zip
mtk-20170518-a39dcb405e33ccd8336d79ed892fcefa1edbc1a1.tar.gz
mtk-20170518-a39dcb405e33ccd8336d79ed892fcefa1edbc1a1.tar.bz2
add preliminary support for the bifferboard, patch from bifferos
SVN-Revision: 18766
Diffstat (limited to 'target/linux/rdc/image')
-rwxr-xr-xtarget/linux/rdc/image/mkimg_bifferboard.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/target/linux/rdc/image/mkimg_bifferboard.py b/target/linux/rdc/image/mkimg_bifferboard.py
new file mode 100755
index 0000000..040c462
--- /dev/null
+++ b/target/linux/rdc/image/mkimg_bifferboard.py
@@ -0,0 +1,40 @@
+#!/usr/bin/env python
+
+"""
+ Create firmware for 8MB Bifferboards
+ Firmware does not include the config blocks
+ Firmware starts just after config
+"""
+
+import struct, sys
+
+kernel_extent = 0x200000
+config = 0x6000
+
+if __name__ == "__main__":
+
+ if len(sys.argv) != 4:
+ print "usage: mkimg_bifferboard.py <kernel> <64k JFFS> <output file>"
+ sys.exit(0)
+
+ bzimage = sys.argv[1]
+ rootfs = sys.argv[2]
+ target = sys.argv[3]
+
+ # Kernel first
+ fw = file(bzimage).read()
+ if len(fw) > (kernel_extent - config):
+ raise IOError("Kernel too large")
+
+ # Pad up to 0x200000
+ while len(fw) < (kernel_extent - config):
+ fw += "\xff"
+
+ fw += file(rootfs).read()
+
+ # Check length of total
+ if len(fw) > (0x800000 - 0x10000 - 0x6000):
+ raise IOError("Rootfs too large")
+
+ file(target,"wb").write(fw)
+ print "Firmware written to '%s'" % target