1
0
Fork 0
forked from len0rd/rockbox
foxbox/utils/imxtools
Dominik Riebeling d23d164b85 imxtools: use rand() instead of /dev/random.
On Windows /dev/random does not exist, so trying to open it will fail. Replace
it with rand() which is available on all supported platforms and sufficient.

Fixes mkimxboot not working, as well as Rockbox Utility "crashing" (which is in
fact its error handler calling exit(), thus terminating Rockbox Utility) on
Windows.

Change-Id: Ia164f937f329877e8f80f473f27be8c5df2a0a68
2012-02-08 21:28:20 +01:00
..
aes128.c sbtools: rename to imxtools, move imx_hid_recovery to imxtools/sbloader, fix tools to correctly handle/free memory, properly return error codes 2011-11-06 01:49:13 +00:00
crc.c sbtools: rename to imxtools, move imx_hid_recovery to imxtools/sbloader, fix tools to correctly handle/free memory, properly return error codes 2011-11-06 01:49:13 +00:00
crypto.c sbtools: rename to imxtools, move imx_hid_recovery to imxtools/sbloader, fix tools to correctly handle/free memory, properly return error codes 2011-11-06 01:49:13 +00:00
crypto.h sbtools: rename to imxtools, move imx_hid_recovery to imxtools/sbloader, fix tools to correctly handle/free memory, properly return error codes 2011-11-06 01:49:13 +00:00
dbparser.c sbtools: rename to imxtools, move imx_hid_recovery to imxtools/sbloader, fix tools to correctly handle/free memory, properly return error codes 2011-11-06 01:49:13 +00:00
dbparser.h sbtools: rename to imxtools, move imx_hid_recovery to imxtools/sbloader, fix tools to correctly handle/free memory, properly return error codes 2011-11-06 01:49:13 +00:00
elf.c sbtools: rename to imxtools, move imx_hid_recovery to imxtools/sbloader, fix tools to correctly handle/free memory, properly return error codes 2011-11-06 01:49:13 +00:00
elf.h sbtools: rename to imxtools, move imx_hid_recovery to imxtools/sbloader, fix tools to correctly handle/free memory, properly return error codes 2011-11-06 01:49:13 +00:00
elftosb.c elftosb: add static 2011-11-06 13:30:13 +00:00
fuze+_key_file.txt sbtools: rename to imxtools, move imx_hid_recovery to imxtools/sbloader, fix tools to correctly handle/free memory, properly return error codes 2011-11-06 01:49:13 +00:00
Makefile sbtools: rename to imxtools, move imx_hid_recovery to imxtools/sbloader, fix tools to correctly handle/free memory, properly return error codes 2011-11-06 01:49:13 +00:00
misc.c imxtools: use rand() instead of /dev/random. 2012-02-08 21:28:20 +01:00
misc.h imxtools: add const and set pointer to NULL on free to avoid double free 2011-11-06 19:41:25 +00:00
README sbtools: rename to imxtools, move imx_hid_recovery to imxtools/sbloader, fix tools to correctly handle/free memory, properly return error codes 2011-11-06 01:49:13 +00:00
sb.c imxtools: fix compilation when cross compiling for windows (tm doesn't have timezone fields) 2011-12-17 10:22:36 +00:00
sb.h imxtools: add function to free instruction 2011-11-06 19:41:29 +00:00
sbloader.c sbloader: always send packets of size xfer_size (even the first). Also maintain a table of known transfer sizes. In particular stmp3770 uses 48 instead of 1024. 2012-01-27 20:08:33 +01:00
sbtoelf.c sbtools: rename to imxtools, move imx_hid_recovery to imxtools/sbloader, fix tools to correctly handle/free memory, properly return error codes 2011-11-06 01:49:13 +00:00
sha1.c sbtools: rename to imxtools, move imx_hid_recovery to imxtools/sbloader, fix tools to correctly handle/free memory, properly return error codes 2011-11-06 01:49:13 +00: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.