mirror of
https://mojerepo.cf/NeoBoot/NeoBoot-9.git
synced 2025-10-29 12:16:05 +01:00
add DM920
This commit is contained in:
158
NeoBoot/arm_run.py
Normal file
158
NeoBoot/arm_run.py
Normal file
@@ -0,0 +1,158 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
#echo "Flash " >> '+ getImageNeoBoot() + 'ImagesUpload/.kernel/used_flash_kernel;
|
||||
|
||||
from __init__ import _
|
||||
from Plugins.Extensions.NeoBoot.files.stbbranding import getNeoLocation, getKernelVersionString, getKernelImageVersion, getCPUtype, getCPUSoC, getImageNeoBoot, getBoxVuModel, getBoxHostName, getTunerModel
|
||||
from enigma import getDesktop
|
||||
from enigma import eTimer
|
||||
from Screens.Screen import Screen
|
||||
from Screens.Console import Console
|
||||
from Screens.MessageBox import MessageBox
|
||||
from Screens.ChoiceBox import ChoiceBox
|
||||
from Screens.VirtualKeyBoard import VirtualKeyBoard
|
||||
from Screens.Standby import TryQuitMainloop
|
||||
from Components.About import about
|
||||
from Components.Sources.List import List
|
||||
from Components.Button import Button
|
||||
from Components.ActionMap import ActionMap, NumberActionMap
|
||||
from Components.GUIComponent import *
|
||||
from Components.MenuList import MenuList
|
||||
from Components.Input import Input
|
||||
from Components.Label import Label
|
||||
from Components.ProgressBar import ProgressBar
|
||||
from Components.ScrollLabel import ScrollLabel
|
||||
from Components.Pixmap import Pixmap, MultiPixmap
|
||||
from Components.config import *
|
||||
from Components.ConfigList import ConfigListScreen
|
||||
from Tools.LoadPixmap import LoadPixmap
|
||||
from Tools.Directories import fileExists, pathExists, createDir, resolveFilename, SCOPE_PLUGINS
|
||||
from os import system, listdir, mkdir, chdir, getcwd, rename as os_rename, remove as os_remove, popen
|
||||
from os.path import dirname, isdir, isdir as os_isdir
|
||||
import os
|
||||
import time
|
||||
|
||||
|
||||
class StartImage(Screen):
|
||||
screenwidth = getDesktop(0).size().width()
|
||||
if screenwidth and screenwidth == 1920:
|
||||
skin = """<screen position="center, center" size="1241, 850" title="NeoBoot">
|
||||
\n\t\t\t<ePixmap position="491, 673" zPosition="-2" size="365, 160" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrixhd.png" />
|
||||
<widget source="list" render="Listbox" position="20, 171" size="1194, 290" scrollbarMode="showOnDemand">\n\t\t\t\t<convert type="TemplatedMultiContent">
|
||||
\n \t\t{"template": [
|
||||
\n \t\t\tMultiContentEntryText(pos = (90, 1), size = (920, 66), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
|
||||
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (8, 4), size = (66, 66), png = 1),
|
||||
\n \t\t\t],
|
||||
\n \t\t\t"fonts": [gFont("Regular", 40)],\n \t\t\t"itemHeight": 66\n \t\t}
|
||||
\n \t\t</convert>\n\t\t</widget>
|
||||
\n <widget name="label1" position="21, 29" zPosition="1" size="1184, 116" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
|
||||
\n\t\t <widget name="label2" position="22, 480" zPosition="-2" size="1205, 168" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
|
||||
\n\t\t </screen>"""
|
||||
else:
|
||||
skin = """<screen position="center, center" size="835, 500" title="NeoBoot">
|
||||
\n\t\t\t <ePixmap position="0,0" zPosition="-1" size="835,500" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/frame835x500.png" />
|
||||
<widget source="list" render="Listbox" position="16, 150" size="800, 40" selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/listselection800x35.png" scrollbarMode="showOnDemand">
|
||||
\n\t\t\t\t<convert type="TemplatedMultiContent">
|
||||
\n \t\t{"template": [
|
||||
\n \t\t\tMultiContentEntryText(pos = (180, 0), size = (520, 36), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
|
||||
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (4, 2), size = (36, 36), png = 1),
|
||||
\n \t\t\t],\n \t\t\t"fonts": [gFont("Regular", 22)],
|
||||
\n \t\t\t"itemHeight": 35\n \t\t}\n \t\t</convert>
|
||||
\n\t\t</widget>\n<widget name="label1" font="Regular; 26" position="15, 70" size="803, 58" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
|
||||
<widget name="label2" position="40, 232" zPosition="2" size="806, 294" font="Regular;25" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
|
||||
\n\t\t </screen>"""
|
||||
|
||||
__module__ = __name__
|
||||
def __init__(self, session):
|
||||
Screen.__init__(self, session)
|
||||
self.list = []
|
||||
self['list'] = List(self.list)
|
||||
self.select()
|
||||
self['actions'] = ActionMap(['WizardActions', 'ColorActions'], {'ok': self.KeyOk,
|
||||
'back': self.close})
|
||||
self['label1'] = Label(_('Start the chosen system now ?'))
|
||||
self['label2'] = Label(_('Select OK to run the image.'))
|
||||
|
||||
def select(self):
|
||||
self.list = []
|
||||
mypath = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot'
|
||||
if not fileExists(mypath + 'icons'):
|
||||
mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/ok.png'
|
||||
png = LoadPixmap(mypixmap)
|
||||
res = (_('OK Start image...'), png, 0)
|
||||
self.list.append(res)
|
||||
self['list'].list = self.list
|
||||
|
||||
def KeyOk(self):
|
||||
if getImageNeoBoot() != 'Flash':
|
||||
if not fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
|
||||
cmd = _("echo -e '[NeoBoot] Uwaga!!! po poprawnym starcie wybranego oprogramowania w neoboot,\nnalezy uruchomic NEOBOOTA by potwierdzic prawidlowy start image.\n\nNacisnij OK lub exit na pilocie by kontynuowac...\n\n\n'")
|
||||
self.session.openWithCallback(self.StartImageInNeoBoot, Console, _('NeoBoot: Start image...'), [cmd])
|
||||
else:
|
||||
os.system('rm -rf %sImageBoot/%s/usr/bin/enigma2_pre_start.sh' % ( getNeoLocation(), getImageNeoBoot()))
|
||||
self.StartImageInNeoBoot()
|
||||
else:
|
||||
os.system('rm -rf %sImageBoot/%s/usr/bin/enigma2_pre_start.sh' % ( getNeoLocation(), getImageNeoBoot()))
|
||||
self.StartImageInNeoBoot()
|
||||
|
||||
def StartImageInNeoBoot(self):
|
||||
if getImageNeoBoot() != 'Flash':
|
||||
if fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
|
||||
system('touch /tmp/.control_ok ')
|
||||
else:
|
||||
system('touch %sImageBoot/%s/.control_boot_new_image ' % ( getNeoLocation(), getImageNeoBoot() ))
|
||||
|
||||
system('chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo_location')
|
||||
self.sel = self['list'].getCurrent()
|
||||
if self.sel:
|
||||
self.sel = self.sel[2]
|
||||
if self.sel == 0:
|
||||
if fileExists('/media/mmc/etc/init.d/neobootmount.sh'):
|
||||
os.system('rm -f /media/mmc/etc/init.d/neobootmount.sh;')
|
||||
|
||||
#################_____ARM____##########################
|
||||
|
||||
#ARM procesor: DM900; AX HD60 4K
|
||||
if getCPUtype() == 'ARMv7' and getCPUSoC() or getBoxHostName() == ['osmio4k',
|
||||
'ax60',
|
||||
'sf8008',
|
||||
'bcm7251',
|
||||
'sf4008',
|
||||
'et1x000',
|
||||
'dm920',
|
||||
'bcm7251s',
|
||||
'h7',
|
||||
'hi3798mv200'
|
||||
'zgemmah9s',
|
||||
'bcm7252s',
|
||||
'gbquad4k',
|
||||
'ustym4kpro',
|
||||
'3798mv200'
|
||||
'dm900'] :
|
||||
if getImageNeoBoot() == 'Flash':
|
||||
if fileExists('/.multinfo'):
|
||||
os.system('cd /media/mmc; ln -sfn /sbin/init.sysvinit /media/mmc/sbin/init; reboot -f ')
|
||||
elif not fileExists('/.multinfo'):
|
||||
cmd = "echo -e '\n\n%s '" % _('NEOBOOT - Restart image flash....\nPlease wait, in a moment the decoder will be restarted...\n')
|
||||
cmd1='sleep 5; ln -sfn /sbin/init.sysvinit /sbin/init; reboot -f '
|
||||
self.session.open(Console, _('NeoBoot ....'), [cmd, cmd1])
|
||||
|
||||
elif getImageNeoBoot() != 'Flash':
|
||||
cmd = "echo -e '\n\n%s '" % _('NEOBOOT - Restart image flash....\nPlease wait, in a moment the decoder will be restarted...\n')
|
||||
cmd1='sleep 5; ln -sfn /sbin/neoinitarm /sbin/init; reboot -f '
|
||||
self.session.open(Console, _('NeoBoot ....'), [cmd, cmd1])
|
||||
|
||||
else:
|
||||
os.system('echo "Flash " >> ' + getNeoLocation() + 'ImageBoot/.neonextboot')
|
||||
self.messagebox = self.session.open(MessageBox, _('Wygląda na to że multiboot nie wspiera tego modelu STB !!! '), MessageBox.TYPE_INFO, 8)
|
||||
self.close()
|
||||
|
||||
|
||||
else:
|
||||
os.system('echo "Flash " >> ' + getNeoLocation() + 'ImageBoot/.neonextboot')
|
||||
self.messagebox = self.session.open(MessageBox, _('Wygląda na to że multiboot nie wspiera tego modelu STB !!! '), MessageBox.TYPE_INFO, 8)
|
||||
self.close()
|
||||
|
||||
def myclose2(self, message):
|
||||
self.session.open(MessageBox, message, MessageBox.TYPE_INFO)
|
||||
self.close()
|
||||
@@ -147,6 +147,11 @@ def NEOBootMainEx(source, target, stopenigma, CopyFiles, CopyKernel, TvList, Mon
|
||||
os.system('mv ' + getNeoLocation() + 'ImagesUpload/' + getBoxHostName() + '/kernel.bin ' + media_target + '/boot/zImage.' + getBoxHostName() + '' + dev_null)
|
||||
os.system('echo "Skopiowano kernel.bin STB-ARM GI ET-11000 4K."')
|
||||
|
||||
#arm Dreambox dm920
|
||||
elif getBoxHostName() == 'dm920':
|
||||
os.system('mv ' + getNeoLocation() + 'ImagesUpload/' + getBoxHostName() + '/kernel.bin ' + media_target + '/boot/zImage.' + getBoxHostName() + '' + dev_null)
|
||||
os.system('echo "Skopiowano kernel.bin STB-ARM DM920 4K."')
|
||||
|
||||
#arm Ariva 4K Combo
|
||||
elif getBoxHostName() == 'et1x000': #getCPUSoC() == 'bcm7251' or
|
||||
os.system('mv ' + getNeoLocation() + 'ImagesUpload/e2/update/kernel.bin ' + media_target + '/boot/zImage.' + getBoxHostName() + '' + dev_null)
|
||||
@@ -648,6 +653,8 @@ def RemoveUnpackDirs():
|
||||
rc = os.system('rm -r ' + getNeoLocation() + 'ImagesUpload/e2')
|
||||
elif os.path.exists('' + getNeoLocation() + 'ImagesUpload/et1x000'):
|
||||
rc = os.system('rm -r ' + getNeoLocation() + 'ImagesUpload/et1x000')
|
||||
elif os.path.exists('' + getNeoLocation() + 'ImagesUpload/dm920 '):
|
||||
rc = os.system('rm -r ' + getNeoLocation() + 'ImagesUpload/dm920 ')
|
||||
elif os.path.exists('' + getNeoLocation() + 'ImagesUpload/octagon/sf8008'):
|
||||
rc = os.system('mv ' + getNeoLocation() + 'ImagesUpload/usb_update.bin ' + getNeoLocation() + 'ImagesUpload/octagon; rm -r ' + getNeoLocation() + 'ImagesUpload/octagon')
|
||||
elif os.path.exists('' + getNeoLocation() + 'ImagesUpload/hd60'):
|
||||
@@ -1184,6 +1191,10 @@ def NEOBootExtract(source, target, ZipDelete, BlackHole):
|
||||
os.system('echo "Please wait. System installation Ferguson Ariva 4K Combo w toku..."')
|
||||
cmd = 'chmod 777 ' + getNeoLocation() + 'ImagesUpload/e2/update; tar -jxvf ' + getNeoLocation() + 'ImagesUpload/e2/update/rootfs.tar.bz2 -C ' + getNeoLocation() + 'ImageBoot/' + target + ' > /dev/null 2>&1'
|
||||
rc = os.system(cmd)
|
||||
elif os.path.exists('' + getNeoLocation() + 'ImagesUpload/e2/update'):
|
||||
os.system('echo "Please wait. System installation Ferguson Ariva 4K Combo w toku..."')
|
||||
cmd = 'chmod 777 ' + getNeoLocation() + 'ImagesUpload/dm920; tar -jxvf ' + getNeoLocation() + 'ImagesUpload/dm920/rootfs.tar.bz2 -C ' + getNeoLocation() + 'ImageBoot/' + target + ' > /dev/null 2>&1'
|
||||
rc = os.system(cmd)
|
||||
else:
|
||||
os.system('echo "NeoBoot wykrył dłąd!!! Prawdopodobnie brak pliku instalacyjnego."')
|
||||
|
||||
|
||||
@@ -605,7 +605,7 @@ class NeoBootInstallation(Screen):
|
||||
|
||||
|
||||
# ARM - OctagonSF4008 - DM900 - Zgemma h7S - Octagon sf 8008 - AX HD60 4K #gbquad4k arm , #osmio4k arm, #Zgemma h9 arm, #Zgemma h7S arm , #Octagon SF4008
|
||||
if getBoxHostName() == 'et1x000' or getBoxHostName() == 'ustym4kpro' or getTunerModel() == 'ustym4kpro' or getCPUSoC() == 'bcm7251' or getBoxHostName() == 'sf4008' or getCPUSoC() == 'bcm7251s' or getBoxHostName() == 'h7' or getCPUSoC() == 'bcm7252s' or getBoxHostName() == 'gbquad4k' or getBoxHostName == 'osmio4k' or getBoxHostName() == 'zgemmah9s' or getBoxHostName() == 'ax60' or getBoxHostName() == 'sf8008' or getCPUSoC() == 'bcm7251' or getCPUSoC() == 'BCM97252SSFF' or getBoxHostName() == 'dm900':
|
||||
if getBoxHostName() == 'dm920' or getBoxHostName() == 'et1x000' or getBoxHostName() == 'ustym4kpro' or getTunerModel() == 'ustym4kpro' or getCPUSoC() == 'bcm7251' or getBoxHostName() == 'sf4008' or getCPUSoC() == 'bcm7251s' or getBoxHostName() == 'h7' or getCPUSoC() == 'bcm7252s' or getBoxHostName() == 'gbquad4k' or getBoxHostName == 'osmio4k' or getBoxHostName() == 'zgemmah9s' or getBoxHostName() == 'ax60' or getBoxHostName() == 'sf8008' or getCPUSoC() == 'bcm7251' or getCPUSoC() == 'BCM97252SSFF' or getBoxHostName() == 'dm900':
|
||||
os.system('cp -f /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/neoinitarm /sbin/neoinitarm; chmod 0755 /sbin/neoinitarm; ln -sfn /sbin/neoinitarm /sbin/init; mv /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/arm_run.py /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/run.py; cd')
|
||||
|
||||
|
||||
@@ -1423,6 +1423,7 @@ valign="center" backgroundColor="black" transparent="1" foregroundColor="white"
|
||||
'bcm7251',
|
||||
'sf4008',
|
||||
'et1x000',
|
||||
'dm920',
|
||||
'bcm7251s',
|
||||
'7241',
|
||||
'h7',
|
||||
|
||||
@@ -112,6 +112,7 @@ class InstallImage(Screen, ConfigListScreen):
|
||||
'bcm7251',
|
||||
'sf4008',
|
||||
'et1x000',
|
||||
'dm920',
|
||||
'bcm7251s',
|
||||
'h7',
|
||||
'hi3798mv200'
|
||||
|
||||
Reference in New Issue
Block a user