summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt')
-rw-r--r--rbutil/rbutilqt/installbootloader.cpp81
1 files changed, 46 insertions, 35 deletions
diff --git a/rbutil/rbutilqt/installbootloader.cpp b/rbutil/rbutilqt/installbootloader.cpp
index 05b7be4e49..3f28323c8c 100644
--- a/rbutil/rbutilqt/installbootloader.cpp
+++ b/rbutil/rbutilqt/installbootloader.cpp
@@ -19,6 +19,7 @@
19 19
20#include "installbootloader.h" 20#include "installbootloader.h"
21#include "irivertools/checksums.h" 21#include "irivertools/checksums.h"
22#include "utils.h"
22 23
23BootloaderInstaller::BootloaderInstaller(QObject* parent): QObject(parent) 24BootloaderInstaller::BootloaderInstaller(QObject* parent): QObject(parent)
24{ 25{
@@ -329,8 +330,9 @@ void BootloaderInstaller::gigabeatPrepare()
329 } 330 }
330 else //UnInstallation 331 else //UnInstallation
331 { 332 {
332 QString firmware = m_mountpoint + "/GBSYSTEM/FWIMG/FWIMG01.DAT"; 333 QString firmware;
333 QString firmwareOrig = firmware.append(".ORIG"); 334 firmware = resolvePathCase(m_mountpoint + "/GBSYSTEM/FWIMG/FWIMG01.DAT");
335 QString firmwareOrig = resolvePathCase(firmware.append(".ORIG"));
334 336
335 QFileInfo firmwareOrigFI(firmwareOrig); 337 QFileInfo firmwareOrigFI(firmwareOrig);
336 338
@@ -355,8 +357,8 @@ void BootloaderInstaller::gigabeatPrepare()
355 return; 357 return;
356 } 358 }
357 359
358 //copy original firmware 360 // rename original firmware back
359 if(!firmwareOrigFile.copy(firmware)) 361 if(!firmwareOrigFile.rename(firmware))
360 { 362 {
361 m_dp->addItem(tr("Could not copy the Firmware from: %1 to %2") 363 m_dp->addItem(tr("Could not copy the Firmware from: %1 to %2")
362 .arg(firmwareOrig,firmware),LOGERROR); 364 .arg(firmwareOrig,firmware),LOGERROR);
@@ -377,7 +379,8 @@ void BootloaderInstaller::gigabeatFinish()
377 379
378 m_dp->addItem(tr("Finishing bootloader install"),LOGINFO); 380 m_dp->addItem(tr("Finishing bootloader install"),LOGINFO);
379 381
380 QString firmware = m_mountpoint + "/GBSYSTEM/FWIMG/" + m_bootloadername; 382 QString firmware;
383 firmware = resolvePathCase(m_mountpoint + "/GBSYSTEM/FWIMG/" + m_bootloadername);
381 384
382 QFileInfo firmwareFI(firmware); 385 QFileInfo firmwareFI(firmware);
383 386
@@ -401,7 +404,7 @@ void BootloaderInstaller::gigabeatFinish()
401 //backup 404 //backup
402 QDir::home().mkdir("Gigabeat Original Firmware Backup"); 405 QDir::home().mkdir("Gigabeat Original Firmware Backup");
403 firmwareFile.copy(QDir::toNativeSeparators(QDir::homePath()) + QDir::toNativeSeparators("/Gigabeat Original Firmware Backup/") + m_bootloadername); 406 firmwareFile.copy(QDir::toNativeSeparators(QDir::homePath()) + QDir::toNativeSeparators("/Gigabeat Original Firmware Backup/") + m_bootloadername);
404 407 firmwareFile.unsetError();
405 //rename 408 //rename
406 if(!firmwareFile.rename(firmwareOrig)) 409 if(!firmwareFile.rename(firmwareOrig))
407 { 410 {
@@ -472,7 +475,8 @@ void BootloaderInstaller::iaudioPrepare()
472 475
473void BootloaderInstaller::iaudioFinish() 476void BootloaderInstaller::iaudioFinish()
474{ 477{
475 QString firmware = m_mountpoint + "/FIRMWARE/" + m_bootloadername; 478 QString firmware;
479 firmware = resolvePathCase(m_mountpoint + "/FIRMWARE/") + "/" + m_bootloadername;
476 480
477 //copy the firmware 481 //copy the firmware
478 if(!downloadFile.copy(firmware)) 482 if(!downloadFile.copy(firmware))
@@ -531,13 +535,15 @@ void BootloaderInstaller::h10Prepare()
531 535
532 QString firmwarename = m_bootloadername.section('/', -1); 536 QString firmwarename = m_bootloadername.section('/', -1);
533 537
534 QString firmware = m_mountpoint + "/SYSTEM/" + firmwarename; 538 QString firmware;
535 QString firmwareOrig = m_mountpoint + "/SYSTEM/OF.mi4"; 539 firmware = resolvePathCase(m_mountpoint + "/SYSTEM/" + firmwarename);
540 QString firmwareOrig = resolvePathCase(m_mountpoint + "/SYSTEM/OF.mi4");
536 541
537 QFileInfo firmwareFI(firmware); 542 QFileInfo firmwareFI(firmware);
538 if(!firmwareFI.exists()) //Firmware dosent exists on player 543 if(!firmwareFI.exists()) //Firmware dosent exists on player
539 { 544 {
540 firmware = m_mountpoint + "/SYSTEM/H10EMP.mi4"; //attempt other firmwarename 545 firmware = resolvePathCase(m_mountpoint + "/SYSTEM/H10EMP.mi4");
546 //attempt other firmwarename
541 firmwareFI.setFile(firmware); 547 firmwareFI.setFile(firmware);
542 if(!firmwareFI.exists()) //Firmware dosent exists on player 548 if(!firmwareFI.exists()) //Firmware dosent exists on player
543 { 549 {
@@ -569,8 +575,8 @@ void BootloaderInstaller::h10Prepare()
569 return; 575 return;
570 } 576 }
571 577
572 //copy original firmware 578 // rename original firmware back
573 if(!firmwareOrigFile.copy(firmware)) 579 if(!firmwareOrigFile.rename(firmware))
574 { 580 {
575 m_dp->addItem(tr("Could not copy the Firmware from: %1 to %2") 581 m_dp->addItem(tr("Could not copy the Firmware from: %1 to %2")
576 .arg(firmwareOrig,firmware),LOGERROR); 582 .arg(firmwareOrig,firmware),LOGERROR);
@@ -589,14 +595,16 @@ void BootloaderInstaller::h10Finish()
589{ 595{
590 QString firmwarename = m_bootloadername.section('/', -1); 596 QString firmwarename = m_bootloadername.section('/', -1);
591 597
592 QString firmware = m_mountpoint + "/SYSTEM/" + firmwarename; 598 QString firmware;
593 QString firmwareOrig = m_mountpoint + "/SYSTEM/OF.mi4"; 599 firmware = resolvePathCase(m_mountpoint + "/SYSTEM/" + firmwarename);
600 QString firmwareOrig = resolvePathCase(m_mountpoint + "/SYSTEM") + "/OF.mi4";
594 601
595 QFileInfo firmwareFI(firmware); 602 QFileInfo firmwareFI(firmware);
596 603
597 if(!firmwareFI.exists()) //Firmware dosent exists on player 604 if(!firmwareFI.exists()) //Firmware dosent exists on player
598 { 605 {
599 firmware = m_mountpoint + "/SYSTEM/H10EMP.mi4"; //attempt other firmwarename 606 firmware = resolvePathCase(m_mountpoint + "/SYSTEM") +"/H10EMP.mi4";
607 //attempt other firmwarename
600 firmwareFI.setFile(firmware); 608 firmwareFI.setFile(firmware);
601 if(!firmwareFI.exists()) //Firmware dosent exists on player 609 if(!firmwareFI.exists()) //Firmware dosent exists on player
602 { 610 {
@@ -616,6 +624,7 @@ void BootloaderInstaller::h10Finish()
616 //backup 624 //backup
617 QDir::home().mkdir("Iriver H10 Original Firmware Backup"); 625 QDir::home().mkdir("Iriver H10 Original Firmware Backup");
618 firmwareFile.copy(QDir::toNativeSeparators(QDir::homePath()) + QDir::toNativeSeparators("/Iriver H10 Original Firmware Backup/") + m_bootloadername); 626 firmwareFile.copy(QDir::toNativeSeparators(QDir::homePath()) + QDir::toNativeSeparators("/Iriver H10 Original Firmware Backup/") + m_bootloadername);
627 firmwareFile.unsetError();
619 628
620 //rename 629 //rename
621 if(!firmwareFile.rename(firmwareOrig)) //rename Firmware to Original 630 if(!firmwareFile.rename(firmwareOrig)) //rename Firmware to Original
@@ -685,8 +694,9 @@ void BootloaderInstaller::mrobe100Prepare()
685 694
686 QString firmwarename = m_bootloadername; 695 QString firmwarename = m_bootloadername;
687 696
688 QString firmware = m_mountpoint + "/SYSTEM/" + firmwarename; 697 QString firmware;
689 QString firmwareOrig = m_mountpoint + "/SYSTEM/OF.mi4"; 698 firmware = resolvePathCase(m_mountpoint + "/SYSTEM/" + firmwarename);
699 QString firmwareOrig = resolvePathCase(m_mountpoint + "/SYSTEM/OF.mi4");
690 700
691 QFileInfo firmwareFI(firmware); 701 QFileInfo firmwareFI(firmware);
692 if(!firmwareFI.exists()) //Firmware dosent exists on player 702 if(!firmwareFI.exists()) //Firmware dosent exists on player
@@ -718,8 +728,8 @@ void BootloaderInstaller::mrobe100Prepare()
718 return; 728 return;
719 } 729 }
720 730
721 //copy original firmware 731 // move original firmware back
722 if(!firmwareOrigFile.copy(firmware)) 732 if(!firmwareOrigFile.rename(firmware))
723 { 733 {
724 m_dp->addItem(tr("Could not copy the Firmware from: %1 to %2") 734 m_dp->addItem(tr("Could not copy the Firmware from: %1 to %2")
725 .arg(firmwareOrig,firmware),LOGERROR); 735 .arg(firmwareOrig,firmware),LOGERROR);
@@ -738,8 +748,10 @@ void BootloaderInstaller::mrobe100Finish()
738{ 748{
739 QString firmwarename = m_bootloadername; 749 QString firmwarename = m_bootloadername;
740 750
741 QString firmware = m_mountpoint + "/SYSTEM/" + firmwarename; 751 QString firmware;
742 QString firmwareOrig = m_mountpoint + "/SYSTEM/OF.mi4"; 752 firmware = resolvePathCase(m_mountpoint + "/SYSTEM/" + firmwarename);
753 // NOTE: the filename for the OF may not exist yet, so resolve path only!
754 QString firmwareOrig = resolvePathCase(m_mountpoint + "/SYSTEM") + "/OF.mi4";
743 755
744 QFileInfo firmwareFI(firmware); 756 QFileInfo firmwareFI(firmware);
745 757
@@ -760,8 +772,8 @@ void BootloaderInstaller::mrobe100Finish()
760 //backup 772 //backup
761 QDir::home().mkdir("Olympus mrobe100 Original Firmware Backup"); 773 QDir::home().mkdir("Olympus mrobe100 Original Firmware Backup");
762 firmwareFile.copy(QDir::toNativeSeparators(QDir::homePath()) + QDir::toNativeSeparators("/Olympus mrobe100 Original Firmware Backup/") + m_bootloadername); 774 firmwareFile.copy(QDir::toNativeSeparators(QDir::homePath()) + QDir::toNativeSeparators("/Olympus mrobe100 Original Firmware Backup/") + m_bootloadername);
763 775 firmwareFile.unsetError();
764 //rename 776 //rename
765 if(!firmwareFile.rename(firmwareOrig)) //rename Firmware to Original 777 if(!firmwareFile.rename(firmwareOrig)) //rename Firmware to Original
766 { 778 {
767 m_dp->addItem(tr("Could not rename: %1 to %2") 779 m_dp->addItem(tr("Could not rename: %1 to %2")
@@ -1118,11 +1130,11 @@ void BootloaderInstaller::sansaPrepare()
1118 if (sansa.hasoldbootloader) 1130 if (sansa.hasoldbootloader)
1119 { 1131 {
1120 m_dp->addItem(tr("********************************************\n" 1132 m_dp->addItem(tr("********************************************\n"
1121 "OLD ROCKBOX INSTALLATION DETECTED, ABORTING.\n" 1133 "OLD ROCKBOX INSTALLATION DETECTED, ABORTING.\n"
1122 "You must reinstall the original Sansa firmware before running\n" 1134 "You must reinstall the original Sansa firmware before running\n"
1123 "sansapatcher for the first time.\n" 1135 "sansapatcher for the first time.\n"
1124 "See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install\n" 1136 "See http://www.rockbox.org/wiki/SansaE200Install\n"
1125 "*********************************************\n"),LOGERROR); 1137 "*********************************************\n"),LOGERROR);
1126 emit done(true); 1138 emit done(true);
1127 return; 1139 return;
1128 } 1140 }
@@ -1184,11 +1196,11 @@ void BootloaderInstaller::sansaFinish()
1184 if (sansa.hasoldbootloader) 1196 if (sansa.hasoldbootloader)
1185 { 1197 {
1186 m_dp->addItem(tr("********************************************\n" 1198 m_dp->addItem(tr("********************************************\n"
1187 "OLD ROCKBOX INSTALLATION DETECTED, ABORTING.\n" 1199 "OLD ROCKBOX INSTALLATION DETECTED, ABORTING.\n"
1188 "You must reinstall the original Sansa firmware before running\n" 1200 "You must reinstall the original Sansa firmware before running\n"
1189 "sansapatcher for the first time.\n" 1201 "sansapatcher for the first time.\n"
1190 "See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install\n" 1202 "See http://www.rockbox.org/wiki/SansaE200Install\n"
1191 "*********************************************\n"),LOGERROR); 1203 "*********************************************\n"),LOGERROR);
1192 emit done(true); 1204 emit done(true);
1193 return; 1205 return;
1194 } 1206 }
@@ -1398,6 +1410,5 @@ void BootloaderInstaller::iriverFinish()
1398 m_dp->abort(); 1410 m_dp->abort();
1399 1411
1400 emit done(false); // success 1412 emit done(false); // success
1401
1402
1403} 1413}
1414