mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-28 16:01:20 +02:00
Image backup apollo Part #6
- Menu option for including kernel/uldr/u-boot in the image backup - Menu option for creating an image with a different erasesize Tank <=> Trinity
This commit is contained in:
@@ -466,6 +466,16 @@ flashupdate.cantopenfile kann Datei nicht öffnen
|
|||||||
flashupdate.cantopenmtd kann MTD nicht öffnen
|
flashupdate.cantopenmtd kann MTD nicht öffnen
|
||||||
flashupdate.checkupdate_internet Online nach Updates suchen
|
flashupdate.checkupdate_internet Online nach Updates suchen
|
||||||
flashupdate.checkupdate_local Lokales Update
|
flashupdate.checkupdate_local Lokales Update
|
||||||
|
flashupdate.createimage Image speichern
|
||||||
|
flashupdate.createimage_add_env 'env' hinzufügen
|
||||||
|
flashupdate.createimage_add_kernel 'kernel' hinzufügen
|
||||||
|
flashupdate.createimage_add_spare 'spare' hinzufügen
|
||||||
|
flashupdate.createimage_add_u_boot 'u-boot' hinzufügen
|
||||||
|
flashupdate.createimage_add_uldr 'uldr' hinzufügen
|
||||||
|
flashupdate.createimage_menu Aktuelle Software sichern
|
||||||
|
flashupdate.createimage_options Einstellungen
|
||||||
|
flashupdate.createimage_other Image für %s STB erstellen
|
||||||
|
flashupdate.createimage_warning Nachfolgend wird ein Image für die %s STB erstellt.\nDieses Image wird auch nur auf einer %s STB lauffähig sein!\n \nTrotzdem fortsetzten?
|
||||||
flashupdate.currentversion_sep Installierte Version
|
flashupdate.currentversion_sep Installierte Version
|
||||||
flashupdate.currentversiondate Datum
|
flashupdate.currentversiondate Datum
|
||||||
flashupdate.currentversiontime Uhrzeit
|
flashupdate.currentversiontime Uhrzeit
|
||||||
|
@@ -466,6 +466,16 @@ flashupdate.cantopenfile can't open file
|
|||||||
flashupdate.cantopenmtd can't open MTD
|
flashupdate.cantopenmtd can't open MTD
|
||||||
flashupdate.checkupdate_internet Check for online updates
|
flashupdate.checkupdate_internet Check for online updates
|
||||||
flashupdate.checkupdate_local Local update
|
flashupdate.checkupdate_local Local update
|
||||||
|
flashupdate.createimage Save image
|
||||||
|
flashupdate.createimage_add_env Add 'env' to image
|
||||||
|
flashupdate.createimage_add_kernel Add 'kernel' to image
|
||||||
|
flashupdate.createimage_add_spare Add 'spare' to image
|
||||||
|
flashupdate.createimage_add_u_boot Add 'u-boot' to image
|
||||||
|
flashupdate.createimage_add_uldr Add 'uldr' to image
|
||||||
|
flashupdate.createimage_menu Save current software
|
||||||
|
flashupdate.createimage_options Options
|
||||||
|
flashupdate.createimage_other Create image for %s STB
|
||||||
|
flashupdate.createimage_warning Now an image for the %s STB is created.\nThis image will also run on only one %s STB!\n \nNevertheless continued?
|
||||||
flashupdate.currentversion_sep Current version
|
flashupdate.currentversion_sep Current version
|
||||||
flashupdate.currentversiondate Date
|
flashupdate.currentversiondate Date
|
||||||
flashupdate.currentversiontime Time
|
flashupdate.currentversiontime Time
|
||||||
|
@@ -40,6 +40,7 @@
|
|||||||
#include <global.h>
|
#include <global.h>
|
||||||
#include <neutrino.h>
|
#include <neutrino.h>
|
||||||
#include <neutrino_menue.h>
|
#include <neutrino_menue.h>
|
||||||
|
#include <mymenu.h>
|
||||||
|
|
||||||
#include <driver/fontrenderer.h>
|
#include <driver/fontrenderer.h>
|
||||||
#include <driver/rcinput.h>
|
#include <driver/rcinput.h>
|
||||||
@@ -542,6 +543,11 @@ CFlashExpert::CFlashExpert()
|
|||||||
{
|
{
|
||||||
selectedMTD = -1;
|
selectedMTD = -1;
|
||||||
width = w_max (40, 10);
|
width = w_max (40, 10);
|
||||||
|
#ifdef BOXMODEL_APOLLO
|
||||||
|
forceOtherFilename = false;
|
||||||
|
otherFilename = "";
|
||||||
|
createimage_other = 0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
CFlashExpert* CFlashExpert::getInstance()
|
CFlashExpert* CFlashExpert::getInstance()
|
||||||
@@ -653,10 +659,13 @@ void CFlashExpert::readmtdJFFS2(std::string &filename)
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::string path = "/";
|
std::string path = "/";
|
||||||
CMTDInfo *MTDInfo = CMTDInfo::getInstance();
|
int eSize = CMTDInfo::getInstance()->getMTDEraseSize(CMTDInfo::getInstance()->findMTDsystem());
|
||||||
int esize = MTDInfo->getMTDEraseSize(MTDInfo->findMTDsystem());
|
if (createimage_other == 1) {
|
||||||
|
if (eSize == 0x40000) eSize = 0x20000;
|
||||||
|
else if (eSize == 0x20000) eSize = 0x40000;
|
||||||
|
}
|
||||||
CMkfsJFFS2 mkfs;
|
CMkfsJFFS2 mkfs;
|
||||||
mkfs.makeJffs2Image(path, filename, esize, 0, 0, __LITTLE_ENDIAN, true, true, &progress, &v_devtable);
|
mkfs.makeJffs2Image(path, filename, eSize, 0, 0, __LITTLE_ENDIAN, true, true, &progress, &v_devtable);
|
||||||
progress.hide();
|
progress.hide();
|
||||||
|
|
||||||
char message[500];
|
char message[500];
|
||||||
@@ -673,8 +682,17 @@ void CFlashExpert::readmtd(int preadmtd)
|
|||||||
std::string timeStr = getNowTimeStr("_%Y%m%d_%H%M");
|
std::string timeStr = getNowTimeStr("_%Y%m%d_%H%M");
|
||||||
std::string tankStr = "";
|
std::string tankStr = "";
|
||||||
#ifdef BOXMODEL_APOLLO
|
#ifdef BOXMODEL_APOLLO
|
||||||
if ((preadmtd == 0) && (CMTDInfo::getInstance()->getMTDEraseSize(CMTDInfo::getInstance()->findMTDsystem()) == 0x40000))
|
int eSize = CMTDInfo::getInstance()->getMTDEraseSize(CMTDInfo::getInstance()->findMTDsystem());
|
||||||
tankStr = ".256k";
|
if (preadmtd == 0) {
|
||||||
|
if (createimage_other == 0) {
|
||||||
|
if (eSize == 0x40000) tankStr = ".256k";
|
||||||
|
if (eSize == 0x20000) tankStr = "";
|
||||||
|
}
|
||||||
|
else if (createimage_other == 1) {
|
||||||
|
if (eSize == 0x40000) tankStr = "";
|
||||||
|
if (eSize == 0x20000) tankStr = ".256k";
|
||||||
|
}
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
if (g_settings.softupdate_name_mode_backup == CExtUpdate::SOFTUPDATE_NAME_HOSTNAME_TIME)
|
if (g_settings.softupdate_name_mode_backup == CExtUpdate::SOFTUPDATE_NAME_HOSTNAME_TIME)
|
||||||
filename = (std::string)g_settings.update_dir + "/" + mtdInfo->getMTDName(preadmtd) + timeStr + "_" + hostName + tankStr + ".img";
|
filename = (std::string)g_settings.update_dir + "/" + mtdInfo->getMTDName(preadmtd) + timeStr + "_" + hostName + tankStr + ".img";
|
||||||
@@ -696,6 +714,9 @@ void CFlashExpert::readmtd(int preadmtd)
|
|||||||
#ifndef BOXMODEL_APOLLO
|
#ifndef BOXMODEL_APOLLO
|
||||||
if ((std::string)g_settings.update_dir == "/tmp")
|
if ((std::string)g_settings.update_dir == "/tmp")
|
||||||
skipCheck = true;
|
skipCheck = true;
|
||||||
|
#else
|
||||||
|
if (forceOtherFilename)
|
||||||
|
filename = otherFilename;
|
||||||
#endif
|
#endif
|
||||||
if ((!skipCheck) && (!checkSize(preadmtd, filename)))
|
if ((!skipCheck) && (!checkSize(preadmtd, filename)))
|
||||||
return;
|
return;
|
||||||
@@ -718,7 +739,12 @@ void CFlashExpert::readmtd(int preadmtd)
|
|||||||
sprintf(message, g_Locale->getText(LOCALE_FLASHUPDATE_SAVESUCCESS), filename.c_str());
|
sprintf(message, g_Locale->getText(LOCALE_FLASHUPDATE_SAVESUCCESS), filename.c_str());
|
||||||
sleep(1);
|
sleep(1);
|
||||||
hide();
|
hide();
|
||||||
|
#ifdef BOXMODEL_APOLLO
|
||||||
|
if (!forceOtherFilename)
|
||||||
ShowHintUTF(LOCALE_MESSAGEBOX_INFO, message);
|
ShowHintUTF(LOCALE_MESSAGEBOX_INFO, message);
|
||||||
|
#else
|
||||||
|
ShowHintUTF(LOCALE_MESSAGEBOX_INFO, message);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -779,6 +805,11 @@ int CFlashExpert::showMTDSelector(const std::string & actionkey)
|
|||||||
// disable write uboot / uldr, FIXME correct numbers
|
// disable write uboot / uldr, FIXME correct numbers
|
||||||
if ((actionkey == "writemtd") && (lx == 5 || lx == 6))
|
if ((actionkey == "writemtd") && (lx == 5 || lx == 6))
|
||||||
enabled = false;
|
enabled = false;
|
||||||
|
if ((actionkey == "readmtd") && (lx == 0)) {
|
||||||
|
CMenuForwarder *mf = new CMenuForwarderNonLocalized("root0", true, NULL, new CFlashExpertSetup(), NULL, CRCInput::convertDigitToKey(shortcut++));
|
||||||
|
mtdselector->addItem(mf);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
// disable write uboot
|
// disable write uboot
|
||||||
if ((actionkey == "writemtd") && (lx == 0))
|
if ((actionkey == "writemtd") && (lx == 0))
|
||||||
@@ -875,3 +906,137 @@ int CFlashExpert::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
hide();
|
hide();
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef BOXMODEL_APOLLO
|
||||||
|
CFlashExpertSetup::CFlashExpertSetup()
|
||||||
|
{
|
||||||
|
width = w_max (40, 10);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CFlashExpertSetup::readMTDPart(int mtd, const std::string &fileName)
|
||||||
|
{
|
||||||
|
CFlashExpert *cfe = CFlashExpert::getInstance();
|
||||||
|
if (file_exists(fileName.c_str()))
|
||||||
|
unlink(fileName.c_str());
|
||||||
|
cfe->otherFilename = fileName;
|
||||||
|
cfe->readmtd(mtd);
|
||||||
|
sync();
|
||||||
|
}
|
||||||
|
|
||||||
|
#define UBOOT_BIN
|
||||||
|
//#define ENV_SPARE_BIN
|
||||||
|
|
||||||
|
int CFlashExpertSetup::exec(CMenuTarget* parent, const std::string &actionKey)
|
||||||
|
{
|
||||||
|
#define UPDATEDIR "/var/update"
|
||||||
|
if (parent)
|
||||||
|
parent->hide();
|
||||||
|
|
||||||
|
if (actionKey == "readmtd0") {
|
||||||
|
CFlashExpert *cfe = CFlashExpert::getInstance();
|
||||||
|
bool skipImage = false;
|
||||||
|
if (cfe->createimage_other == 1) {
|
||||||
|
char message[512] = {0};
|
||||||
|
// create image warning
|
||||||
|
CMTDInfo *mtdInfo = CMTDInfo::getInstance();
|
||||||
|
const char *box = (mtdInfo->getMTDEraseSize(mtdInfo->findMTDsystem()) == 0x40000) ? "Trinity" : "Tank";
|
||||||
|
snprintf(message, sizeof(message)-1, g_Locale->getText(LOCALE_FLASHUPDATE_CREATEIMAGE_WARNING), box, box);
|
||||||
|
if (ShowMsgUTF(LOCALE_MESSAGEBOX_INFO, message, CMessageBox::mbrNo, CMessageBox::mbYes | CMessageBox::mbNo, NEUTRINO_ICON_UPDATE) != CMessageBox::mbrYes)
|
||||||
|
skipImage = true;
|
||||||
|
}
|
||||||
|
if (!skipImage) {
|
||||||
|
std::string uldrName = (std::string)UPDATEDIR + "/uldr.bin";
|
||||||
|
cfe->forceOtherFilename = true;
|
||||||
|
if (g_settings.flashupdate_createimage_add_uldr == 1)
|
||||||
|
readMTDPart(2, uldrName);
|
||||||
|
#ifdef UBOOT_BIN
|
||||||
|
std::string ubootName = (std::string)UPDATEDIR + "/u-boot.bin";
|
||||||
|
if (g_settings.flashupdate_createimage_add_u_boot == 1)
|
||||||
|
readMTDPart(3, ubootName);
|
||||||
|
#endif
|
||||||
|
#ifdef ENV_SPARE_BIN
|
||||||
|
std::string envName = (std::string)UPDATEDIR + "/env.bin";
|
||||||
|
if (g_settings.flashupdate_createimage_add_env == 1)
|
||||||
|
readMTDPart(4, envName);
|
||||||
|
std::string spareName = (std::string)UPDATEDIR + "/spare.bin";
|
||||||
|
if (g_settings.flashupdate_createimage_add_spare == 1)
|
||||||
|
readMTDPart(5, spareName);
|
||||||
|
#endif
|
||||||
|
std::string kernelName = (std::string)UPDATEDIR + "/vmlinux.ub.gz";
|
||||||
|
if (g_settings.flashupdate_createimage_add_kernel == 1)
|
||||||
|
readMTDPart(6, kernelName);
|
||||||
|
cfe->forceOtherFilename = false;
|
||||||
|
cfe->otherFilename = "";
|
||||||
|
|
||||||
|
cfe->readmtd(0);
|
||||||
|
|
||||||
|
if (g_settings.flashupdate_createimage_add_uldr == 1)
|
||||||
|
unlink(uldrName.c_str());
|
||||||
|
#ifdef UBOOT_BIN
|
||||||
|
if (g_settings.flashupdate_createimage_add_u_boot == 1)
|
||||||
|
unlink(ubootName.c_str());
|
||||||
|
#endif
|
||||||
|
#ifdef ENV_SPARE_BIN
|
||||||
|
if (g_settings.flashupdate_createimage_add_env == 1)
|
||||||
|
unlink(envName.c_str());
|
||||||
|
if (g_settings.flashupdate_createimage_add_spare == 1)
|
||||||
|
unlink(spareName.c_str());
|
||||||
|
#endif
|
||||||
|
if (g_settings.flashupdate_createimage_add_kernel == 1)
|
||||||
|
unlink(kernelName.c_str());
|
||||||
|
sync();
|
||||||
|
}
|
||||||
|
|
||||||
|
cfe->createimage_other = 0;
|
||||||
|
return menu_return::RETURN_EXIT_ALL;
|
||||||
|
}
|
||||||
|
return showMenu();
|
||||||
|
}
|
||||||
|
|
||||||
|
int CFlashExpertSetup::showMenu()
|
||||||
|
{
|
||||||
|
CFlashExpert *cfe = CFlashExpert::getInstance();
|
||||||
|
CMenuWidget *rootfsSetup = new CMenuWidget(LOCALE_SERVICEMENU_UPDATE, NEUTRINO_ICON_UPDATE, width, MN_WIDGET_ID_MTDREAD_ROOT0);
|
||||||
|
rootfsSetup->addIntroItems(LOCALE_FLASHUPDATE_CREATEIMAGE_MENU);
|
||||||
|
|
||||||
|
CMenuSeparator *s1 = new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_FLASHUPDATE_CREATEIMAGE_OPTIONS);
|
||||||
|
CMenuForwarder *m1 = new CMenuForwarder(LOCALE_FLASHUPDATE_CREATEIMAGE, true, NULL, this, "readmtd0", CRCInput::convertDigitToKey(0));
|
||||||
|
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);
|
||||||
|
CMenuOptionChooser *m3 = new CMenuOptionChooser(LOCALE_FLASHUPDATE_CREATEIMAGE_ADD_U_BOOT, &g_settings.flashupdate_createimage_add_u_boot,
|
||||||
|
MESSAGEBOX_NO_YES_OPTIONS, MESSAGEBOX_NO_YES_OPTION_COUNT, true);
|
||||||
|
#ifdef ENV_SPARE_BIN
|
||||||
|
CMenuOptionChooser *m4 = new CMenuOptionChooser(LOCALE_FLASHUPDATE_CREATEIMAGE_ADD_ENV, &g_settings.flashupdate_createimage_add_env,
|
||||||
|
MESSAGEBOX_NO_YES_OPTIONS, MESSAGEBOX_NO_YES_OPTION_COUNT, false);
|
||||||
|
CMenuOptionChooser *m5 = new CMenuOptionChooser(LOCALE_FLASHUPDATE_CREATEIMAGE_ADD_SPARE, &g_settings.flashupdate_createimage_add_spare,
|
||||||
|
MESSAGEBOX_NO_YES_OPTIONS, MESSAGEBOX_NO_YES_OPTION_COUNT, false);
|
||||||
|
#endif
|
||||||
|
CMenuOptionChooser *m6 = new CMenuOptionChooser(LOCALE_FLASHUPDATE_CREATEIMAGE_ADD_KERNEL, &g_settings.flashupdate_createimage_add_kernel,
|
||||||
|
MESSAGEBOX_NO_YES_OPTIONS, MESSAGEBOX_NO_YES_OPTION_COUNT, true);
|
||||||
|
|
||||||
|
|
||||||
|
CMTDInfo *mtdInfo = CMTDInfo::getInstance();
|
||||||
|
const char *box = (mtdInfo->getMTDEraseSize(mtdInfo->findMTDsystem()) == 0x40000) ? "Trinity" : "Tank";
|
||||||
|
char mText[512] = {0};
|
||||||
|
snprintf(mText, sizeof(mText)-1, g_Locale->getText(LOCALE_FLASHUPDATE_CREATEIMAGE_OTHER), box);
|
||||||
|
CMenuOptionChooser *m7 = new CMenuOptionChooser(mText, &(cfe->createimage_other), MESSAGEBOX_NO_YES_OPTIONS, MESSAGEBOX_NO_YES_OPTION_COUNT, true);
|
||||||
|
|
||||||
|
rootfsSetup->addItem(m1); // create image
|
||||||
|
rootfsSetup->addItem(s1);
|
||||||
|
rootfsSetup->addItem(m2); // include uldr
|
||||||
|
rootfsSetup->addItem(m3); // include u-boot
|
||||||
|
#ifdef ENV_SPARE_BIN
|
||||||
|
rootfsSetup->addItem(m4); // include env
|
||||||
|
rootfsSetup->addItem(m5); // include spare
|
||||||
|
#endif
|
||||||
|
rootfsSetup->addItem(m6); // include kernel
|
||||||
|
rootfsSetup->addItem(GenericMenuSeparatorLine);
|
||||||
|
rootfsSetup->addItem(m7); // create image for other STB
|
||||||
|
|
||||||
|
int res = rootfsSetup->exec (NULL, "");
|
||||||
|
delete rootfsSetup;
|
||||||
|
|
||||||
|
cfe->createimage_other = 0;
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
#endif // BOXMODEL_APOLLO
|
||||||
|
@@ -79,19 +79,40 @@ class CFlashExpert : public CProgressWindow
|
|||||||
int showFileSelector(const std::string & actionkey);
|
int showFileSelector(const std::string & actionkey);
|
||||||
|
|
||||||
bool checkSize(int mtd, std::string &backupFile);
|
bool checkSize(int mtd, std::string &backupFile);
|
||||||
void readmtd(int readmtd);
|
|
||||||
#ifdef BOXMODEL_APOLLO
|
#ifdef BOXMODEL_APOLLO
|
||||||
bool readDevtableFile(std::string &devtableFile, CMkfsJFFS2::v_devtable_t &v_devtable);
|
bool readDevtableFile(std::string &devtableFile, CMkfsJFFS2::v_devtable_t &v_devtable);
|
||||||
void readmtdJFFS2(std::string &filename);
|
void readmtdJFFS2(std::string &filename);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
#ifdef BOXMODEL_APOLLO
|
||||||
|
bool forceOtherFilename;
|
||||||
|
std::string otherFilename;
|
||||||
|
int createimage_other;
|
||||||
|
#endif
|
||||||
CFlashExpert();
|
CFlashExpert();
|
||||||
static CFlashExpert* getInstance();
|
static CFlashExpert* getInstance();
|
||||||
int exec(CMenuTarget* parent, const std::string & actionKey);
|
int exec(CMenuTarget* parent, const std::string & actionKey);
|
||||||
void writemtd(const std::string & filename, int mtdNumber);
|
void writemtd(const std::string & filename, int mtdNumber);
|
||||||
|
void readmtd(int readmtd);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef BOXMODEL_APOLLO
|
||||||
|
class CFlashExpertSetup : public CMenuTarget
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
int width;
|
||||||
|
|
||||||
|
int showMenu();
|
||||||
|
void readMTDPart(int mtd, const std::string &fileName);
|
||||||
|
|
||||||
|
public:
|
||||||
|
CFlashExpertSetup();
|
||||||
|
// ~CFlashExpertSetup();
|
||||||
|
|
||||||
|
int exec(CMenuTarget* parent, const std::string &actionKey);
|
||||||
|
};
|
||||||
|
#endif // BOXMODEL_APOLLO
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -663,6 +663,12 @@ int CNeutrinoApp::loadSetup(const char * fname)
|
|||||||
g_settings.softupdate_name_mode_apply = configfile.getInt32( "softupdate_name_mode_apply", CExtUpdate::SOFTUPDATE_NAME_DEFAULT);
|
g_settings.softupdate_name_mode_apply = configfile.getInt32( "softupdate_name_mode_apply", CExtUpdate::SOFTUPDATE_NAME_DEFAULT);
|
||||||
g_settings.softupdate_name_mode_backup = configfile.getInt32( "softupdate_name_mode_backup", CExtUpdate::SOFTUPDATE_NAME_DEFAULT);
|
g_settings.softupdate_name_mode_backup = configfile.getInt32( "softupdate_name_mode_backup", CExtUpdate::SOFTUPDATE_NAME_DEFAULT);
|
||||||
|
|
||||||
|
g_settings.flashupdate_createimage_add_uldr = configfile.getInt32( "flashupdate_createimage_add_uldr", 1);
|
||||||
|
g_settings.flashupdate_createimage_add_u_boot = configfile.getInt32( "flashupdate_createimage_add_u_boot", 0);
|
||||||
|
g_settings.flashupdate_createimage_add_env = configfile.getInt32( "flashupdate_createimage_add_env", 0);
|
||||||
|
g_settings.flashupdate_createimage_add_spare = configfile.getInt32( "flashupdate_createimage_add_spare", 0);
|
||||||
|
g_settings.flashupdate_createimage_add_kernel = configfile.getInt32( "flashupdate_createimage_add_kernel", 1);
|
||||||
|
|
||||||
strcpy(g_settings.softupdate_url_file, configfile.getString("softupdate_url_file", "/var/etc/update.urls").c_str());
|
strcpy(g_settings.softupdate_url_file, configfile.getString("softupdate_url_file", "/var/etc/update.urls").c_str());
|
||||||
strcpy(g_settings.softupdate_proxyserver, configfile.getString("softupdate_proxyserver", "" ).c_str());
|
strcpy(g_settings.softupdate_proxyserver, configfile.getString("softupdate_proxyserver", "" ).c_str());
|
||||||
strcpy(g_settings.softupdate_proxyusername, configfile.getString("softupdate_proxyusername", "" ).c_str());
|
strcpy(g_settings.softupdate_proxyusername, configfile.getString("softupdate_proxyusername", "" ).c_str());
|
||||||
@@ -1103,6 +1109,12 @@ void CNeutrinoApp::saveSetup(const char * fname)
|
|||||||
configfile.setInt32 ("softupdate_name_mode_apply", g_settings.softupdate_name_mode_apply);
|
configfile.setInt32 ("softupdate_name_mode_apply", g_settings.softupdate_name_mode_apply);
|
||||||
configfile.setInt32 ("softupdate_name_mode_backup", g_settings.softupdate_name_mode_backup);
|
configfile.setInt32 ("softupdate_name_mode_backup", g_settings.softupdate_name_mode_backup);
|
||||||
|
|
||||||
|
configfile.setInt32("flashupdate_createimage_add_uldr", g_settings.flashupdate_createimage_add_uldr);
|
||||||
|
configfile.setInt32("flashupdate_createimage_add_u_boot", g_settings.flashupdate_createimage_add_u_boot);
|
||||||
|
configfile.setInt32("flashupdate_createimage_add_env", g_settings.flashupdate_createimage_add_env);
|
||||||
|
configfile.setInt32("flashupdate_createimage_add_spare", g_settings.flashupdate_createimage_add_spare);
|
||||||
|
configfile.setInt32("flashupdate_createimage_add_kernel", g_settings.flashupdate_createimage_add_kernel);
|
||||||
|
|
||||||
configfile.setString("softupdate_proxyserver" , g_settings.softupdate_proxyserver );
|
configfile.setString("softupdate_proxyserver" , g_settings.softupdate_proxyserver );
|
||||||
configfile.setString("softupdate_proxyusername" , g_settings.softupdate_proxyusername );
|
configfile.setString("softupdate_proxyusername" , g_settings.softupdate_proxyusername );
|
||||||
configfile.setString("softupdate_proxypassword" , g_settings.softupdate_proxypassword );
|
configfile.setString("softupdate_proxypassword" , g_settings.softupdate_proxypassword );
|
||||||
|
@@ -158,6 +158,7 @@ enum MN_WIDGET_ID
|
|||||||
MN_WIDGET_ID_MTDREAD_SELECTOR,
|
MN_WIDGET_ID_MTDREAD_SELECTOR,
|
||||||
MN_WIDGET_ID_MTDWRITE_SELECTOR,
|
MN_WIDGET_ID_MTDWRITE_SELECTOR,
|
||||||
MN_WIDGET_ID_FILESELECTOR,
|
MN_WIDGET_ID_FILESELECTOR,
|
||||||
|
MN_WIDGET_ID_MTDREAD_ROOT0,
|
||||||
|
|
||||||
//software update
|
//software update
|
||||||
MN_WIDGET_ID_SOFTWAREUPDATE,
|
MN_WIDGET_ID_SOFTWAREUPDATE,
|
||||||
|
@@ -493,6 +493,16 @@ typedef enum
|
|||||||
LOCALE_FLASHUPDATE_CANTOPENMTD,
|
LOCALE_FLASHUPDATE_CANTOPENMTD,
|
||||||
LOCALE_FLASHUPDATE_CHECKUPDATE_INTERNET,
|
LOCALE_FLASHUPDATE_CHECKUPDATE_INTERNET,
|
||||||
LOCALE_FLASHUPDATE_CHECKUPDATE_LOCAL,
|
LOCALE_FLASHUPDATE_CHECKUPDATE_LOCAL,
|
||||||
|
LOCALE_FLASHUPDATE_CREATEIMAGE,
|
||||||
|
LOCALE_FLASHUPDATE_CREATEIMAGE_ADD_ENV,
|
||||||
|
LOCALE_FLASHUPDATE_CREATEIMAGE_ADD_KERNEL,
|
||||||
|
LOCALE_FLASHUPDATE_CREATEIMAGE_ADD_SPARE,
|
||||||
|
LOCALE_FLASHUPDATE_CREATEIMAGE_ADD_U_BOOT,
|
||||||
|
LOCALE_FLASHUPDATE_CREATEIMAGE_ADD_ULDR,
|
||||||
|
LOCALE_FLASHUPDATE_CREATEIMAGE_MENU,
|
||||||
|
LOCALE_FLASHUPDATE_CREATEIMAGE_OPTIONS,
|
||||||
|
LOCALE_FLASHUPDATE_CREATEIMAGE_OTHER,
|
||||||
|
LOCALE_FLASHUPDATE_CREATEIMAGE_WARNING,
|
||||||
LOCALE_FLASHUPDATE_CURRENTVERSION_SEP,
|
LOCALE_FLASHUPDATE_CURRENTVERSION_SEP,
|
||||||
LOCALE_FLASHUPDATE_CURRENTVERSIONDATE,
|
LOCALE_FLASHUPDATE_CURRENTVERSIONDATE,
|
||||||
LOCALE_FLASHUPDATE_CURRENTVERSIONTIME,
|
LOCALE_FLASHUPDATE_CURRENTVERSIONTIME,
|
||||||
|
@@ -493,6 +493,16 @@ const char * locale_real_names[] =
|
|||||||
"flashupdate.cantopenmtd",
|
"flashupdate.cantopenmtd",
|
||||||
"flashupdate.checkupdate_internet",
|
"flashupdate.checkupdate_internet",
|
||||||
"flashupdate.checkupdate_local",
|
"flashupdate.checkupdate_local",
|
||||||
|
"flashupdate.createimage",
|
||||||
|
"flashupdate.createimage_add_env",
|
||||||
|
"flashupdate.createimage_add_kernel",
|
||||||
|
"flashupdate.createimage_add_spare",
|
||||||
|
"flashupdate.createimage_add_u_boot",
|
||||||
|
"flashupdate.createimage_add_uldr",
|
||||||
|
"flashupdate.createimage_menu",
|
||||||
|
"flashupdate.createimage_options",
|
||||||
|
"flashupdate.createimage_other",
|
||||||
|
"flashupdate.createimage_warning",
|
||||||
"flashupdate.currentversion_sep",
|
"flashupdate.currentversion_sep",
|
||||||
"flashupdate.currentversiondate",
|
"flashupdate.currentversiondate",
|
||||||
"flashupdate.currentversiontime",
|
"flashupdate.currentversiontime",
|
||||||
|
@@ -1162,7 +1162,7 @@ bool CMkfsJFFS2::makeJffs2Image(std::string& path,
|
|||||||
progressBar = progress;
|
progressBar = progress;
|
||||||
hardlinks.rb_node = NULL;
|
hardlinks.rb_node = NULL;
|
||||||
|
|
||||||
// printf("[%s] erase_block_size: 0x%X\n", __FUNCTION__, eraseBlockSize);
|
printf("[%s] erase_block_size: 0x%X\n", __FUNCTION__, eraseBlockSize);
|
||||||
classInit();
|
classInit();
|
||||||
|
|
||||||
char *cwd;
|
char *cwd;
|
||||||
|
@@ -482,6 +482,12 @@ struct SNeutrinoSettings
|
|||||||
int apply_settings;
|
int apply_settings;
|
||||||
int apply_kernel;
|
int apply_kernel;
|
||||||
|
|
||||||
|
int flashupdate_createimage_add_uldr;
|
||||||
|
int flashupdate_createimage_add_u_boot;
|
||||||
|
int flashupdate_createimage_add_env;
|
||||||
|
int flashupdate_createimage_add_spare;
|
||||||
|
int flashupdate_createimage_add_kernel;
|
||||||
|
|
||||||
//BouquetHandling
|
//BouquetHandling
|
||||||
int bouquetlist_mode;
|
int bouquetlist_mode;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user