Jump to content


Photo

Zgemma H7S funktioniert kein Modus 12


  • Please log in to reply
52 replies to this topic

Re: Zgemma H7S funktioniert kein Modus 12 #41 mikel

  • Senior Member
  • 441 posts

0
Neutral

Posted 14 February 2020 - 12:33

I imported the latest ATV image, the Modus12 still works here, so they didn't make the change like PLI.

 

Or deactivate support for mode 12 if you have the old boot device (= OE-A).

 

How do I do that?


Edited by mikel, 14 February 2020 - 12:34.


Re: Zgemma H7S funktioniert kein Modus 12 #42 littlesat

  • PLi® Core member
  • 56,244 posts

+691
Excellent

Posted 14 February 2020 - 13:43

Mode 12 was not deactivated...

 

It seems this time that (this time) OpenATV (OE-A) uses an ancient version of the STARTUP device... So they depend on hard coded STARTUP file creation in enigma2... while our code now fully depends on the STARTUP_(LINUX)x_(MODE_x) files being present in the boot device. Upgrading the boot device does solves the issue.

 

The big question here is... should we re-add some hardcoded stuff... as actually it is wrong to leave it...

 

I'm in big doubts... I'm even thinking of disable mode 12 completely when the STARTUP...MODE_x files are not there... this stops the GSOD... and to see Mode_12 in openpli just upgrade the boot device. But I did also not find any method yet that can update the boot device quick and easily.


Edited by littlesat, 14 February 2020 - 13:45.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Zgemma H7S funktioniert kein Modus 12 #43 littlesat

  • PLi® Core member
  • 56,244 posts

+691
Excellent

Posted 14 February 2020 - 15:39

Hereby a suggestion that can make multiboot backwards compatible with the ancient boot devices...

 

Multiboot.py belongs to your box on /usr/lib/enigma2/python/Tools/Multiboot.py

SystemInfo.py belongs to your box on /usr/lib/enigma2/python/Components/SystemInfo.py

FlashImage.py belongs to your box on /usr/lib/enigma2/python/Screens/FlashImage.py

 

As I'm not near a box this change is not tested!!!

diff --git a/lib/python/Components/SystemInfo.py b/lib/python/Components/SystemInfo.py
index 0ca917ba6..638e4e0cc 100644
--- a/lib/python/Components/SystemInfo.py
+++ b/lib/python/Components/SystemInfo.py
@@ -110,8 +110,8 @@ SystemInfo["Has3DSurroundSoftLimiter"] = fileExists("/proc/stb/audio/3dsurround_
 SystemInfo["hasXcoreVFD"] = model in ('osmega','spycat4k','spycat4kmini','spycat4kcombo') and fileCheck("/sys/module/brcmstb_%s/parameters/pt6302_cgram" % model)
 SystemInfo["HasOfflineDecoding"] = model not in ('osmini', 'osminiplus', 'et7000mini', 'et11000', 'mbmicro', 'mbtwinplus', 'mbmicrov2', 'et7000', 'et8500')
 SystemInfo["MultibootStartupDevice"] = getMultibootStartupDevice()
-SystemInfo["canMultiBoot"] = getMultibootslots()
 SystemInfo["canMode12"] = "%s_4.boxmode" % model in cmdline and cmdline["%s_4.boxmode" % model] in ("1","12") and "192M"
+SystemInfo["canMultiBoot"] = getMultibootslots()
 SystemInfo["canFlashWithOfgwrite"] = not(model.startswith("dm"))
 SystemInfo["HDRSupport"] = fileExists("/proc/stb/hdmi/hlg_support_choices") and fileCheck("/proc/stb/hdmi/hlg_support")
 SystemInfo["CanDownmixAC3"] = fileHas("/proc/stb/audio/ac3_choices", "downmix")
diff --git a/lib/python/Screens/FlashImage.py b/lib/python/Screens/FlashImage.py
index 433d0272b..1938ce85b 100644
--- a/lib/python/Screens/FlashImage.py
+++ b/lib/python/Screens/FlashImage.py
@@ -481,7 +481,7 @@ class MultibootSelection(SelectImage):
                                                               shutil.copyfile("/tmp/startupmount/STARTUP_RECOVERY", "/tmp/startupmount/STARTUP")
                                               elif self.slot == "Android":
                                                               shutil.copyfile("/tmp/startupmount/STARTUP_ANDROID", "/tmp/startupmount/STARTUP")
-                                              else:
+                                             elif SystemInfo["canMultiBoot"][self.slot]['startupfile']:
                                                               if SystemInfo["canMode12"]:
                                                                               if self.slot < 12:
                                                                                              startupfile = "/tmp/startupmount/%s_BOXMODE_1" % SystemInfo["canMultiBoot"][self.slot]['startupfile']
@@ -490,6 +490,14 @@ class MultibootSelection(SelectImage):
                                                               else:
                                                                               startupfile = "/tmp/startupmount/%s" % SystemInfo["canMultiBoot"][self.slot]['startupfile']
                                                               shutil.copyfile(startupfile, "/tmp/startupmount/STARTUP")
+                                             else:
+                                                            model = HardwareInfo().get_machine_name()
+                                                            if self.slot < 12:
+                                                                            startupFileContents = "boot emmcflash0.kernel%s 'root=/dev/mmcblk0p%s rw rootwait %s_4.boxmode=1'\n" % (self.slot, self.slot * 2 + 1, model)
+                                                            else:
+                                                                            self.slot -= 12
+                                                                            startupFileContents = "boot emmcflash0.kernel%s 'brcm_cma=520M@248M brcm_cma=%s@768M root=/dev/mmcblk0p%s rw rootwait %s_4.boxmode=12'\n" % (self.slot, SystemInfo["canMode12"], self.slot * 2 + 1, model)
+                                                            open('/tmp/startupmount/STARTUP', 'w').write(startupFileContents)
                                               from Screens.Standby import TryQuitMainloop
                                               self.session.open(TryQuitMainloop, 2)
 
diff --git a/lib/python/Tools/Multiboot.py b/lib/python/Tools/Multiboot.py
index 3b9c425cf..f8b8ab6cc 100644
--- a/lib/python/Tools/Multiboot.py
+++ b/lib/python/Tools/Multiboot.py
@@ -22,9 +22,14 @@ def getparam(line, param):
 
 def getMultibootslots():
                bootslots = {}
+             mode12found = False
                if SystemInfo["MultibootStartupDevice"]:
                               for file in glob.glob(os.path.join(TMP_MOUNT, 'STARTUP_*')):
-                                              slotnumber = file.rsplit('_', 3 if 'BOXMODE' in file else 1)[1]
+                                             if 'BOXMODE' in file:
+                                                            mode12found = True
+                                                            slotnumber = file.rsplit('_', 3)[1]
+                                             else:
+                                                            slotnumber = file.rsplit('_', 1)[1]
                                               if slotnumber.isdigit() and slotnumber not in bootslots:
                                                               slot = {}
                                                               for line in open(file).readlines():
@@ -41,6 +46,10 @@ def getMultibootslots():
                               Console().ePopen('umount %s' % TMP_MOUNT)
                               if not os.path.ismount(TMP_MOUNT):
                                               os.rmdir(TMP_MOUNT)
+                             if not mode12found and SystemInfo["canMode12"]:
+                                             #the boot device has ancient content and does not contain the correct STARTUP files
+                                             for slot in range(1,5):
+                                                            bootslots[slot] = { 'device': '/dev/mmcblk0p%s' % slot * 2 + 1, 'startupfile': None}
                print '[Multiboot] Bootslots found:', bootslots
                return bootslots

Attached Files


Edited by littlesat, 14 February 2020 - 15:41.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Zgemma H7S funktioniert kein Modus 12 #44 mikel

  • Senior Member
  • 441 posts

0
Neutral

Posted 14 February 2020 - 16:47

Did that, is that right?

 

/ Usr / lib / enigma2 / python / Screens /
rename the .pyo file to -org.pyo and bring the modified .py file here.
- Restart Enigma

 

With FlashImage.py your box at /usr/lib/enigma2/python/Screens/FlashImage.py does not work, there is no new file.pyo,

What am I doing wrong or is there something else that I haven't done since my ET9000?



Re: Zgemma H7S funktioniert kein Modus 12 #45 mrvica

  • Senior Member
  • 1,224 posts

+81
Good

Posted 14 February 2020 - 16:56

yes, Flashimage.py didn´t get compiled, there is no Multiboot in Standby/Restart at all

Re: Zgemma H7S funktioniert kein Modus 12 #46 littlesat

  • PLi® Core member
  • 56,244 posts

+691
Excellent

Posted 14 February 2020 - 18:13

This is based op latest develop image not 7.2 release.... mmmmm I thought the issue was with release and for multiboot nothing is changed for 7.2..

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Zgemma H7S funktioniert kein Modus 12 #47 ims

  • PLi® Core member
  • 13,623 posts

+212
Excellent

Posted 14 February 2020 - 19:00

there must be

 

/dev/mmcblk0p%s' % (slot * 2 + 1) ... added brackets in Multiboot.py - line 52


Kdo nic nedělá, nic nezkazí!

Re: Zgemma H7S funktioniert kein Modus 12 #48 littlesat

  • PLi® Core member
  • 56,244 posts

+691
Excellent

Posted 14 February 2020 - 20:01

Thanks can you put a modified file here?

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Zgemma H7S funktioniert kein Modus 12 #49 mrvica

  • Senior Member
  • 1,224 posts

+81
Good

Posted 14 February 2020 - 20:09

I tried it, the same, no Multiboot at Standby/restart at all, I have 7.2 of 27.01.2020, please could you try it on 7.2 release, not develop



Re: Zgemma H7S funktioniert kein Modus 12 #50 littlesat

  • PLi® Core member
  • 56,244 posts

+691
Excellent

Posted 14 February 2020 - 20:27

On 7.2 it should be fine.... there were no changes there for a long long time.... but oe-a has ancient boot device content!!!! something we cannot solve...

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Zgemma H7S funktioniert kein Modus 12 #51 ims

  • PLi® Core member
  • 13,623 posts

+212
Excellent

Posted 14 February 2020 - 20:32

Here is fixed (brackets) Multiboot.zip

Attached Files


Kdo nic nedělá, nic nezkazí!

Re: Zgemma H7S funktioniert kein Modus 12 #52 littlesat

  • PLi® Core member
  • 56,244 posts

+691
Excellent

Posted 15 February 2020 - 08:50

I do not think this mod helps.... the source should be right. You need a boot device with the 9 STARTUP files with directory drived images.... when you have a oe-a (openafv) flashed as first image then you have an ancient boot device the. you miss indeed mode 12 in openpli unless you upgrade that part....

That mode 12 works with openatv is due to they do hacky stuff.... they even have mode 12 limitations in mode 1 which is wrong.

Edited by littlesat, 15 February 2020 - 08:51.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Zgemma H7S funktioniert kein Modus 12 #53 littlesat

  • PLi® Core member
  • 56,244 posts

+691
Excellent

Posted 15 February 2020 - 08:56

Then we have a different confusement.... I made changes to the boot stuff for develop and not for 7.2 release.... so it seems for 7.2 it already did somehow not work the mode 12
And that is something that should be a hotfix or we leave as is until 7.3 or 8.0.....
I was trying here to solve develop with my patched code and not 7.2!!!!

But still with 7.2 it seems only going wrong when the first flashed inage is an oe-a inage like openatv.... I would say try to put the correct files there and ensure you have the directory based multiboot on your box....

Edited by littlesat, 15 February 2020 - 08:58.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W



0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users