diff options
author | Florian Fainelli <florian@openwrt.org> | 2009-12-12 17:17:00 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2009-12-12 17:17:00 +0000 |
commit | a39dcb405e33ccd8336d79ed892fcefa1edbc1a1 (patch) | |
tree | 212c87f39378f95265919b2b595576720884aa25 /target/linux/rdc/image | |
parent | 3fcaccd9b37b6ed2e2fedf3d0ebbc88d9a072100 (diff) | |
download | mtk-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-x | target/linux/rdc/image/mkimg_bifferboard.py | 40 |
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 |