1
0
Fork 0
forked from len0rd/rockbox
foxbox/utils/imxtools/sbtools
Amaury Pouly 260399ee8c sbtools: more work on sbtoelf and elftosb, support more attributes
Now handle timestamp, sb minor version, component/product versions,
section flags.

Change-Id: I35313efe60c28f04ea3732b36e5e01be3213cf9e
2013-08-22 14:39:46 +02:00
..
keys sbtools: add Sansa Express bootloader key 2013-06-17 13:38:31 +02:00
aes128.c imxtools: move tools to a new sbtools/ subdirectory 2012-05-31 13:57:25 +02:00
crc.c imxtools: move tools to a new sbtools/ subdirectory 2012-05-31 13:57:25 +02:00
crypto.c sbtools,mkximboot: fix whitespace 2013-06-15 22:27:34 +02:00
crypto.h sbtools: add brute force option for sb1 in sbtoelf 2013-02-16 20:49:07 +01:00
dbparser.c sbtools: more work on sbtoelf and elftosb, support more attributes 2013-08-22 14:39:46 +02:00
dbparser.h sbtools: more work on sbtoelf and elftosb, support more attributes 2013-08-22 14:39:46 +02:00
elf.c sbtools: more code refactoring 2013-08-21 22:20:53 +02:00
elf.h sbtools: more code refactoring 2013-08-21 22:20:53 +02:00
elftosb.c sbtools: more work on sbtoelf and elftosb, support more attributes 2013-08-22 14:39:46 +02:00
elftosb1.c sbtools: more code refactoring 2013-08-21 22:20:53 +02:00
Makefile sbtools: now generate a db file along with with elf/rsrc files 2013-08-22 00:58:19 +02:00
misc.c sbtools: more code refactoring 2013-08-21 22:20:53 +02:00
misc.h sbtools: more code refactoring 2013-08-21 22:20:53 +02:00
README imxtools: move tools to a new sbtools/ subdirectory 2012-05-31 13:57:25 +02:00
rsrc.c sbtools,mkximboot: fix whitespace 2013-06-15 22:27:34 +02:00
rsrc.h sbtools,mkximboot: fix whitespace 2013-06-15 22:27:34 +02:00
rsrctool.c sbtools: refactor and cleanup 2013-07-18 00:27:12 +02:00
sb.c sbtools: more work on sbtoelf and elftosb, support more attributes 2013-08-22 14:39:46 +02:00
sb.h sbtools: more work on sbtoelf and elftosb, support more attributes 2013-08-22 14:39:46 +02:00
sb1.c sbtools: fix buffer overflow 2013-08-22 00:49:34 +02:00
sb1.h sbtools: more code refactoring 2013-08-21 22:20:53 +02:00
sbloader.c sbtools: refactor and cleanup 2013-07-18 00:27:12 +02:00
sbtoelf.c sbtools: more work on sbtoelf and elftosb, support more attributes 2013-08-22 14:39:46 +02:00
sha1.c sbtools,mkximboot: fix whitespace 2013-06-15 22:27:34 +02:00
xorcrypt.c sbtools: refactor and cleanup 2013-07-18 00:27:12 +02:00

This file document the format of the command file used by the elftosb tool.
By no way our tools tries to be compatible with Freescale's elftosb2.
However, our format is more subset of the general one.

The parse supports a limited form of comments: comments starting with // and ending at the end of the line.

A file first contains the list of sources:

sources
{
    hw_init = "sdram_init.elf";
    rockbox = "rockbox.elf";
}

It can then contain an arbitrary number of section. A section is identified by a number.
Within a section, three commands are supported: "load", "jump" and "call":

section(0x626f6f74) // hex for 'boot'
{
    load hw_init;
    call hw_init;
    load rockbox;
    jump rockbox;
}

Finally, both elftosb and sbtoelf tools use key files. A key file is a list of keys.
Each key consist is 128-bit long and is written in hexadecimal:

00000000000000000000000000000000

The parser does not handle blank line and only allows a final newline at the end of the file.
A file is allowed to contain zero (0) keys.