RomBox - running rockbox directly from ROM on Archos machines
Note: Due to the increasing size of Rockbox, BootBox has to be installed first, to be able to flash RomBox
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
- 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
- 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
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
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
Copyright © by the contributing authors.