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
Please note that the Ondios and Players still come with a rombox.ucl file. This process is only
required for the Recorders.
Rockbox no longer builds Rombox for the Recorders by default. This was due to errors in building. If you want to build a current version of Rombox (which will exclude the DataBase
feature), here's what you need to do:
- Have a working Rockbox development environment; see the DevelopmentGuide page for more details.
- Open up the corresponding config file for your target. They can be found in /firmware/export/ in the trunk, and are named as "config-nameofdevicehere.h"
- Locate the line where it says "#define HAVE_TAGCACHE". Comment this line out by changing that line to "/*#define HAVE_TAGCACHE*/"; save it.
- Open up /tools/configure and locate line 784; it will read " #archosrom="$pwd/rombox.ucl" ". Uncomment this line and save.
- Now, configure and build as usual. When the build procedure is done, a 'rombox.ucl' file should be produced. If you use 'make zip', then that rombox.ucl file is placed inside the .rockbox folder with in the zip.
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 instructions 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.