summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bootloader/main-pp.c55
-rw-r--r--firmware/export/config-e200.h1
-rw-r--r--firmware/export/config-h10.h1
-rw-r--r--firmware/export/config-h10_5gb.h1
4 files changed, 19 insertions, 39 deletions
diff --git a/bootloader/main-pp.c b/bootloader/main-pp.c
index 8381aa2..b26807d 100644
--- a/bootloader/main-pp.c
+++ b/bootloader/main-pp.c
@@ -543,6 +543,25 @@ void* main(void)
i, pinfo->type, pinfo->size / 2048);
}
+ /* Try loading Rockbox, if that fails, fall back to the OF */
+ if((btn & BOOTLOADER_BOOT_OF) == 0)
+ {
+ printf("Loading Rockbox...");
+ rc = load_mi4(loadbuffer, BOOTFILE, MAX_LOADSIZE);
+ if (rc < EOK)
+ {
+ bool old_verbose = verbose;
+ verbose = true;
+ printf("Can't load " BOOTFILE ": ");
+ printf(strerror(rc));
+ verbose = old_verbose;
+ btn |= BOOTLOADER_BOOT_OF;
+ sleep(5*HZ);
+ }
+ else
+ return (void*)loadbuffer;
+ }
+
if(btn & BOOTLOADER_BOOT_OF)
{
/* Load original mi4 firmware in to a memory buffer called loadbuffer.
@@ -602,42 +621,6 @@ void* main(void)
}
error(0, 0);
-
- } else {
-#if 0 /* e200: enable to be able to dump the hidden partition */
- if(btn & BUTTON_UP)
- {
- int fd;
- pinfo = disk_partinfo(1);
- fd = open("/part.bin", O_CREAT|O_RDWR);
- char sector[512];
- for(i=0; i<40960; i++){
- if (!(i%100))
- {
- printf("dumping sector %d", i);
- }
- storage_read_sectors(IF_MV2(0,) pinfo->start + i, 1, sector);
- write(fd,sector,512);
- }
- close(fd);
- }
-#endif
- printf("Loading Rockbox...");
- rc=load_mi4(loadbuffer, BOOTFILE, MAX_LOADSIZE);
- if (rc < EOK) {
- printf("Can't load " BOOTFILE ": ");
- printf(strerror(rc));
-
-#ifdef OLD_BOOTFILE
- /* Try loading rockbox from old rockbox.e200/rockbox.h10 format */
- rc=load_firmware(loadbuffer, OLD_BOOTFILE, MAX_LOADSIZE);
- if (rc < EOK) {
- printf("Can't load " OLD_BOOTFILE" : ");
- error(EBOOTFILE, rc);
- }
-#endif
- }
}
-
return (void*)loadbuffer;
}
diff --git a/firmware/export/config-e200.h b/firmware/export/config-e200.h
index e4d4b73..fd481d9 100644
--- a/firmware/export/config-e200.h
+++ b/firmware/export/config-e200.h
@@ -187,7 +187,6 @@
#define MI4_FORMAT
#define BOOTFILE_EXT "mi4"
#define BOOTFILE "rockbox." BOOTFILE_EXT
-#define OLD_BOOTFILE "rockbox.e200"
#define BOOTDIR "/.rockbox"
#define ICODE_ATTR_TREMOR_NOT_MDCT
diff --git a/firmware/export/config-h10.h b/firmware/export/config-h10.h
index 756b4da..011c131 100644
--- a/firmware/export/config-h10.h
+++ b/firmware/export/config-h10.h
@@ -177,7 +177,6 @@
#define MI4_FORMAT
#define BOOTFILE_EXT "mi4"
#define BOOTFILE "rockbox." BOOTFILE_EXT
-#define OLD_BOOTFILE "rockbox.h10"
#define BOOTDIR "/.rockbox"
#define ICODE_ATTR_TREMOR_NOT_MDCT
diff --git a/firmware/export/config-h10_5gb.h b/firmware/export/config-h10_5gb.h
index 3a52823..ef53e02 100644
--- a/firmware/export/config-h10_5gb.h
+++ b/firmware/export/config-h10_5gb.h
@@ -157,7 +157,6 @@
#define MI4_FORMAT
#define BOOTFILE_EXT "mi4"
#define BOOTFILE "rockbox." BOOTFILE_EXT
-#define OLD_BOOTFILE "rockbox.h10"
#define BOOTDIR "/.rockbox"
#define ICODE_ATTR_TREMOR_NOT_MDCT