mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-27 23:42:58 +02:00
- update: move function to get active partition to helpers.cpp
Signed-off-by: Thilo Graf <dbt@novatux.de>
This commit is contained in:
@@ -660,126 +660,7 @@ int CFlashUpdate::exec(CMenuTarget* parent, const std::string &actionKey)
|
||||
|
||||
// get active partition
|
||||
char c[2] = {0};
|
||||
FILE *f;
|
||||
#if BOXMODEL_VUPLUS4K
|
||||
f = fopen("/proc/cmdline", "r");
|
||||
if (f) {
|
||||
#if BOXMODEL_VUUNO4K || BOXMODEL_VUUNO4KSE || BOXMODEL_VUSOLO4K || BOXMODEL_VUULTIMO4K
|
||||
char buf[256] = "";
|
||||
while(fgets(buf, sizeof(buf), f) != NULL) {
|
||||
if (strstr(buf, "mmcblk0p5") != NULL) {
|
||||
c[0] = '1';
|
||||
c[1] = '\0';
|
||||
break;
|
||||
}
|
||||
if (strstr(buf, "mmcblk0p7") != NULL) {
|
||||
c[0] = '2';
|
||||
c[1] = '\0';
|
||||
break;
|
||||
}
|
||||
if (strstr(buf, "mmcblk0p9") != NULL) {
|
||||
c[0] = '3';
|
||||
c[1] = '\0';
|
||||
break;
|
||||
}
|
||||
if (strstr(buf, "mmcblk0p11") != NULL) {
|
||||
c[0] = '4';
|
||||
c[1] = '\0';
|
||||
break;
|
||||
}
|
||||
}
|
||||
#elif BOXMODEL_VUZERO4K
|
||||
char buf[256] = "";
|
||||
while(fgets(buf, sizeof(buf), f) != NULL) {
|
||||
if (strstr(buf, "mmcblk0p8") != NULL) {
|
||||
c[0] = '1';
|
||||
c[1] = '\0';
|
||||
break;
|
||||
}
|
||||
if (strstr(buf, "mmcblk0p10") != NULL) {
|
||||
c[0] = '2';
|
||||
c[1] = '\0';
|
||||
break;
|
||||
}
|
||||
if (strstr(buf, "mmcblk0p12") != NULL) {
|
||||
c[0] = '3';
|
||||
c[1] = '\0';
|
||||
break;
|
||||
}
|
||||
if (strstr(buf, "mmcblk0p14") != NULL) {
|
||||
c[0] = '4';
|
||||
c[1] = '\0';
|
||||
break;
|
||||
}
|
||||
}
|
||||
#elif BOXMODEL_VUDUO4K
|
||||
char buf[256] = "";
|
||||
while(fgets(buf, sizeof(buf), f) != NULL) {
|
||||
if (strstr(buf, "mmcblk0p10") != NULL) {
|
||||
c[0] = '1';
|
||||
c[1] = '\0';
|
||||
break;
|
||||
}
|
||||
if (strstr(buf, "mmcblk0p12") != NULL) {
|
||||
c[0] = '2';
|
||||
c[1] = '\0';
|
||||
break;
|
||||
}
|
||||
if (strstr(buf, "mmcblk0p14") != NULL) {
|
||||
c[0] = '3';
|
||||
c[1] = '\0';
|
||||
break;
|
||||
}
|
||||
if (strstr(buf, "mmcblk0p16") != NULL) {
|
||||
c[0] = '4';
|
||||
c[1] = '\0';
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
printf("VU+ not found.\n");
|
||||
#endif
|
||||
fclose(f);
|
||||
}
|
||||
#else
|
||||
char line[1024];
|
||||
char *pch;
|
||||
// first check for hd51 new layout
|
||||
f = fopen("/sys/firmware/devicetree/base/chosen/bootargs", "r");
|
||||
if (f)
|
||||
{
|
||||
if (fgets (line , sizeof(line), f) != NULL)
|
||||
{
|
||||
pch = strtok(line, " =");
|
||||
while (pch != NULL)
|
||||
{
|
||||
if (strncmp("linuxrootfs", pch, 11) == 0)
|
||||
{
|
||||
strncpy(c, pch + 11, 1);
|
||||
c[1] = '\0';
|
||||
dprintf(DEBUG_NORMAL, "[update] Current partition: %s\n", c);
|
||||
break;
|
||||
}
|
||||
pch = strtok(NULL, " =");
|
||||
}
|
||||
}
|
||||
fclose(f);
|
||||
}
|
||||
// if no new layout
|
||||
if (!atoi(c))
|
||||
{
|
||||
f = fopen("/sys/firmware/devicetree/base/chosen/kerneldev", "r");
|
||||
if (f)
|
||||
{
|
||||
if (fseek(f, -2, SEEK_END) == 0)
|
||||
{
|
||||
c[0] = fgetc(f);
|
||||
dprintf(DEBUG_NORMAL, "[update] Current partition: %s\n", c);
|
||||
}
|
||||
fclose(f);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
sprintf(c, "%d", getActivePartition());
|
||||
|
||||
// select partition
|
||||
int selected = 0;
|
||||
|
Reference in New Issue
Block a user