1
0
Fork 0
forked from len0rd/rockbox
foxbox/utils/imxtools/sbtools
Amaury Pouly 07e82c163e imxtools: rewrite sbloader to handle both versions + user friendly
The tool can now load sb1 and sb files to devices. Detection has
been improved and the tool can infer the packet size for the HID
description as well. The command line interface has been vastly
improved too, this breaks the old one.

Change-Id: I01a0ff8f8a007514aa81c56f114c0f0a86e3303c
2013-06-13 02:29:36 +02:00
..
keys sbtools: increase performance by compiling with O3, add zenv key 2013-02-16 20:49:07 +01: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 sbtoelf: implement sb1 loading and dumping 2012-11-27 22:16:56 +01:00
crypto.h sbtools: add brute force option for sb1 in sbtoelf 2013-02-16 20:49:07 +01:00
dbparser.c imxtools: move tools to a new sbtools/ subdirectory 2012-05-31 13:57:25 +02:00
dbparser.h imxtools: move tools to a new sbtools/ subdirectory 2012-05-31 13:57:25 +02:00
elf.c imxtools/sbtools: add elf function (sort by address) 2012-12-16 21:28:41 +01:00
elf.h imxtools/sbtools: add elf function (sort by address) 2012-12-16 21:28:41 +01:00
elftosb.c imxtools/elftosb: remove duplicate include 2012-12-16 01:51:49 +01:00
elftosb1.c sbtools: fix encryption and cosmetics 2013-06-13 02:27:30 +02:00
Makefile sbtools: increase performance by compiling with O3, add zenv key 2013-02-16 20:49:07 +01:00
misc.c sbtools: add brute force option for sb1 in sbtoelf 2013-02-16 20:49:07 +01:00
misc.h imxtools/sbtools: update misc with MIN 2012-12-16 21:28:41 +01:00
README imxtools: move tools to a new sbtools/ subdirectory 2012-05-31 13:57:25 +02:00
rsrc.c sbootls/rsrc: fix warnings 2012-12-13 00:23:07 +01:00
rsrc.h rsrctool: produce an actually usuable entry list of the rsrc file 2012-12-02 11:51:50 +01:00
rsrctool.c rsrctool: produce an actually usuable entry list of the rsrc file 2012-12-02 11:51:50 +01:00
sb.c sbtoelf: implement sb1 loading and dumping 2012-11-27 22:16:56 +01:00
sb.h imxtools: move tools to a new sbtools/ subdirectory 2012-05-31 13:57:25 +02:00
sb1.c sbtools: add brute force option for sb1 in sbtoelf 2013-02-16 20:49:07 +01:00
sb1.h sbtools: add brute force option for sb1 in sbtoelf 2013-02-16 20:49:07 +01:00
sbloader.c imxtools: rewrite sbloader to handle both versions + user friendly 2013-06-13 02:29:36 +02:00
sbtoelf.c sbtools: add brute force option for sb1 in sbtoelf 2013-02-16 20:49:07 +01:00
sha1.c imxtools: move tools to a new sbtools/ subdirectory 2012-05-31 13:57:25 +02:00
xorcrypt.c sbtools: add brute force option for sb1 in sbtoelf 2013-02-16 20:49:07 +01: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.