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



Rockbox mail archive

Subject: Re: Multiboot Bootloaders

Re: Multiboot Bootloaders

From: Wilgus William via rockbox-dev <rockbox-dev_at_cool.haxx.se>
Date: Sat, 7 Oct 2017 17:27:46 -0400

We have had the commits for Bootdata and Multiboot functionality for a
number devices up on gerrit for ~6 months now

By putting the multiboot bootloader in the mainline this will allow users
with failing flash a way to still use their device or even to always run
from their sd card

It also opens the possibility of having firmware for several different
devices on a single sd card.

If there aren't any objections I'd like to get these committed and
bootloaders made for the players we have added and tested so far.

Currently only Sansa Fuze+, Sansa Clip+, Sansa Clip Zip, and Sansa Fuzev2

Other players can be added later with a few additions to their config files

http://gerrit.rockbox.org/r/#/c/1558/
http://gerrit.rockbox.org/r/#/c/1557/
http://gerrit.rockbox.org/r/#/c/1552/

*Bootdata*
The bootdata patch adds a special region region to the firmware files
it gets marked with a magic header RBMAGIC!

The bootloader looks for this magic header when loading the firmware and
writes the volume number the firmware was loaded from

Requires: editing CRT.0 adding firmware/export/bootdata.h and defining
HAVE_BOOTDATA in device config
this is already done for arm and imx233 and the following players have it
added

Players affected:
Sansa Clipv2 Clip+ ClipZip fuze, fuzev2, fuze+, creativezen,
creativezenxfi2, creativezenxfi3,
samsungypz5, sansafuzeplus,
sonynwze360, sonynwze370

*Multiboot*
Multiboot allows you to create a file named 'rockbox_main.<playername>
within it you can define a path to load the rockbox firmware from.

On failure or if no redirect file is found load will fallback to internal
drive.

Players need to have 'HAVE_BOOTDATA' 'BOOT_REDIR' 'HAVE_MULTIVOLUME' in
order to enable HAVE_MULTIBOOT

example for clip+ -> #define BOOT_REDIR "rockbox_main.clip+"

For the players that already have multiboot enabled..

*Sansa Fuze+:*
rockbox_main.fuze+

*Sansa Clip+*
rockbox_main.clip+
* Sansa Clip Zip:*
rockbox_main.clipzip

*Sansa Fuzev2:*
rockbox_main.fuze2

Do note while the bootloader may be finished..
There is still work to do on the actual firmware to be loaded by the
multiboot loader.
There is a commit up on Gerrit with a preliminary version that works but
won't be
finished until a file system rewrite to allow any directory to be mounted
as root
which, is the whole reason for the bootdata region passed back from the
bootloader..

I thank you all for your time,

William
Received on 2017-10-07


Page was last modified "Jan 10 2012" The Rockbox Crew
aaa