diff options
Diffstat (limited to 'sys-boot/raspberrypi-mkimage/files/raspberrypi-mkimage-0_p20120201-imagetool-uncompressed.py')
-rw-r--r-- | sys-boot/raspberrypi-mkimage/files/raspberrypi-mkimage-0_p20120201-imagetool-uncompressed.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/sys-boot/raspberrypi-mkimage/files/raspberrypi-mkimage-0_p20120201-imagetool-uncompressed.py b/sys-boot/raspberrypi-mkimage/files/raspberrypi-mkimage-0_p20120201-imagetool-uncompressed.py new file mode 100644 index 000000000000..46ff4fc8ea6b --- /dev/null +++ b/sys-boot/raspberrypi-mkimage/files/raspberrypi-mkimage-0_p20120201-imagetool-uncompressed.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python2 + +import os +import re +import sys + +try: + kernel_image = sys.argv[1] +except: + kernel_image = "" + +if kernel_image == "": + print("usage : imagetool-uncompressed.py <kernel image>"); + sys.exit(0) + +re_line = re.compile(r"0x(?P<value>[0-9a-f]{8})") + +mem = [0 for i in range(32768)] + +def load_to_mem(name, addr): + f = open(name) + + for l in f.readlines(): + m = re_line.match(l) + + if m: + value = int(m.group("value"), 16) + + for i in range(4): + mem[addr] = int(value >> i * 8 & 0xff) + addr += 1 + + f.close() + +load_to_mem("boot-uncompressed.txt", 0x00000000) +load_to_mem("args-uncompressed.txt", 0x00000100) + +f = open("first32k.bin", "wb") + +for m in mem: + f.write(chr(m)) + +f.close() + +os.system("cat first32k.bin " + kernel_image + " > kernel.img") |