mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-27 23:42:58 +02:00
gui/update.cpp: use mtd0 as default on apollo, disable uboot/uldr partitions write
This commit is contained in:
@@ -85,7 +85,11 @@ extern int allow_flash;
|
|||||||
#define FILEBROWSER_UPDATE_FILTER "img"
|
#define FILEBROWSER_UPDATE_FILTER "img"
|
||||||
|
|
||||||
#define MTD_OF_WHOLE_IMAGE 0
|
#define MTD_OF_WHOLE_IMAGE 0
|
||||||
#define MTD_DEVICE_OF_UPDATE_PART "/dev/mtd2"
|
#ifdef BOXMODEL_APOLLO
|
||||||
|
#define MTD_DEVICE_OF_UPDATE_PART "/dev/mtd0"
|
||||||
|
#else
|
||||||
|
#define MTD_DEVICE_OF_UPDATE_PART "/dev/mtd3"
|
||||||
|
#endif
|
||||||
|
|
||||||
CFlashUpdate::CFlashUpdate()
|
CFlashUpdate::CFlashUpdate()
|
||||||
:CProgressWindow()
|
:CProgressWindow()
|
||||||
@@ -93,6 +97,8 @@ CFlashUpdate::CFlashUpdate()
|
|||||||
width = w_max (40, 10);
|
width = w_max (40, 10);
|
||||||
setTitle(LOCALE_FLASHUPDATE_HEAD);
|
setTitle(LOCALE_FLASHUPDATE_HEAD);
|
||||||
sysfs = CMTDInfo::getInstance()->findMTDsystem();
|
sysfs = CMTDInfo::getInstance()->findMTDsystem();
|
||||||
|
if (sysfs.empty())
|
||||||
|
sysfs = MTD_DEVICE_OF_UPDATE_PART;
|
||||||
printf("Mtd partition to update: %s\n", sysfs.c_str());
|
printf("Mtd partition to update: %s\n", sysfs.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -458,9 +464,7 @@ int CFlashUpdate::exec(CMenuTarget* parent, const std::string &actionKey)
|
|||||||
#endif
|
#endif
|
||||||
if(fileType < '3') {
|
if(fileType < '3') {
|
||||||
CNeutrinoApp::getInstance()->exec(NULL, "savesettings");
|
CNeutrinoApp::getInstance()->exec(NULL, "savesettings");
|
||||||
sleep(2);
|
|
||||||
//flash it...
|
//flash it...
|
||||||
|
|
||||||
if (ShowMsgUTF(LOCALE_MESSAGEBOX_INFO, g_Locale->getText(LOCALE_FLASHUPDATE_APPLY_SETTINGS), CMessageBox::mbrYes, CMessageBox::mbYes | CMessageBox::mbNo, NEUTRINO_ICON_UPDATE) == CMessageBox::mbrYes)
|
if (ShowMsgUTF(LOCALE_MESSAGEBOX_INFO, g_Locale->getText(LOCALE_FLASHUPDATE_APPLY_SETTINGS), CMessageBox::mbrYes, CMessageBox::mbYes | CMessageBox::mbNo, NEUTRINO_ICON_UPDATE) == CMessageBox::mbrYes)
|
||||||
if (!CExtUpdate::getInstance()->applySettings(filename, CExtUpdate::MODE_SOFTUPDATE))
|
if (!CExtUpdate::getInstance()->applySettings(filename, CExtUpdate::MODE_SOFTUPDATE))
|
||||||
return menu_return::RETURN_REPAINT;
|
return menu_return::RETURN_REPAINT;
|
||||||
@@ -486,9 +490,9 @@ int CFlashUpdate::exec(CMenuTarget* parent, const std::string &actionKey)
|
|||||||
CFSMounter::umount();
|
CFSMounter::umount();
|
||||||
|
|
||||||
ShowHintUTF(LOCALE_MESSAGEBOX_INFO, g_Locale->getText(LOCALE_FLASHUPDATE_FLASHREADYREBOOT)); // UTF-8
|
ShowHintUTF(LOCALE_MESSAGEBOX_INFO, g_Locale->getText(LOCALE_FLASHUPDATE_FLASHREADYREBOOT)); // UTF-8
|
||||||
|
sleep(2);
|
||||||
//my_system("/etc/init.d/rcK");
|
//my_system("/etc/init.d/rcK");
|
||||||
ft.reboot();
|
ft.reboot();
|
||||||
sleep(20000);
|
|
||||||
}
|
}
|
||||||
else if(fileType == 'T') // display file contents
|
else if(fileType == 'T') // display file contents
|
||||||
{
|
{
|
||||||
@@ -604,7 +608,7 @@ void CFlashExpert::writemtd(const std::string & filename, int mtdNumber)
|
|||||||
} else {
|
} else {
|
||||||
showGlobalStatus(100);
|
showGlobalStatus(100);
|
||||||
showStatusMessageUTF(g_Locale->getText(LOCALE_FLASHUPDATE_READY)); // UTF-8
|
showStatusMessageUTF(g_Locale->getText(LOCALE_FLASHUPDATE_READY)); // UTF-8
|
||||||
sleep(1);
|
sleep(2);
|
||||||
hide();
|
hide();
|
||||||
ShowHintUTF(LOCALE_MESSAGEBOX_INFO, g_Locale->getText(LOCALE_FLASHUPDATE_FLASHREADYREBOOT)); // UTF-8
|
ShowHintUTF(LOCALE_MESSAGEBOX_INFO, g_Locale->getText(LOCALE_FLASHUPDATE_FLASHREADYREBOOT)); // UTF-8
|
||||||
ft.reboot();
|
ft.reboot();
|
||||||
@@ -629,9 +633,15 @@ void CFlashExpert::showMTDSelector(const std::string & actionkey)
|
|||||||
for(int lx=0;lx<mtdInfo->getMTDCount();lx++) {
|
for(int lx=0;lx<mtdInfo->getMTDCount();lx++) {
|
||||||
char sActionKey[20];
|
char sActionKey[20];
|
||||||
bool enabled = true;
|
bool enabled = true;
|
||||||
|
#ifdef BOXMODEL_APOLLO
|
||||||
|
// disable write uboot / uldr, FIXME correct numbers
|
||||||
|
if ((actionkey == "writemtd") && (lx == 5 || lx == 6))
|
||||||
|
enabled = false;
|
||||||
|
#else
|
||||||
// disable write uboot
|
// disable write uboot
|
||||||
if ((actionkey == "writemtd") && (lx == 0))
|
if ((actionkey == "writemtd") && (lx == 0))
|
||||||
enabled = false;
|
enabled = false;
|
||||||
|
#endif
|
||||||
sprintf(sActionKey, "%s%d", actionkey.c_str(), lx);
|
sprintf(sActionKey, "%s%d", actionkey.c_str(), lx);
|
||||||
mtdselector->addItem(new CMenuForwarderNonLocalized(mtdInfo->getMTDName(lx).c_str(), enabled, NULL, this, sActionKey, CRCInput::convertDigitToKey(shortcut++)));
|
mtdselector->addItem(new CMenuForwarderNonLocalized(mtdInfo->getMTDName(lx).c_str(), enabled, NULL, this, sActionKey, CRCInput::convertDigitToKey(shortcut++)));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user