rockbox/rbutil/mkamsboot
Rafaël Carré 96165abec2 FS#10253 : mkamsboot v1.0
- Bump version to 1.0
- Add Clipv2 target
- Make mkamsboot work as a library (work by domonoky : FS#10185, with a few modifications by me)
  . Use a macro with variadic arguments for error cases in functions which might error.
  . Add detailed descriptions to functions exported by the library (in the header file)
- modify bin2c.c to produce only one pair of .c/.h files with several files embedded in it
- move files needing to be built by an ARM cross compiler into dualboot/
- commit produced .c/.h files (containing nrv2e_d8.S and dualboot.S built for Clip, Fuze, e200v2, c200v2, m200v4, Clipv2)
- Write a real README file
- cosmetics: indent dualboot.S properly, remove trailing spaces, limit lines to 80 characters
- comments: add/correct comments in dualboot.S and mkamsboot.c
- move back extract_fw.c to utils/AMS/hacking

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21118 a1c6a512-1295-4272-9138-f99709370657
2009-05-28 18:27:08 +00:00
..
dualboot FS#10253 : mkamsboot v1.0 2009-05-28 18:27:08 +00:00
dualboot.c FS#10253 : mkamsboot v1.0 2009-05-28 18:27:08 +00:00
dualboot.h FS#10253 : mkamsboot v1.0 2009-05-28 18:27:08 +00:00
Makefile FS#10253 : mkamsboot v1.0 2009-05-28 18:27:08 +00:00
md5.c FS#10253 : mkamsboot v1.0 2009-05-28 18:27:08 +00:00
md5.h Add MD5 checksumming of the original firmware images - for extra safety, and also because some Fuze firmwares have the same ID (or what we thought was the ID) as the M200 firmwares. Plus a few minor cleanups. 2008-10-30 00:13:29 +00:00
mkamsboot.c FS#10253 : mkamsboot v1.0 2009-05-28 18:27:08 +00:00
mkamsboot.h FS#10253 : mkamsboot v1.0 2009-05-28 18:27:08 +00:00
README FS#10253 : mkamsboot v1.0 2009-05-28 18:27:08 +00:00

mkamsboot
---------

A tool to inject a bootloader into a Sansa V2 (AMS) firmware file.


Usage
-----

mkamsboot <firmware file> <boot file> <output file>

<firmware file> is an original Sansa firmware file obtained from the Sansa
    forums for example : http://forums.sandisk.com/sansa/?category.id=devices

<boot file> is the code you want to execute (a rockbox bootloader), previously
    scrambled with tools/scramble utility.

<output file> is the resulting firmware file which you'll have to copy on your
    Sansa player. See "Firmware filenames".


Supported models
----------------

Sansa Clip  :   firmware version starting with "01."
Sansa Clipv2:   firmware version starting with "02."
Sansa Fuze  :   firmware version starting with "01."
Sansa E200v2:   firmware version starting with "03."
Sansa C200v2:   firmware version starting with "03."
Sansa M200v4:   firmware version starting with "4."


Firmware filenames
------------------

For the firmware upgrade to happen, the firmware has to be named specially:

clip v2 :   m30pa.bin
clip    :   m300a.bin
fuze    :   fuzea.bin
e200v2  :   e200pa.bin
c200v2  :   c200pa.bin
m200v4  :   m200a.bin


Dual-Boot
---------

  The purpose of this program is to provide dual-boot between the original
firmware and the new (rockbox) firmware.

  By default the player will boot into the new firmware.

  To boot into the Original Firmware, you need to press the Left key.
  ***Note : on the c200v2 you need to press the Right key.

  The player will boot into the Original Firmware as well if it is powered up by
inserting an usb cable.
  ***Note : on the m200v4 powering up by usb will cause booting into the new
firmware

Hacking
-------

See comments in mkamsboot.c and dualboot/dualboot.S for more information.