1
0
Fork 0
forked from len0rd/rockbox
foxbox/firmware
William Wilgus e9de9c1452 Add boot from other volumes in bootloader on targets with HAVE_MULTIVOLUME
Adds the ability to load firmware from other drives on MULTIVOLUME targets
Mihail Zenkov <mihail.zenkov@gmail.com> had posted a hard coded patch
to allow this on several Sansa players, I made it more universal

Redirect file rockbox_main.<name> should placed in root of
drive you would like to be main, if this file empty or there a single
slash '/' firmware will be loaded from /.rockbox in root of this drive
If instead a /<*DIRECTORY*> is supplied in rockbox_main.<name> then
firmware will be loaded from /<dir>/.rockbox/

NOTES*

The directory can have multiple levels however..
leading slash MUST be included
trailing slash can be omitted
(eg. /test/.rockbox would be simply '/test' in the redirect file)

Redirect file will not work on internal drive (whatever is default boot drive)

Volume with the highest index containing redirect file will be loaded
first.

Firmware file is checked for boot data region, if missing, firmware
image will not be loaded.

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

Currently only Sansa Fuze+, Sansa Clip+,
Sansa Clip Zip, Sansa Fuzev2, and Sansa Fuzev1 are implemented.

Players (with HAVE_MULTIVOLUME)
will need #define HAVE_BOOTDATA and #define BOOT_REDIR "rockbox_main.<name>"
added to their config file

boot_data is implemented in crt0.s file (See g#1552)
ARM and IMX233 have aleady been implemented

Once these conditions are met <HAVE_MULTIBOOT> will be defined by config.h

Partitions on the drives are able to have a redirect as
well.

Change-Id: Iada3263919f6bcad7d0d7d8279b4239aafa07ee9
2017-10-29 17:53:04 +01:00
..
asm fix warning in lcd-as-memframe.c 2017-09-17 15:13:52 +02:00
common Add boot from other volumes in bootloader on targets with HAVE_MULTIVOLUME 2017-10-29 17:53:04 +01:00
decompressor
drivers Unify storage threads into one 2017-10-26 14:35:41 -04:00
export Add boot from other volumes in bootloader on targets with HAVE_MULTIVOLUME 2017-10-29 17:53:04 +01:00
include Add boot from other volumes in bootloader on targets with HAVE_MULTIVOLUME 2017-10-29 17:53:04 +01:00
kernel Fix dangerous casts 2017-02-04 17:24:47 +01:00
libc Improve code for gmtime_r() 2017-02-03 14:40:55 -05:00
target Add boot data to MOST AS3525 Devices 2017-10-29 17:52:40 +01:00
test Limit more variables to file scope 2015-01-11 21:40:51 +01:00
usbstack Do some housekeeping with fat.h and SECTOR_SIZE 2017-03-12 22:05:44 -04:00
arabjoin.c
arabjoin.h
ata_idle_notify.c Fix reds. 2014-03-14 23:43:45 +01:00
backlight-sw-fading.c Get rid of stupid _backlight_* function names 2015-01-12 11:09:27 +01:00
backlight.c Selective Backlight/Advanced Softlock - Selective actions based on context 2017-01-17 23:06:17 +01:00
bidi.c bidi.c: Check buffer sizes. 2014-01-09 23:30:32 +01:00
buflib.c buflib: Switch from term "cookie" to "metadata" 2015-01-02 19:26:03 +01:00
COPYING
core_alloc.c Make a few local variables static 2015-01-11 18:02:43 +01:00
debug.c
eeprom_settings.c
enc_base.c
events.c Make thirty functions static to reduce binary size 2015-01-05 18:44:36 +01:00
firmware.make Fix makefile not rebuilding rbversion.h in some cases 2016-09-23 23:03:23 +02:00
font.c Initial commit for the Sony NWZ linux port 2017-09-05 21:42:12 +02:00
font_cache.c fonts: Do not unload completely on USB. 2014-01-15 23:37:39 +01:00
general.c kernel: Break out kernel primitives into separate files and move to separate dir. 2014-03-03 18:11:57 +01:00
hangul.c
ifp_usb_serial.c Make thirty functions static to reduce binary size 2015-01-05 18:44:36 +01:00
load_code.c Fix various reds. Some includes needed fixup. 2014-03-03 19:10:48 +01:00
logf.c Don't add new message to logf when we dump it to file 2016-04-04 11:07:44 +02:00
lru.c
panic.c Initial commit for the Sony NWZ linux port 2017-09-05 21:42:12 +02:00
pcm.c Greatly reduce volume-change zipper artifacts with SW volume. 2014-03-08 08:04:41 +01:00
pcm_mixer.c Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
pcm_sampr.c
pcm_sw_volume.c Greatly reduce volume-change zipper artifacts with SW volume. 2014-03-08 08:04:41 +01:00
powermgmt.c iBasso DX50/DX90: Major code cleanup and reorganization. 2015-02-02 21:57:55 +01:00
profile.c
README
rolo.c Fix AMSv2 variant 1 detection if rockbox loaded from SD card 2016-04-22 20:43:45 +00:00
rom.lds rombox: Do not copy .init section to ram on startup. 2014-01-20 10:42:02 +01:00
screendump.c Fix warnings in firmware/screendump.c 2015-02-24 16:55:26 -05:00
scroll_engine.c scroll_engine: Fix FS#12894: Text scrolling stops working after a few seconds/minutes 2014-01-12 21:29:55 +01:00
sdmmc.c
sound.c Add DAC's oversampling filter roll-off selection to sound settings. 2013-05-24 11:18:16 +04:00
SOURCES Add simulator support for the A860 2017-09-17 00:03:45 +02:00
storage.c Unify storage threads into one 2017-10-26 14:35:41 -04:00
system.c AMS: Return ascodec to interrupt-based I2C2 driver 2017-01-25 00:05:13 +01:00
timer.c
tuner.c Improve radio RDS driver and framework 2017-02-11 22:19:32 -05:00
usb.c Fix a few missed things in 16454efc (and hopefully clear the red). 2017-10-26 16:32:53 -04:00

See docs/README