1
0
Fork 0
forked from len0rd/rockbox

multiboot: Allow searching in volume 0 for redirect file

Searching in volume 0 is necessary for multiboot targets with only
one drive, like the M3K/Q1/ErosQ. Without this the search code will
never look at the redirect file on these targets.

The search bound is configured with a setting MULTIBOOT_MIN_VOLUME,
which defaults to 0, but is defined to 1 for Sansa players so they
keep their old behavior.

Change-Id: I6dc5cf98db4258731de2c68c3ab1182b4a4a655b
This commit is contained in:
Aidan MacDonald 2022-03-07 11:36:00 +00:00
parent df3afcfa3b
commit bcbb5a8b00
8 changed files with 13 additions and 1 deletions

View file

@ -106,7 +106,7 @@ int load_firmware(unsigned char* buf, const char* firmware, int buffer_size)
* 0 is the default boot volume, it is not checked here
* if found <volume>/rockbox_main.<playername> and firmware
* has a bootdata region this firmware will be loaded */
for (unsigned int i = NUM_VOLUMES - 1; i > 0 && ret < 0; i--)
for (int i = NUM_VOLUMES - 1; i >= MULTIBOOT_MIN_VOLUME && ret < 0; i--)
{
if (get_redirect_dir(filename, sizeof(filename), i,
BOOTDIR, firmware) > 0)