Apollo/Kronos: Use backup with readmtdJFFS2() also for root1 partition

This commit is contained in:
M. Liebmann
2015-09-22 13:39:44 +02:00
parent 6121e57fbc
commit cb4c7431c7
7 changed files with 20 additions and 2 deletions

View File

@@ -92,6 +92,7 @@ extern int allow_flash;
#define MTD_OF_WHOLE_IMAGE 0
#ifdef BOXMODEL_APOLLO
#define MTD_DEVICE_OF_UPDATE_PART "/dev/mtd0"
#define ROOT1_MOUNT "/ext"
#else
#define MTD_DEVICE_OF_UPDATE_PART "/dev/mtd3"
#endif
@@ -778,6 +779,10 @@ void CFlashExpert::readmtd(int preadmtd)
readmtdJFFS2(filename, title, "/var", false);
return;
}
if (preadmtd == 2) {
readmtdJFFS2(filename, title, ROOT1_MOUNT, false);
return;
}
#endif
if (preadmtd == -1) {
filename = (std::string)g_settings.update_dir + "/flashimage.img"; // US-ASCII (subset of UTF-8 and ISO8859-1)
@@ -1048,6 +1053,9 @@ int CFlashExpertSetup::exec(CMenuTarget* parent, const std::string &actionKey)
if (g_settings.flashupdate_createimage_add_var == 1)
cfe->readmtd(1);
if (g_settings.flashupdate_createimage_add_root1 == 1)
cfe->readmtd(2);
cfe->readmtd(0);
if (g_settings.flashupdate_createimage_add_uldr == 1)
@@ -1083,6 +1091,8 @@ int CFlashExpertSetup::showMenu()
CMenuForwarder *m1 = new CMenuForwarder(LOCALE_FLASHUPDATE_CREATEIMAGE, true, NULL, this, "readmtd0", CRCInput::convertDigitToKey(0));
CMenuOptionChooser *m8 = new CMenuOptionChooser(LOCALE_FLASHUPDATE_CREATEIMAGE_ADD_VAR, &g_settings.flashupdate_createimage_add_var,
MESSAGEBOX_NO_YES_OPTIONS, MESSAGEBOX_NO_YES_OPTION_COUNT, true);
CMenuOptionChooser *m9 = new CMenuOptionChooser(LOCALE_FLASHUPDATE_CREATEIMAGE_ADD_ROOT1, &g_settings.flashupdate_createimage_add_root1,
MESSAGEBOX_NO_YES_OPTIONS, MESSAGEBOX_NO_YES_OPTION_COUNT, true);
CMenuOptionChooser *m2 = new CMenuOptionChooser(LOCALE_FLASHUPDATE_CREATEIMAGE_ADD_ULDR, &g_settings.flashupdate_createimage_add_uldr,
MESSAGEBOX_NO_YES_OPTIONS, MESSAGEBOX_NO_YES_OPTION_COUNT, true);
#ifndef UBOOT_BIN
@@ -1108,6 +1118,7 @@ g_settings.flashupdate_createimage_add_spare = 0;
rootfsSetup->addItem(m1); // create image
rootfsSetup->addItem(s1);
rootfsSetup->addItem(m8); // include var
rootfsSetup->addItem(m9); // include root1
rootfsSetup->addItem(m2); // include uldr
#ifdef UBOOT_BIN
rootfsSetup->addItem(m3); // include u-boot