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 8381aa2d8a..b26807dd62 100644
--- a/bootloader/main-pp.c
+++ b/bootloader/main-pp.c
@@ -543,6 +543,25 @@ void* main(void)
543 i, pinfo->type, pinfo->size / 2048); 543 i, pinfo->type, pinfo->size / 2048);
544 } 544 }
545 545
546 /* Try loading Rockbox, if that fails, fall back to the OF */
547 if((btn & BOOTLOADER_BOOT_OF) == 0)
548 {
549 printf("Loading Rockbox...");
550 rc = load_mi4(loadbuffer, BOOTFILE, MAX_LOADSIZE);
551 if (rc < EOK)
552 {
553 bool old_verbose = verbose;
554 verbose = true;
555 printf("Can't load " BOOTFILE ": ");
556 printf(strerror(rc));
557 verbose = old_verbose;
558 btn |= BOOTLOADER_BOOT_OF;
559 sleep(5*HZ);
560 }
561 else
562 return (void*)loadbuffer;
563 }
564
546 if(btn & BOOTLOADER_BOOT_OF) 565 if(btn & BOOTLOADER_BOOT_OF)
547 { 566 {
548 /* Load original mi4 firmware in to a memory buffer called loadbuffer. 567 /* Load original mi4 firmware in to a memory buffer called loadbuffer.
@@ -602,42 +621,6 @@ void* main(void)
602 } 621 }
603 622
604 error(0, 0); 623 error(0, 0);
605
606 } else {
607#if 0 /* e200: enable to be able to dump the hidden partition */
608 if(btn & BUTTON_UP)
609 {
610 int fd;
611 pinfo = disk_partinfo(1);
612 fd = open("/part.bin", O_CREAT|O_RDWR);
613 char sector[512];
614 for(i=0; i<40960; i++){
615 if (!(i%100))
616 {
617 printf("dumping sector %d", i);
618 }
619 storage_read_sectors(IF_MV2(0,) pinfo->start + i, 1, sector);
620 write(fd,sector,512);
621 }
622 close(fd);
623 }
624#endif
625 printf("Loading Rockbox...");
626 rc=load_mi4(loadbuffer, BOOTFILE, MAX_LOADSIZE);
627 if (rc < EOK) {
628 printf("Can't load " BOOTFILE ": ");
629 printf(strerror(rc));
630
631#ifdef OLD_BOOTFILE
632 /* Try loading rockbox from old rockbox.e200/rockbox.h10 format */
633 rc=load_firmware(loadbuffer, OLD_BOOTFILE, MAX_LOADSIZE);
634 if (rc < EOK) {
635 printf("Can't load " OLD_BOOTFILE" : ");
636 error(EBOOTFILE, rc);
637 }
638#endif
639 }
640 } 624 }
641
642 return (void*)loadbuffer; 625 return (void*)loadbuffer;
643} 626}
diff --git a/firmware/export/config-e200.h b/firmware/export/config-e200.h
index e4d4b739bc..fd481d9e63 100644
--- a/firmware/export/config-e200.h
+++ b/firmware/export/config-e200.h
@@ -187,7 +187,6 @@
187#define MI4_FORMAT 187#define MI4_FORMAT
188#define BOOTFILE_EXT "mi4" 188#define BOOTFILE_EXT "mi4"
189#define BOOTFILE "rockbox." BOOTFILE_EXT 189#define BOOTFILE "rockbox." BOOTFILE_EXT
190#define OLD_BOOTFILE "rockbox.e200"
191#define BOOTDIR "/.rockbox" 190#define BOOTDIR "/.rockbox"
192 191
193#define ICODE_ATTR_TREMOR_NOT_MDCT 192#define ICODE_ATTR_TREMOR_NOT_MDCT
diff --git a/firmware/export/config-h10.h b/firmware/export/config-h10.h
index 756b4da0ea..011c1316de 100644
--- a/firmware/export/config-h10.h
+++ b/firmware/export/config-h10.h
@@ -177,7 +177,6 @@
177#define MI4_FORMAT 177#define MI4_FORMAT
178#define BOOTFILE_EXT "mi4" 178#define BOOTFILE_EXT "mi4"
179#define BOOTFILE "rockbox." BOOTFILE_EXT 179#define BOOTFILE "rockbox." BOOTFILE_EXT
180#define OLD_BOOTFILE "rockbox.h10"
181#define BOOTDIR "/.rockbox" 180#define BOOTDIR "/.rockbox"
182 181
183#define ICODE_ATTR_TREMOR_NOT_MDCT 182#define ICODE_ATTR_TREMOR_NOT_MDCT
diff --git a/firmware/export/config-h10_5gb.h b/firmware/export/config-h10_5gb.h
index 3a52823fd5..ef53e02ab4 100644
--- a/firmware/export/config-h10_5gb.h
+++ b/firmware/export/config-h10_5gb.h
@@ -157,7 +157,6 @@
157#define MI4_FORMAT 157#define MI4_FORMAT
158#define BOOTFILE_EXT "mi4" 158#define BOOTFILE_EXT "mi4"
159#define BOOTFILE "rockbox." BOOTFILE_EXT 159#define BOOTFILE "rockbox." BOOTFILE_EXT
160#define OLD_BOOTFILE "rockbox.h10"
161#define BOOTDIR "/.rockbox" 160#define BOOTDIR "/.rockbox"
162 161
163#define ICODE_ATTR_TREMOR_NOT_MDCT 162#define ICODE_ATTR_TREMOR_NOT_MDCT