def dump_regions(*regions): records = [] for region in regions: records += region.records def cmp(a, b): return int(a.addr - b.addr) records.sort(cmp) end = 0 for record in records: print record hd(record.data[:0x200]) assert record.addr >= end end = record.addr + len(record.data)
#! /usr/bin/python from misc import * from hd import hd import sys if __name__ == '__main__': if len(sys.argv) < 2: sys.argv.append('nboot.ubi') for fn in sys.argv[1:]: try: region = Region() region.fromfile(open(fn, 'r')) data = region.blobify() hd(data, base=region.addr) except FileFormatException, msg: sys.stderr.write('%s: %s\n' % (fn, str(msg)))
def __repr__(self): return hd.hd(self.rawPacket)
if __name__ == '__main__': import os import hd ram_addr = 0x30000000 ram_size = 64 * 1024 * 1024 initrd_addr = 0x30800000 initrd_size = os.stat('initrd')[6] cmdline = "console=ttySAC0,115200 verbose rdinit=/sbin/bootchoice" tags = [ Tag_Core(flags=0, pagesize=0x1000, rootdev=0x00ff), Tag_Cmdline(cmdline), Tag_Mem(start=ram_addr, size=ram_size), ] if initrd_addr and initrd_size: tags += [ Tag_Initrd(start=initrd_addr, size=initrd_size), ] tags += [Tag_Videotext(video_lines=40, video_cols=48), Tag_None()] l = [] for t in tags: l.append(t.pack()) hd.hd(''.join(l))
ram_addr = 0x30000000 ram_size = 64 * 1024 * 1024 initrd_addr = 0x30800000 initrd_size = os.stat('initrd')[6] cmdline = "console=ttySAC0,115200 verbose rdinit=/sbin/bootchoice" tags = [ Tag_Core(flags = 0, pagesize = 0x1000, rootdev = 0x00ff), Tag_Cmdline(cmdline), Tag_Mem(start = ram_addr, size = ram_size), ] if initrd_addr and initrd_size: tags += [ Tag_Initrd(start = initrd_addr, size = initrd_size), ] tags += [ Tag_Videotext(video_lines = 40, video_cols = 48), Tag_None() ] l = [] for t in tags: l.append(t.pack()) hd.hd(''.join(l))