release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Search | Go
Wiki > Main > RomBox (r32)

RomBox - running rockbox directly from ROM

Note: Due to the increasing size of Rockbox, BootBox has to be installed first, to be able to flash RomBox

About

If you don't have rockbox flashed, or you load another firmware from within rockbox via RoLo, it is obvious that the firmware is first loaded into RAM and executes from there.

However, this is also true if you have rockbox flashed. The flash bootloader developed by Jörg Hohensohn supports compressed firmware images in order to fit two complete firmwares into the ROM. The first (alternate) firmware is usually the original Archos firmware. It is accessible by holding F1 (Jukebox recorders), LEFT (Ondio) or "-" (player) while booting the box, intended to serve as an emergency backup in case the second (main) firmware doesn't start properly. Since the firmware images are usually compressed, they have to be uncompressed into RAM before they can be started. But the bootloader does also support uncompressed firmware images running directly from flash ROM - RomBox.

Benefits

  • About 140..190 KB more RAM available as mpeg buffer depending on model, which is roughly a 10 % increase of the buffer size (for ordinary 2 MB boxes) and will yield ~4 % more runtime for the disk based Jukebox models according to first tests
  • Slighly faster start, since no decompression is necessary

Drawbacks

  • In order to flash a new .ucl (regardless whether RomBox or ordinary rockbox) you first have to RoLo or F1 boot into ordinary RAM-based rockbox, since it is impossible to alter the memory rockbox is running from. Sufficiently recent versions of rockbox_flash.rock will notice this situation and refuse to run instead of simply crashing
  • The same goes for firmware_flash.rock in case you want to flash another complete firmware image (which wouldn't be necessary unless you either want to upgrade the bootloader, or get rid of flashed rockbox completely by re-flashing the original ROM content)

Build your own

Since September 6 2004, Rockbox builds rombox by default. However, recently Rockbox has simply grown too big for Rombox. If you want to build a current version of Rombox (which will exclude the DataBase feature), here's what you need to do:

  • Open up the corresponding config file for you target. They can be found in /firmware/export/. They are named as "config-nameofdevicehere.h"

  • Locate where it says "#define HAVE_TAGCACHE". Comment this line out by changing that line to "/*#define HAVE_TAGCACHE*/"

  • Now, configure and build as usual. When the build procedure is done, a 'rombox.ucl' file has been produced. If you use 'make zip' that rombox.ucl file is placed inside the .rockbox dir

Check it out

RomBox is now an official part of rockbox. If you want to check out RomBox and do not want to use an older version of Rockbox, follow the instuctions above, make sure that BootBox is installed, and then select rombox.ucl for flashing rather than rockbox.ucl. The only difference is that it is required to RoLo or F1 boot into the supplied ajbrec.ajz first if you are running from ROM, for the reason described under Drawbacks. This is also true if you later want to flash an ordinary .ucl and are currently running RomBox.
Edit | Attach | Print version | History: r35 | r33 < r32 < r31 < r30 | Backlinks | View wiki text | More topic actions...
r32 - 25 Nov 2006 - 11:50:01 - DanielStenberg
Copyright © by the contributing authors.