diff --git a/NeoBoot/tmpfiles/runpy/arm_run.py b/NeoBoot/tmpfiles/runpy/arm_run.py new file mode 100644 index 0000000..4e82498 --- /dev/null +++ b/NeoBoot/tmpfiles/runpy/arm_run.py @@ -0,0 +1,207 @@ +# -*- coding: utf-8 -*- + +#from __init__ import _ +from Plugins.Extensions.NeoBoot.__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.MessageBox import MessageBox +from Screens.ChoiceBox import ChoiceBox +from Screens.VirtualKeyBoard import VirtualKeyBoard +from Screens.Standby import TryQuitMainloop +from Components.About import about +from Screens.Console import Console +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 fileCheck, 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 + +LinkNeoBoot = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot' + + + +class StartImage(Screen): + screenwidth = getDesktop(0).size().width() + if screenwidth and screenwidth == 1920: + skin = """ + \n\t\t\t + \n\t\t\t\t + \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\n\t\t + \n + \n\t\t + \n\t\t """ + else: + skin = """ + \n\t\t\t + + \n\t\t\t\t + \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 + \n\t\t\n + + \n\t\t """ + + __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': + 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() )) + + if fileExists('/.multinfo') and getCPUtype() == 'ARMv7': + if os.path.exists('/proc/stb/info/boxtype'): + if getBoxHostName == 'sf4008': #getCPUSoC() == 'bcm7251' + os.system('mkdir -p /media/InternalFlash; mount /dev/mmcblk0p4 /media/InternalFlash') + + if os.path.exists('/proc/stb/info/boxtype'): + if getBoxHostName == 'et1x000': #getCPUSoC() == 'bcm7251' or + os.system('mkdir -p /media/InternalFlash; mount /dev/mmcblk0p4 /media/InternalFlash') + + if os.path.exists('/proc/stb/info/boxtype'): + if getBoxHostName == 'ax51': #getCPUSoC() == 'bcm7251s' or + os.system('mkdir -p /media/InternalFlash; mount /dev/mmcblk0p4 /media/InternalFlash') + + if os.path.exists('/proc/stb/info/boxtype'): + if getCPUSoC() == 'bcm7251s' or getBoxHostName() == 'h7': + os.system('mkdir -p /media/InternalFlash; mount /dev/mmcblk0p3 /media/InternalFlash') + + if os.path.exists('/proc/stb/info/boxtype'): + if getBoxHostName() == 'zgemmah9s': + os.system('mkdir -p /media/InternalFlash; mount /dev/mmcblk0p7 /media/InternalFlash') + +# if os.path.exists('/proc/stb/info/boxtype'): +# if getBoxHostName() == 'zgemmah9combo': +# os.system('mkdir -p /media/InternalFlash; mount /dev/mmcblk0p7 /media/InternalFlash') + + if getBoxHostName == 'sf8008': + os.system('mkdir -p /media/InternalFlash; mount /dev/mmcblk0p13 /media/InternalFlash') + + if getBoxHostName == 'ax60': + os.system('mkdir -p /media/InternalFlash; mount /dev/mmcblk0p21 /media/InternalFlash') + + if getBoxHostName() == 'ustym4kpro' or getTunerModel() == 'ustym4kpro': + os.system('mkdir -p /media/InternalFlash; mount /dev/mmcblk0p13 /media/InternalFlash') + + if os.path.exists('/proc/stb/info/model'): + if getTunerModel() == 'dm900' or getCPUSoC() == 'BCM97252SSFF': + os.system('mkdir -p /media/InternalFlash; mount /dev/mmcblk0p2 /media/InternalFlash') + + if getCPUSoC() == 'bcm7252s' or getBoxHostName() == 'gbquad4k': + os.system('mkdir -p /media/InternalFlash; mount /dev/mmcblk0p5 /media/InternalFlash') + + #if getBoxHostName == 'osmio4k': + #os.system('mkdir -p /media/InternalFlash; mount /dev/mmcblk0p5 /media/InternalFlash') + + system('chmod 755 ' + LinkNeoBoot + '/files/kernel.sh') + self.sel = self['list'].getCurrent() + if self.sel: + self.sel = self.sel[2] + if self.sel == 0: + if fileExists('/media/InternalFlash/etc/init.d/neobootmount.sh'): + os.system('rm -f /media/InternalFlash/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', + 'ax51', + 'bcm7251s', + 'h7', + 'hi3798mv200' + 'zgemmah9s', + 'bcm7252s', + 'gbquad4k', + 'ustym4kpro', + '3798mv200' + 'dm900', + 'tmtwin4k', + 'anadol4k', + 'protek4k', + 'maxytecmulti', + 'force3uhd', + 'viper4k'] : + if getImageNeoBoot() == 'Flash': + if fileExists('/.multinfo'): + os.system('cd /media/InternalFlash; ln -sfn /sbin/init.sysvinit /media/InternalFlash/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, _('It looks like it that multiboot does not support this STB.'), MessageBox.TYPE_INFO, 8) + self.close() + + + else: + os.system('echo "Flash " >> ' + getNeoLocation() + 'ImageBoot/.neonextboot') + self.messagebox = self.session.open(MessageBox, _('It looks like it that multiboot does not support this STB.'), MessageBox.TYPE_INFO, 8) + self.close() + + def myclose2(self, message): + self.session.open(MessageBox, message, MessageBox.TYPE_INFO) + self.close() diff --git a/NeoBoot/tmpfiles/runpy/duo4k_run.py b/NeoBoot/tmpfiles/runpy/duo4k_run.py new file mode 100644 index 0000000..65202e9 --- /dev/null +++ b/NeoBoot/tmpfiles/runpy/duo4k_run.py @@ -0,0 +1,159 @@ +# -*- coding: utf-8 -*- + +#from __init__ import _ +from Plugins.Extensions.NeoBoot.__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.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 fileCheck, 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 +if fileCheck('/etc/vtiversion.info'): + from Screens.Console import Console +elif not fileCheck('/etc/vtiversion.info'): + from files.neoconsole import Console +LinkNeoBoot = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot' + + +class StartImage(Screen): + screenwidth = getDesktop(0).size().width() + if screenwidth and screenwidth == 1920: + skin = """ + \n\t\t\t + \n\t\t\t\t + \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\n\t\t + \n + \n\t\t + \n\t\t """ + else: + skin = """ + \n\t\t\t + + \n\t\t\t\t + \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 + \n\t\t\n + + \n\t\t """ + + __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 = '' + LinkNeoBoot + '' + if not fileExists(mypath + 'icons'): + mypixmap = '' + LinkNeoBoot + '/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': + 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() )) + + if fileExists('/.multinfo') and getCPUtype() == 'ARMv7': + if getBoxVuModel() == 'duo4k': + os.system('mkdir -p /media/InternalFlash; mount /dev/mmcblk0p9 /media/InternalFlash') + + + system('chmod 755 ' + LinkNeoBoot + '/files/kernel.sh') + self.sel = self['list'].getCurrent() + if self.sel: + self.sel = self.sel[2] + if self.sel == 0: + if fileExists('/media/InternalFlash/etc/init.d/neobootmount.sh'): + os.system('rm -f /media/InternalFlash/etc/init.d/neobootmount.sh;') + +#################_____ARM____########################## + + #VUPLUS ARM - Duo4k vu_mmcblk0p6.sh + if getCPUSoC() == '7278' or getBoxHostName() == 'vuduo4k' : + if not fileExists('%sImagesUpload/.kernel/flash-kernel-%s.bin' % (getNeoLocation(), getBoxHostName()) ): + mess = (_('Error - in the location %sImagesUpload/.kernel/ \nkernel file not found flash-kernel-%s.bin') % (getNeoLocation(), getBoxHostName()) ) + self.session.open(MessageBox, mess, MessageBox.TYPE_INFO) + else: + if getImageNeoBoot() == 'Flash': + if fileExists('/.multinfo'): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'cd /media/InternalFlash; ln -sf "init.sysvinit" "/media/InternalFlash/sbin/init"; ' + LinkNeoBoot + '/files/kernel.sh ' + + elif not fileExists('/.multinfo'): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'sleep 5; ln -sf "init.sysvinit" "/sbin/init"; reboot -dfhi' + + elif getImageNeoBoot() != 'Flash': + if not fileExists('/.multinfo'): + if not fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'sleep 5; ln -sfn /sbin/neoinitarm /sbin/init; /etc/init.d/reboot' + + elif fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'ln -sfn /sbin/neoinitarmvu /sbin/init; ' + LinkNeoBoot + '/files/kernel.sh ' + + elif fileExists('/.multinfo'): + if not fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'dd if=' + getNeoLocation() + 'ImagesUpload/.kernel/flash-kernel-' + getBoxHostName() + '.bin of=/dev/mmcblk0p1; cd /media/InternalFlash; ln -sf "neoinitarm" "/media/InternalFlash/sbin/init" ; sleep 2; reboot -dfhi ' + + elif fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'cd /media/InternalFlash; ln -sf "neoinitarmvu" "/media/InternalFlash/sbin/init"; ' + LinkNeoBoot + '/files/kernel.sh ' + + self.session.open(Console, _('NeoBoot ARM '), [cmd, cmd1]) + self.close() + + else: + os.system('echo "Flash " >> ' + getNeoLocation() + 'ImageBoot/.neonextboot') + self.messagebox = self.session.open(MessageBox, _('It looks like it that multiboot does not support this STB.'), MessageBox.TYPE_INFO, 8) + self.close() diff --git a/NeoBoot/tmpfiles/runpy/findkerneldevice.py b/NeoBoot/tmpfiles/runpy/findkerneldevice.py new file mode 100644 index 0000000..2fc65f4 --- /dev/null +++ b/NeoBoot/tmpfiles/runpy/findkerneldevice.py @@ -0,0 +1,52 @@ +#!/usr/bin/python + +import os +import sys +import collections +import struct +import sys +import uuid + +# http://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_table_header_.28LBA_1.29 +GPT_HEADER_FORMAT = """ +8s signature +4s revision +L header_size +L crc32 +4x _ +Q current_lba +Q backup_lba +Q first_usable_lba +Q last_usable_lba +16s disk_guid +Q part_entry_start_lba +L num_part_entries +L part_entry_size +L crc32_part_array +""" + +# http://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_entries_.28LBA_2.E2.80.9333.29 +GPT_PARTITION_FORMAT = """ +16s type +16s unique +Q first_lba +Q last_lba +Q flags +72s name +""" + +file = '/boot/STARTUP' +myfile = open(file, 'r') +data = myfile.read().replace('\n', '') +myfile.close() + +rootfsdevice = data.split("=",1)[1].split(" ",1)[0] +kerneldevice = rootfsdevice[:-1] + str(int(rootfsdevice[-1:]) -1) + +if os.access('/dev/kernel', os.R_OK): + os.remove('/dev/kernel') + os.symlink(kerneldevice, '/dev/kernel') +else: + os.symlink(kerneldevice, '/dev/kernel') + +# print kerneldevice diff --git a/NeoBoot/tmpfiles/runpy/h7s_run.py b/NeoBoot/tmpfiles/runpy/h7s_run.py new file mode 100644 index 0000000..ddf6205 --- /dev/null +++ b/NeoBoot/tmpfiles/runpy/h7s_run.py @@ -0,0 +1,155 @@ +# -*- coding: utf-8 -*- + +from Plugins.Extensions.NeoBoot.__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.Console import Console +from Screens.Screen import Screen +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 fileCheck, 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 + +LinkNeoBoot = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot' + +class StartImage(Screen): + screenwidth = getDesktop(0).size().width() + if screenwidth and screenwidth == 1920: + skin = """ + \n\t\t\t + \n\t\t\t\t + \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\n\t\t + \n + \n\t\t + \n\t\t """ + else: + skin = """ + \n\t\t\t + + \n\t\t\t\t + \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 + \n\t\t\n + + \n\t\t """ + + __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 = '' + LinkNeoBoot + '' + if not fileExists(mypath + 'icons'): + mypixmap = '' + LinkNeoBoot + '/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': + 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() )) + + if fileExists('/.multinfo') and getCPUtype() == 'ARMv7': + if os.path.exists('/proc/stb/info/boxtype'): + if getCPUSoC() == 'bcm7251s' or getBoxHostName() == 'h7': + os.system('mkdir -p /media/InternalFlash; mount /dev/mmcblk0p3 /media/InternalFlash') + + system('chmod 755 ' + LinkNeoBoot + '/files/kernel.sh') + self.sel = self['list'].getCurrent() + if self.sel: + self.sel = self.sel[2] + if self.sel == 0: + if fileExists('/media/InternalFlash/etc/init.d/neobootmount.sh'): + os.system('rm -f /media/InternalFlash/etc/init.d/neobootmount.sh;') + + +#################_____ARM____########################## + #Zgemma h7S ARM ARM - h7s_mmcblk0p2.sh + if getBoxHostName() == 'h7' or getCPUSoC() == 'bcm7251s': + if not fileExists('%sImagesUpload/.kernel/flash-kernel-%s.bin' % (getNeoLocation(), getBoxHostName()) ): + mess = (_('Error - in the location %sImagesUpload/.kernel/ \nkernel file not found flash-kernel-%s.bin') % (getNeoLocation(), getBoxHostName()) ) + self.session.open(MessageBox, mess, MessageBox.TYPE_INFO) + else: + if getImageNeoBoot() == 'Flash': + if fileExists('/.multinfo'): + cmd = "echo -e '\n\n%s '" % _('NEOBOOT - Restart image flash....\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'cd /media/InternalFlash; ln -sf "init.sysvinit" "/media/InternalFlash/sbin/init"; ' + LinkNeoBoot + '/target/h7s_kernel.sh ' + + elif not fileExists('/.multinfo'): + cmd = "echo -e '\n\n%s '" % _('NEOBOOT - Restart image flash....\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'ln -sf "init.sysvinit" "/sbin/init"; reboot -f' + + elif getImageNeoBoot() != 'Flash': + if not fileExists('/.multinfo'): + if not fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('NEOBOOT - Restart image flash....\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'ln -sfn /sbin/neoinitarm /sbin/init; reboot -f' + + elif fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('NEOBOOT - Restart image flash....\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'ln -sfn /sbin/neoinitarm /sbin/init; ' + LinkNeoBoot + '/target/h7s_kernel.sh ' + + elif fileExists('/.multinfo'): + if not fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('NEOBOOT - Restart image flash....\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'python ' + LinkNeoBoot + '/target/findkerneldevice.py; dd if=%sImagesUpload/.kernel/flash-kernel-%s.bin of=/dev/kernel; cd /media/InternalFlash;ln -sf "neoinitarm" "/media/InternalFlash/sbin/init"; reboot -f' % getNeoLocation() % getBoxHostName() + + elif fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('NEOBOOT - Restart image flash....\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'cd /media/InternalFlash; ln -sf "neoinitarm" "/media/InternalFlash/sbin/init"; ' + LinkNeoBoot + '/target/h7s_kernel.sh ' + + self.session.open(Console, _('NeoBoot ARM'), [cmd, cmd1]) + self.close() + + else: + os.system('echo "Flash " >> ' + getNeoLocation() + 'ImageBoot/.neonextboot') + self.messagebox = self.session.open(MessageBox, _('It looks like it that multiboot does not support this STB.'), MessageBox.TYPE_INFO, 8) + self.close() diff --git a/NeoBoot/tmpfiles/runpy/mips_run.py b/NeoBoot/tmpfiles/runpy/mips_run.py new file mode 100644 index 0000000..48a1ab4 --- /dev/null +++ b/NeoBoot/tmpfiles/runpy/mips_run.py @@ -0,0 +1,153 @@ +# -*- coding: utf-8 -*- + +from Plugins.Extensions.NeoBoot.__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 = """ + \n\t\t\t + \n\t\t\t\t + \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\n\t\t + \n + \n\t\t + \n\t\t """ + else: + skin = """ + \n\t\t\t + + \n\t\t\t\t + \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 + \n\t\t\n + + \n\t\t """ + + __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': + 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') + self.sel = self['list'].getCurrent() + if self.sel: + self.sel = self.sel[2] + if self.sel == 0: + if fileExists('/media/InternalFlash/etc/init.d/neobootmount.sh'): + os.system('rm -f /media/InternalFlash/etc/init.d/neobootmount.sh;') + +#################_____MIPS____################################## + #MIPS procesor: MiracleBox, ET8500, Formuler F1, Formuler F3, Atemio6000 - MIPS # test - ultra, osmini + if getCPUtype() != 'ARMv7' and getCPUSoC() or getBoxHostName() == ['bcm7358', + 'ax60', + 'bcm7362', + 'bcm7356', + 'bcm7241', + 'bcm7362', + 'bcm73625' + 'mbmini', + 'h3', + 'ini-1000sv', + 'osmini' + 'formuler4turbo'] : + if getImageNeoBoot() == 'Flash': + self.session.open(TryQuitMainloop, 2) + 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/neoinitmips /sbin/init; reboot -d -f -h -i' + 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() + + elif getCPUtype() != 'ARMv7' and getCPUSoC() or getBoxHostName() == ['bcm7424', + 'mbultra', + 'ini-8000sv' ] : + if getImageNeoBoot() == 'Flash': + self.session.open(TryQuitMainloop, 2) + 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/neoinitmipsvu /sbin/init; reboot -d -f -h -i' + self.session.open(Console, _('NeoBoot ....'), [cmd, cmd1]) + else: + os.system('echo "Flash " >> ' + getNeoLocation() + 'ImageBoot/.neonextboot') + self.messagebox = self.session.open(MessageBox, _('It looks like it that multiboot does not support this STB.'), MessageBox.TYPE_INFO, 8) + self.close() + + else: + os.system('echo "Flash " >> ' + getNeoLocation() + 'ImageBoot/.neonextboot') + self.messagebox = self.session.open(MessageBox, _('It looks like it that multiboot does not support this STB.'), MessageBox.TYPE_INFO, 8) + self.close() + + def myclose2(self, message): + self.session.open(MessageBox, message, MessageBox.TYPE_INFO) + self.close() diff --git a/NeoBoot/tmpfiles/runpy/ustym4kpro.py b/NeoBoot/tmpfiles/runpy/ustym4kpro.py new file mode 100644 index 0000000..4c3464f --- /dev/null +++ b/NeoBoot/tmpfiles/runpy/ustym4kpro.py @@ -0,0 +1,157 @@ +# -*- coding: utf-8 -*- + +from Plugins.Extensions.NeoBoot.__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.Console import Console +from Screens.Screen import Screen +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 + +LinkNeoBoot = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot' + + +class StartImage(Screen): + screenwidth = getDesktop(0).size().width() + if screenwidth and screenwidth == 1920: + skin = """ + \n\t\t\t + \n\t\t\t\t + \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\n\t\t + \n + \n\t\t + \n\t\t """ + else: + skin = """ + \n\t\t\t + + \n\t\t\t\t + \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 + \n\t\t\n + + \n\t\t """ + + __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': + 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() )) + + if fileExists('/.multinfo') and getCPUtype() == 'ARMv7': + if getBoxHostName() == 'ustym4kpro' or getTunerModel() == 'ustym4kpro': + os.system('mkdir -p /media/InternalFlash; mount /dev/mmcblk0p13 /media/InternalFlash') + + system('chmod 755 ' + LinkNeoBoot + '/files/kernel.sh') + self.sel = self['list'].getCurrent() + if self.sel: + self.sel = self.sel[2] + if self.sel == 0: + if fileExists('/media/InternalFlash/etc/init.d/neobootmount.sh'): + os.system('rm -f /media/InternalFlash/etc/init.d/neobootmount.sh;') + +#################_____ARM____########################## + + #VUPLUS ARM ustym4kpro - kernel = mmcblk0p12 + if getCPUtype() == 'ARMv7' and getBoxHostName() == 'ustym4kpro': + if not fileExists('%sImagesUpload/.kernel/flash-kernel-%s.bin' % (getNeoLocation(), getBoxHostName()) ): + mess = (_('Error - in the location %sImagesUpload/.kernel/ \nkernel file not found flash-kernel-%s.bin') % (getNeoLocation(), getBoxHostName()) ) + self.session.open(MessageBox, mess, MessageBox.TYPE_INFO) + else: + if getImageNeoBoot() == 'Flash': + if fileExists('/.multinfo'): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'cd /media/InternalFlash; ln -sf "init.sysvinit" "/media/InternalFlash/sbin/init"; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh ' + + elif not fileExists('/.multinfo'): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'sleep 5; ln -sf "init.sysvinit" "/sbin/init"; reboot -dfhi' + + elif getImageNeoBoot() != 'Flash': + if not fileExists('/.multinfo'): + if not fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'sleep 5; ln -sfn /sbin/neoinitarm /sbin/init; /etc/init.d/reboot' + + elif fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'ln -sfn /sbin/neoinitarm /sbin/init; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh ' + + elif fileExists('/.multinfo'): + if not fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('NEOBOOT - Restart image flash....\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'python /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/findkerneldevice.py; dd if=%sImagesUpload/.kernel/flash-kernel-%s.bin of=/dev/kernel; cd /media/InternalFlash;ln -sf "neoinitarm" "/media/InternalFlash/sbin/init"; reboot -f' % getNeoLocation() % getBoxHostName() + + elif fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'cd /media/InternalFlash; ln -sf "neoinitarm" "/media/InternalFlash/sbin/init"; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh ' + + self.session.open(Console, _('NeoBoot ARM VU+....'), [cmd, cmd1]) + self.close() + + + else: + os.system('echo "Flash " >> ' + getNeoLocation() + 'ImageBoot/.neonextboot') + self.messagebox = self.session.open(MessageBox, _('It looks like it that multiboot does not support this STB.'), MessageBox.TYPE_INFO, 8) + self.close() + diff --git a/NeoBoot/tmpfiles/runpy/vu4k_run.py b/NeoBoot/tmpfiles/runpy/vu4k_run.py new file mode 100644 index 0000000..5d23ef7 --- /dev/null +++ b/NeoBoot/tmpfiles/runpy/vu4k_run.py @@ -0,0 +1,162 @@ +# -*- coding: utf-8 -*- + +from Plugins.Extensions.NeoBoot.__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.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 fileCheck, 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 +if fileCheck('/etc/vtiversion.info'): + from Screens.Console import Console +elif not fileCheck('/etc/vtiversion.info'): + from files.neoconsole import Console +LinkNeoBoot = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot' + +class StartImage(Screen): + screenwidth = getDesktop(0).size().width() + if screenwidth and screenwidth == 1920: + skin = """ + \n\t\t\t + \n\t\t\t\t + \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\n\t\t + \n + \n\t\t + \n\t\t """ + else: + skin = """ + \n\t\t\t + + \n\t\t\t\t + \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 + \n\t\t\n + + \n\t\t """ + + __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 = '' + LinkNeoBoot + '' + if not fileExists(mypath + 'icons'): + mypixmap = '' + LinkNeoBoot + '/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': + 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() )) + + if fileExists('/.multinfo') and getCPUtype() == 'ARMv7': + if getBoxVuModel() == 'uno4kse' or getBoxVuModel() == 'uno4k' or getBoxVuModel() == 'ultimo4k' or getBoxVuModel() == 'solo4k': + os.system('mkdir -p /media/InternalFlash; mount /dev/mmcblk0p4 /media/InternalFlash') + + system('chmod 755 ' + LinkNeoBoot + '/files/kernel.sh') + self.sel = self['list'].getCurrent() + if self.sel: + self.sel = self.sel[2] + if self.sel == 0: + if fileExists('/media/InternalFlash/etc/init.d/neobootmount.sh'): + os.system('rm -f /media/InternalFlash/etc/init.d/neobootmount.sh;') + +#################_____ARM____########################## + + #VUPLUS ARM ultimo4k, solo4k, uno4k, uno4kse - mmcblk0p1.sh + if getCPUtype() == 'ARMv7' and getCPUSoC() or getBoxHostName() == ['7444s', + '7376', + '7252s', + 'vuultimo4k' + 'vusolo4k', + 'vuuno4k', + 'vuuno4kse'] : + if not fileExists('%sImagesUpload/.kernel/flash-kernel-%s.bin' % (getNeoLocation(), getBoxHostName()) ): + mess = (_('Error - in the location %sImagesUpload/.kernel/ \nkernel file not found flash-kernel-%s.bin') % (getNeoLocation(), getBoxHostName()) ) + self.session.open(MessageBox, mess, MessageBox.TYPE_INFO) + else: + if getImageNeoBoot() == 'Flash': + if fileExists('/.multinfo'): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'cd /media/InternalFlash; ln -sf "init.sysvinit" "/media/InternalFlash/sbin/init"; ' + LinkNeoBoot + '/files/kernel.sh ' + + elif not fileExists('/.multinfo'): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'sleep 5; ln -sf "init.sysvinit" "/sbin/init"; reboot -dfhi' + + elif getImageNeoBoot() != 'Flash': + if not fileExists('/.multinfo'): + if not fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'sleep 5; ln -sfn /sbin/neoinitarm /sbin/init; /etc/init.d/reboot' + + elif fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'ln -sfn /sbin/neoinitarmvu /sbin/init; ' + LinkNeoBoot + '/files/kernel.sh ' + + elif fileExists('/.multinfo'): + if not fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'dd if=' + getNeoLocation() + 'ImagesUpload/.kernel/flash-kernel-' + getBoxHostName() + '.bin of=/dev/mmcblk0p1; cd /media/InternalFlash; ln -sf "neoinitarm" "/media/InternalFlash/sbin/init" ; sleep 2; reboot -dfhi ' + + elif fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'cd /media/InternalFlash; ln -sf "neoinitarmvu" "/media/InternalFlash/sbin/init"; ' + LinkNeoBoot + '/files/kernel.sh ' + + self.session.open(Console, _('NeoBoot ARM VU+....'), [cmd, cmd1]) + self.close() + + else: + os.system('echo "Flash " >> ' + getNeoLocation() + 'ImageBoot/.neonextboot') + self.messagebox = self.session.open(MessageBox, _('It looks like it that multiboot does not support this STB.'), MessageBox.TYPE_INFO, 8) + self.close() diff --git a/NeoBoot/tmpfiles/runpy/vu_mtd1_run.py b/NeoBoot/tmpfiles/runpy/vu_mtd1_run.py new file mode 100644 index 0000000..01f3bc6 --- /dev/null +++ b/NeoBoot/tmpfiles/runpy/vu_mtd1_run.py @@ -0,0 +1,153 @@ +# -*- coding: utf-8 -*- + +from Plugins.Extensions.NeoBoot.__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 = """ + \n\t\t\t + \n\t\t\t\t + \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\n\t\t + \n + \n\t\t + \n\t\t """ + else: + skin = """ + \n\t\t\t + + \n\t\t\t\t + \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 + \n\t\t\n + + \n\t\t """ + + __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': + 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') + self.sel = self['list'].getCurrent() + if self.sel: + self.sel = self.sel[2] + if self.sel == 0: + if fileExists('/media/InternalFlash/etc/init.d/neobootmount.sh'): + os.system('rm -f /media/InternalFlash/etc/init.d/neobootmount.sh;') + +#################_____mips___########################## + + #VUPLUS MIPS vu_dev_mtd1.sh + if getCPUSoC() == '7335' or getCPUSoC() == '7325' or getCPUSoC() == '7405' or getCPUSoC() == '7405(with 3D)' or getBoxHostName() == 'vuultimo' or getBoxHostName() == 'bm750' or getBoxHostName() == 'duo' or getBoxHostName() == 'vuuno' or getBoxHostName() == 'vusolo' or getBoxHostName() == 'vuduo': + if not fileExists('%sImagesUpload/.kernel/%s.vmlinux.gz' % (getNeoLocation(), getBoxHostName()) ): + self.myclose2(_('Error - in the location %sImagesUpload/.kernel/ \nkernel file not found flash kernel vmlinux.gz ' % getNeoLocation() )) + else: + + if getImageNeoBoot() == 'Flash': + if fileExists('/.multinfo'): + cmd = "echo -e '\n\n%s '" % _('...............NeoBoot REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh' + elif not fileExists('/.multinfo'): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT >> Reboot...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'ln -sfn /sbin/init.sysvinit /sbin/init; /etc/init.d/reboot' + + elif getImageNeoBoot() != 'Flash': + if not fileExists('/.multinfo'): + + if fileExists('' + getNeoLocation() + 'ImageBoot/' + getImageNeoBoot() + '/boot/' + getBoxHostName() + '.vmlinux.gz'): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT-REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'ln -sfn /sbin/neoinitmipsvu /sbin/init; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh' + + elif not fileExists('%sImageBoot/%s/boot/%s.vmlinux.gz' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT > REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'ln -sfn /sbin/neoinitmipsvu /sbin/init; /etc/init.d/reboot' + + elif fileExists('/.multinfo'): + if not fileExists('%sImageBoot/%s/boot/%s.vmlinux.gz' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT_REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'flash_eraseall /dev/mtd1; sleep 2; nandwrite -p /dev/mtd1 %sImagesUpload/.kernel/%s.vmlinux.gz; /etc/init.d/reboot' % getNeoLocation(), getBoxHostName() + + elif fileExists('%sImageBoot/%s/boot/%s.vmlinux.gz' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('...............REBOOT now...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh' + + self.session.open(Console, _('NeoBoot MIPS....'), [cmd, cmd1]) + self.close() + + else: + os.system('echo "Flash " >> ' + getNeoLocation() + 'ImageBoot/.neonextboot') + self.messagebox = self.session.open(MessageBox, _('It looks like it that multiboot does not support this STB.'), MessageBox.TYPE_INFO, 8) + self.close() + + def myclose2(self, message): + self.session.open(MessageBox, message, MessageBox.TYPE_INFO) + self.close() diff --git a/NeoBoot/tmpfiles/runpy/vu_mtd2_run.py b/NeoBoot/tmpfiles/runpy/vu_mtd2_run.py new file mode 100644 index 0000000..137d9b6 --- /dev/null +++ b/NeoBoot/tmpfiles/runpy/vu_mtd2_run.py @@ -0,0 +1,142 @@ +# -*- coding: utf-8 -*- + +from Plugins.Extensions.NeoBoot.__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 = """ + \n\t\t\t + \n\t\t\t\t + \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\n\t\t + \n + \n\t\t + \n\t\t """ + else: + skin = """ + \n\t\t\t + + \n\t\t\t\t + \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 + \n\t\t\n + + \n\t\t """ + + __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': + 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') + self.sel = self['list'].getCurrent() + if self.sel: + self.sel = self.sel[2] + if self.sel == 0: + if fileExists('/media/InternalFlash/etc/init.d/neobootmount.sh'): + os.system('rm -f /media/InternalFlash/etc/init.d/neobootmount.sh;') + +#################_____mips___########################## + + #VUPLUS MIPS vu_dev_mtd2.sh , #Miracle Box Ultra dev_mtd2.sh + if getCPUSoC() == '7356' or getCPUSoC() == '7429' or getCPUSoC() == '7424' or getCPUSoC() == '7241' or getCPUSoC() == '7362' or getBoxHostName() == 'vusolo2' or getBoxHostName() == 'vusolose' or getBoxHostName() == 'vuduo2' or getBoxHostName() == 'vuzero': + if not fileExists('%sImagesUpload/.kernel/%s.vmlinux.gz' % (getNeoLocation(), getBoxHostName()) ): + self.myclose2(_('Error - in the location %sImagesUpload/.kernel/ \nkernel file not found flash kernel vmlinux.gz ' % getNeoLocation() )) + else: + + if getImageNeoBoot() == 'Flash': + if fileExists('/.multinfo'): + cmd = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh' + elif not fileExists('/.multinfo'): + cmd = 'ln -sfn /sbin/init.sysvinit /sbin/init; /etc/init.d/reboot' + + elif getImageNeoBoot() != 'Flash': + if not fileExists('/.multinfo'): + if not fileExists('%sImageBoot/%s/boot/%s.vmlinux.gz' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + os.system('ln -sfn /sbin/neoinitmipsvu /sbin/init') + cmd = '/etc/init.d/reboot' + + elif fileExists('%sImageBoot/%s/boot/%s.vmlinux.gz' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + os.system('ln -sfn /sbin/neoinitmipsvu /sbin/init') + cmd = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh' + + elif fileExists('/.multinfo'): + if not fileExists('%sImageBoot/%s/boot/%s.vmlinux.gz' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = 'flash_eraseall /dev/mtd2; sleep 2; nandwrite -p /dev/mtd2 %sImagesUpload/.kernel/%s.vmlinux.gz; /etc/init.d/reboot' % getNeoLocation(), getBoxHostName() + elif fileExists('%sImageBoot/%s/boot/%s.vmlinux.gz' % ( getImageNeoBoot(), getBoxHostName())): + cmd = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh' + + self.session.open(Console, _('NeoBoot MIPS....'), [cmd]) + self.close() + + def myclose2(self, message): + self.session.open(MessageBox, message, MessageBox.TYPE_INFO) + self.close() diff --git a/NeoBoot/tmpfiles/runpy/zero4k_run.py b/NeoBoot/tmpfiles/runpy/zero4k_run.py new file mode 100644 index 0000000..33f1693 --- /dev/null +++ b/NeoBoot/tmpfiles/runpy/zero4k_run.py @@ -0,0 +1,156 @@ +# -*- coding: utf-8 -*- + +from Plugins.Extensions.NeoBoot.__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.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 fileCheck, 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 +if fileCheck('/etc/vtiversion.info'): + from Screens.Console import Console +elif not fileCheck('/etc/vtiversion.info'): + from files.neoconsole import Console +LinkNeoBoot = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot' + + +class StartImage(Screen): + screenwidth = getDesktop(0).size().width() + if screenwidth and screenwidth == 1920: + skin = """ + \n\t\t\t + \n\t\t\t\t + \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\n\t\t + \n + \n\t\t + \n\t\t """ + else: + skin = """ + \n\t\t\t + + \n\t\t\t\t + \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 + \n\t\t\n + + \n\t\t """ + + __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': + 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() )) + + if fileExists('/.multinfo') and getCPUtype() == 'ARMv7': + if getBoxVuModel() == 'zero4k': + os.system('mkdir -p /media/InternalFlash; mount /dev/mmcblk0p7 /media/InternalFlash') + + system('chmod 755 ' + LinkNeoBoot + '/files/kernel.sh') + self.sel = self['list'].getCurrent() + if self.sel: + self.sel = self.sel[2] + if self.sel == 0: + if fileExists('/media/InternalFlash/etc/init.d/neobootmount.sh'): + os.system('rm -f /media/InternalFlash/etc/init.d/neobootmount.sh;') + +#################_____ARM____########################## + #VUPLUS ARM - Zero4k vu_mmcblk0p4.sh + elif getBoxHostName() == 'vuzero4k' or getCPUSoC() == '72604': + if not fileExists('%sImagesUpload/.kernel/flash-kernel-%s.bin' % (getNeoLocation(), getBoxHostName()) ): + mess = (_('Error - in the location %sImagesUpload/.kernel/ \nkernel file not found flash-kernel-%s.bin') % (getNeoLocation(), getBoxHostName()) ) + self.session.open(MessageBox, mess, MessageBox.TYPE_INFO) + else: + if getImageNeoBoot() == 'Flash': + if fileExists('/.multinfo'): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'cd /media/InternalFlash; ln -sf "init.sysvinit" "/media/InternalFlash/sbin/init"; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh ' + + elif not fileExists('/.multinfo'): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'sleep 5; ln -sf "init.sysvinit" "/sbin/init"; reboot -dfhi' + + elif getImageNeoBoot() != 'Flash': + if not fileExists('/.multinfo'): + if not fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'sleep 5; ln -sfn /sbin/neoinitarm /sbin/init; /etc/init.d/reboot' + + elif fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'ln -sfn /sbin/neoinitarmvu /sbin/init; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh ' + + elif fileExists('/.multinfo'): + if not fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'dd if=' + getNeoLocation() + 'ImagesUpload/.kernel/flash-kernel-' + getBoxHostName() + '.bin of=/dev/mmcblk0p1; cd /media/InternalFlash; ln -sf "neoinitarm" "/media/InternalFlash/sbin/init" ; sleep 2; reboot -dfhi ' + + elif fileExists('%sImageBoot/%s/boot/zImage.%s' % ( getNeoLocation(), getImageNeoBoot(), getBoxHostName())): + cmd = "echo -e '\n\n%s '" % _('...............NEOBOOT - REBOOT...............\nPlease wait, in a moment the decoder will be restarted...') + cmd1 = 'cd /media/InternalFlash; ln -sf "neoinitarmvu" "/media/InternalFlash/sbin/init"; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh ' + + self.session.open(Console, _('NeoBoot ARM VU'), [cmd, cmd1]) + self.close() + + else: + os.system('echo "Flash " >> ' + getNeoLocation() + 'ImageBoot/.neonextboot') + self.messagebox = self.session.open(MessageBox, _('It looks like it that multiboot does not support this STB.'), MessageBox.TYPE_INFO, 8) + self.close() diff --git a/NeoBoot/tmpfiles/target/h7s_kernel.sh b/NeoBoot/tmpfiles/target/h7s_kernel.sh new file mode 100644 index 0000000..8a4e055 --- /dev/null +++ b/NeoBoot/tmpfiles/target/h7s_kernel.sh @@ -0,0 +1,119 @@ +#!/bin/sh +#script - gutosie +if `grep -q 'osd.language=pl_PL' $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + echo "STB: " $CHIPSET " "$BOXNAME" " + sync && echo 3 > /proc/sys/vm/drop_caches + sleep 5 + reboot -d -f + else + if [ $TARGET != "Flash" ]; then + if [ -e /.multinfo ] ; then + INFOBOOT=$( cat /.multinfo ) + if [ $TARGET = $INFOBOOT ] ; then + echo "NEOBOOT is booting image " $TARGET + else + [ $PL ] && echo "Przenoszenie pliku kernel do /tmp..." || echo "Moving the kernel file to..." + sleep 2 + cp -f $NEOBOOTMOUNT$IMAGE/$TARGET/boot/zImage.$BOXNAME /tmp/zImage + echo "Instalacja kernel do /dev/mmcblk0p..." + sleep 2 + if [ -d /proc/stb ] ; then + python /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/findkerneldevice.py + dd if=/tmp/zImage of=/dev/kernel + fi + echo "Start image z Flash..." + echo "Kernels for image " $TARGET " changed..." + echo "Start innego image z Flash za 5 sekund RESTART...... \n\n...................*REBOOT*..................." + fi + else + [ $PL ] && echo "Przenoszenie pliku kernel do /tmp..." || echo "Moving the kernel file to..." + sleep 2 + cp -fR $NEOBOOTMOUNT$IMAGE/$TARGET/boot/zImage.$BOXNAME /tmp/zImage + echo "Instalacja kernel bin do /dev/mmcblk0p..." + sleep 2 + if [ -d /proc/stb ] ; then + python /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/findkerneldevice.py + dd if=/tmp/zImage of=/dev/kernel + fi + echo "Kernel dla potrzeb startu systemu " $TARGET " zmieniony." + echo "Start innego image z Flash za 5 sekund RESTART...... \n\n...................-REBOOT-..................." + fi + rm -f /tmp/zImage + cat /dev/kernel | grep "kernel" + update-alternatives --remove vmlinux vmlinux-`uname -r` || true + echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + echo "STB: " $CHIPSET " "$BOXNAME" " + sync && echo 3 > /proc/sys/vm/drop_caches + sleep 5 + reboot -d -f + fi + fi +else + ln -sfn /sbin/init.sysvinit /sbin/init + echo "CHIPSET: " $CHIPSET " BOXNAME: "$BOXNAME" " + echo "$TARGET " > $NEOBOOTMOUNT/ImageBoot/.neonextboot + echo "Error - Nie wpierany model STB !!! " + exit 0 +fi +exit 0 \ No newline at end of file diff --git a/NeoBoot/tmpfiles/target/ustym4kpro.sh b/NeoBoot/tmpfiles/target/ustym4kpro.sh new file mode 100644 index 0000000..fc78148 --- /dev/null +++ b/NeoBoot/tmpfiles/target/ustym4kpro.sh @@ -0,0 +1,119 @@ +#!/bin/sh +#script - gutosie +if `grep -q 'osd.language=pl_PL' $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + echo "STB: " $CHIPSET " "$BOXNAME" " + sync && echo 3 > /proc/sys/vm/drop_caches + sleep 5 + reboot -d -f + else + if [ $TARGET != "Flash" ]; then + if [ -e /.multinfo ] ; then + INFOBOOT=$( cat /.multinfo ) + if [ $TARGET = $INFOBOOT ] ; then + echo "NEOBOOT is booting image " $TARGET + else + [ $PL ] && echo "Przenoszenie pliku kernel do /tmp..." || echo "Moving the kernel file to..." + sleep 2 + cp -f $NEOBOOTMOUNT$IMAGE/$TARGET/boot/zImage.$BOXNAME /tmp/zImage + echo "Instalacja kernel do /dev/mmcblk0p..." + sleep 2 + if [ -d /proc/stb ] ; then + python /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/findkerneldevice.py + dd if=/tmp/zImage of=/dev/kernel + fi + echo "Start image z Flash..." + echo "Kernels for image " $TARGET " changed..." + echo "Start innego image z Flash za 5 sekund RESTART...... \n\n...................*REBOOT*..................." + fi + else + [ $PL ] && echo "Przenoszenie pliku kernel do /tmp..." || echo "Moving the kernel file to..." + sleep 2 + cp -fR $NEOBOOTMOUNT$IMAGE/$TARGET/boot/zImage.$BOXNAME /tmp/zImage + echo "Instalacja kernel bin do /dev/mmcblk0p..." + sleep 2 + if [ -d /proc/stb ] ; then + python /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/findkerneldevice.py + dd if=/tmp/zImage of=/dev/kernel + fi + echo "Kernel dla potrzeb startu systemu " $TARGET " zmieniony." + echo "Start innego image z Flash za 5 sekund RESTART...... \n\n...................-REBOOT-..................." + fi + rm -f /tmp/zImage + cat /dev/kernel | grep "kernel" + update-alternatives --remove vmlinux vmlinux-`uname -r` || true + echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + echo "STB: " $CHIPSET " "$BOXNAME" " + sync && echo 3 > /proc/sys/vm/drop_caches + sleep 5 + reboot -d -f + fi + fi +else + ln -sfn /sbin/init.sysvinit /sbin/init + echo "CHIPSET: " $CHIPSET " BOXNAME: "$BOXNAME" " + echo "$TARGET " > $NEOBOOTMOUNT/ImageBoot/.neonextboot + echo "Error - Nie wpierany model STB !!! " + exit 0 +fi +exit 0 \ No newline at end of file diff --git a/NeoBoot/tmpfiles/target/vuDuo4Kmmcblk0p6.sh b/NeoBoot/tmpfiles/target/vuDuo4Kmmcblk0p6.sh new file mode 100644 index 0000000..955fae6 --- /dev/null +++ b/NeoBoot/tmpfiles/target/vuDuo4Kmmcblk0p6.sh @@ -0,0 +1,120 @@ +#!/bin/sh +#script - gutosie +if `grep -q 'osd.language=pl_PL' $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + echo "STB: " $CHIPSET " "$BOXNAME" "$VUMODEL" " + echo "...............shutdown now..............."; + sync && echo 3 > /proc/sys/vm/drop_caches + sleep 5 + echo -n "Rebooting... " + reboot -d -f + else + if [ $TARGET != "Flash" ]; then + [ $PL ] && echo "Przenoszenie pliku kernel do /tmp..." || echo "Moving the kernel file to..." + if [ -e /.multinfo ] ; then + INFOBOOT=$( cat /.multinfo ) + if [ $TARGET = $INFOBOOT ] ; then + echo "NEOBOOT is booting image " $TARGET + else + sleep 2 + cp -f $NEOBOOTMOUNT$IMAGE/$TARGET/boot/zImage.$BOXNAME /tmp/zImage + echo "Instalacja kernel do /dev/mmcblk0p6..." + sleep 2 + if [ -d /proc/stb ] ; then + dd if=/tmp/zImage of=/dev/mmcblk0p6 + fi + echo "Start image z Flash..." + echo "Kernels for image " $TARGET " changed..." + echo "Start innego image z Flash za 5 sekund RESTART...... \n\n...................*REBOOT*..................." + fi + else + sleep 2 + cp -fR $NEOBOOTMOUNT$IMAGE/$TARGET/boot/zImage.$BOXNAME /tmp/zImage + echo "Instalacja kernel bin do /dev/mmcblk0p6..." + sleep 2 + if [ -d /proc/stb ] ; then + dd if=/tmp/zImage of=/dev/mmcblk0p6 + fi + echo "Kernel dla potrzeb startu systemu " $TARGET " VU+ zmieniony." + echo "Start innego image z Flash za 5 sekund RESTART...... \n\n...................-REBOOT-..................." + fi + rm -f /tmp/zImage + cat /dev/mmcblk0p6 | grep "kernel" + update-alternatives --remove vmlinux vmlinux-`uname -r` || true + echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + echo "STB: " $CHIPSET " "$BOXNAME" "$VUMODEL" " + sync && echo 3 > /proc/sys/vm/drop_caches + sleep 5 + echo "...............shutdown now..............." + echo -n "Rebooting... " + reboot -d -f + + fi + fi +else + ln -sfn /sbin/init.sysvinit /sbin/init + echo "CHIPSET: " $CHIPSET " BOXNAME: "$BOXNAME" MODEL: "$VUMODEL" " + echo "$TARGET " > $NEOBOOTMOUNT/ImageBoot/.neonextboot + echo "Error - Nie wpierany model STB !!! " + exit 0 +fi +exit 0 \ No newline at end of file diff --git a/NeoBoot/tmpfiles/target/vuZero4Kmmcblk0p4.sh b/NeoBoot/tmpfiles/target/vuZero4Kmmcblk0p4.sh new file mode 100644 index 0000000..60635ac --- /dev/null +++ b/NeoBoot/tmpfiles/target/vuZero4Kmmcblk0p4.sh @@ -0,0 +1,124 @@ +#!/bin/sh +#script - gutosie +if `grep -q 'osd.language=pl_PL' $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + echo "CHIPSET: " $CHIPSET " BOXNAME: "$BOXNAME" MODEL: "$VUMODEL" " + sync && echo 3 > /proc/sys/vm/drop_caches + echo "...............shutdown now..............." + sleep 5 + echo -n "Rebooting... " + reboot -d -f + else + if [ $TARGET != "Flash" ]; then + if [ -e /.multinfo ] ; then + INFOBOOT=$( cat /.multinfo ) + if [ $TARGET = $INFOBOOT ] ; then + echo "NEOBOOT is booting image " $TARGET + else + [ $PL ] && echo "Przenoszenie pliku kernel do /tmp..." || echo "Moving the kernel file to..." + sleep 2 + cp -fR $NEOBOOTMOUNT$IMAGE/$TARGET/boot/zImage.$BOXNAME /tmp/zImage + echo "Instalacja kernel do /dev/mmcblk0p4..." + sleep 2 + if [ -d /proc/stb ] ; then + dd if=/tmp/zImage of=/dev/mmcblk0p4 + fi + echo "Start image z Flash..." + echo "Kernels for image " $TARGET " changed..." + echo "Start innego image z Flash za 5 sekund *RESTART*..." + fi + else + [ $PL ] && echo "Przenoszenie pliku kernel do /tmp..." || echo "Moving the kernel file to..." + sleep 2 + cp -fR $NEOBOOTMOUNT$IMAGE/$TARGET/boot/zImage.$BOXNAME /tmp/zImage + echo "Instalacja kernel bin do /dev/mmcblk0p4..." + sleep 2 + if [ -d /proc/stb ] ; then + dd if=/tmp/zImage of=/dev/mmcblk0p4 + fi + echo "Kernel dla potrzeb startu systemu " $TARGET " VU+ zmieniony." + echo "Start innego image z Flash za 5 sekund -RESTART-..." + fi + rm -f /tmp/zImage + cat /dev/mmcblk0p4 | grep "kernel" + update-alternatives --remove vmlinux vmlinux-`uname -r` || true + echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + echo "CHIPSET: " $CHIPSET " BOXNAME: "$BOXNAME" MODEL: "$VUMODEL" " + sync && echo 3 > /proc/sys/vm/drop_caches + echo "...............Shutdown Now..............." + sleep 5 + echo -n "Rebooting... " + reboot -d -f + fi + fi +else + ln -sfn /sbin/init.sysvinit /sbin/init + echo "CHIPSET: " $CHIPSET " BOXNAME: "$BOXNAME" MODEL: "$VUMODEL" " + echo "$TARGET " > $NEOBOOTMOUNT/ImageBoot/.neonextboot + echo "Error - Nie wpierany model STB !!! " + exit 0 +fi +exit 0 diff --git a/NeoBoot/tmpfiles/target/vu_dev_mtd1.sh b/NeoBoot/tmpfiles/target/vu_dev_mtd1.sh new file mode 100644 index 0000000..eb74ef3 --- /dev/null +++ b/NeoBoot/tmpfiles/target/vu_dev_mtd1.sh @@ -0,0 +1,125 @@ +#!/bin/sh +#script - gutosie + +if [ -f /proc/stb/info/vumodel ]; then + VUMODEL=$( cat /proc/stb/info/vumodel ) +fi + +if [ -f /proc/stb/info/boxtype ]; then + BOXTYPE=$( cat /proc/stb/info/boxtype ) +fi + +if [ -f /proc/stb/info/chipset ]; then + CHIPSET=$( cat /proc/stb/info/chipset ) +fi + +if [ -f /tmp/zImage.ipk ]; then + rm -f /tmp/zImage.ipk +fi + +if [ -f /tmp/zImage ]; then + rm -f /tmp/zImage +fi + +KERNEL=`uname -r` +IMAGE=ImageBoot +IMAGENEXTBOOT=/ImageBoot/.neonextboot +NEOBOOTMOUNT=$( cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location) +BOXNAME=$( cat /etc/hostname) +# $NEOBOOTMOUNT$IMAGE +# $NEOBOOTMOUNT +UPLOAD=ImagesUpload + +if [ -f $NEOBOOTMOUNT$IMAGENEXTBOOT ]; then + TARGET=`cat $NEOBOOTMOUNT$IMAGENEXTBOOT` +else + TARGET=Flash +fi + +if [ $VUMODEL = "bm750" ] || [ $VUMODEL = "duo" ] || [ $VUMODEL = "solo" ] || [ $VUMODEL = "uno" ] || [ $VUMODEL = "ultimo" ]; then + if [ $TARGET = "Flash" ]; then + if [ -e /.multinfo ]; then + if [ -f /proc/stb/info/vumodel ] || [ ! -e /proc/stb/info/boxtype ]; then + if [ -e $NEOBOOTMOUNT$UPLOAD/.kernel/$BOXNAME.vmlinux.gz ] ; then + echo "Kasowanie kernel z /dev/mtd1..." + sleep 2 + flash_eraseall /dev/mtd1 + echo "Instalacja kernel do /dev/mtd1..." + sleep 2 + nandwrite -p /dev/mtd1 $NEOBOOTMOUNT$UPLOAD/.kernel/$BOXNAME.vmlinux.gz + update-alternatives --remove vmlinux vmlinux-$KERNEL || true + fi + fi + fi + update-alternatives --remove vmlinux vmlinux-`uname -r` || true + echo "NEOBOOT is booting image from " $TARGET + echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + + elif [ ! -e /.multinfo ]; then + if [ -f /proc/stb/info/vumodel ] || [ ! -e /proc/stb/info/boxtype ]; then + if [ $VUMODEL = "bm750" ] || [ $VUMODEL = "duo" ] || [ $VUMODEL = "solo" ] || [ $VUMODEL = "uno" ] || [ $VUMODEL = "ultimo" ]; then + if [ -e $NEOBOOTMOUNT$UPLOAD/.kernel/$BOXNAME.vmlinux.gz ] ; then + echo "Kasowanie kernel z /dev/mtd1..." + sleep 2 + flash_eraseall /dev/mtd1 + echo "Wgrywanie kernel do /dev/mtd1..." + sleep 2 + nandwrite -p /dev/mtd1 $NEOBOOTMOUNT$UPLOAD/.kernel/$BOXNAME.vmlinux.gz + update-alternatives --remove vmlinux vmlinux-$KERNEL || true + fi + fi + update-alternatives --remove vmlinux vmlinux-`uname -r` || true + echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + echo " NEOBOOT - zainstalowano kernel-image - " $TARGET "Za chwile nastapi restart systemu !!!" + fi + echo "...............Shutdown Now..............." + sync && echo 3 > /proc/sys/vm/drop_caches + sleep 5 + reboot -d -f + else + if [ $TARGET != "Flash" ]; then + if [ -f /proc/stb/info/vumodel ] || [ ! -e /proc/stb/info/boxtype ] ; then + if [ $VUMODEL = "bm750" ] || [ $VUMODEL = "duo" ] || [ $VUMODEL = "solo" ] || [ $VUMODEL = "uno" ] || [ $VUMODEL = "ultimo" ]; then + if [ -e /.multinfo ] ; then + INFOBOOT=$( cat /.multinfo ) + if [ $TARGET = $INFOBOOT ] ; then + echo "NEOBOOT is booting image from " $TARGET + else + echo "Kasowanie kernel z /dev/mtd1" + sleep 2 + flash_eraseall /dev/mtd1 + echo "Wgrywanie kernel do /dev/mtd1" + sleep 2 + nandwrite -p /dev/mtd1 $NEOBOOTMOUNT$IMAGE/$TARGET/boot/$BOXNAME.vmlinux.gz + update-alternatives --remove vmlinux vmlinux-`uname -r` || true + echo "Kernel dla potrzeb startu systemu " $TARGET " z procesorem mips zostal zmieniony!!!" + echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + echo " NEOBOOT - zainstalowano kernel-image - " $TARGET "Za chwile nastapi restart systemu !!!" + fi + else + echo "Kasowanie kernel z /dev/mtd1" + sleep 2 + flash_eraseall /dev/mtd1 + echo "Wgrywanie kernel do /dev/mtd1" + sleep 2 + nandwrite -p /dev/mtd1 $NEOBOOTMOUNT$IMAGE/$TARGET/boot/$BOXNAME.vmlinux.gz + update-alternatives --remove vmlinux vmlinux-`uname -r` || true + echo "Kernel dla potrzeb startu systemu " $TARGET " z procesorem mips zostal zmieniony!!!" + echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + fi + echo "...............Shutdown Now..............." + sync && echo 3 > /proc/sys/vm/drop_caches + sleep 5 + reboot -d -f + fi + fi + fi + fi +else + ln -sfn /sbin/init.sysvinit /sbin/init + echo "CHIPSET: " $CHIPSET " BOXNAME: "$BOXNAME" MODEL: "$VUMODEL" " + echo "$TARGET " > $NEOBOOTMOUNT/ImageBoot/.neonextboot + echo "Error - Nie wpierany model STB !!! " + exit 0 +fi +exit 0 diff --git a/NeoBoot/tmpfiles/target/vu_dev_mtd2.sh b/NeoBoot/tmpfiles/target/vu_dev_mtd2.sh new file mode 100644 index 0000000..f23c51d --- /dev/null +++ b/NeoBoot/tmpfiles/target/vu_dev_mtd2.sh @@ -0,0 +1,123 @@ +#!/bin/sh +#script - gutosie + +if [ -f /proc/stb/info/vumodel ]; then + VUMODEL=$( cat /proc/stb/info/vumodel ) +fi + +if [ -f /proc/stb/info/boxtype ]; then + BOXTYPE=$( cat /proc/stb/info/boxtype ) +fi + +if [ -f /proc/stb/info/chipset ]; then + CHIPSET=$( cat /proc/stb/info/chipset ) +fi + +if [ -f /tmp/zImage.ipk ]; then + rm -f /tmp/zImage.ipk +fi + +if [ -f /tmp/zImage ]; then + rm -f /tmp/zImage +fi + +KERNEL=`uname -r` +IMAGE=ImageBoot +IMAGENEXTBOOT=/ImageBoot/.neonextboot +NEOBOOTMOUNT=$( cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location) +BOXNAME=$( cat /etc/hostname) +UPLOAD=ImagesUpload +# $NEOBOOTMOUNT$IMAGE +# $NEOBOOTMOUNT + +if [ -f $NEOBOOTMOUNT$IMAGENEXTBOOT ]; then + TARGET=`cat $NEOBOOTMOUNT$IMAGENEXTBOOT` +else + TARGET=Flash +fi + +if [ $BOXNAME = "mbultra" ] || [ $CHIPSET = "bcm7424" ] || [ $VUMODEL = "solo2" ] || [ $VUMODEL = "duo2" ] || [ $VUMODEL = "solose" ] || [ $VUMODEL = "zero" ]; then + if [ $TARGET = "Flash" ]; then + if [ -e /.multinfo ]; then + if [ -e $NEOBOOTMOUNT$UPLOAD/.kernel/$BOXNAME.vmlinux.gz ] ; then + echo "Kasowanie kernel z /dev/mtd2..." + flash_eraseall /dev/mtd2 + sleep 2 + echo "Instalacja kernel do /dev/mtd2..." + nandwrite -p /dev/mtd2 $NEOBOOTMOUNT$UPLOAD/.kernel/$BOXNAME.vmlinux.gz + update-alternatives --remove vmlinux vmlinux-$KERNEL || true + fi + update-alternatives --remove vmlinux vmlinux-`uname -r` || true + echo "NEOBOOT is booting image from " $TARGET + echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + echo " NEOBOOT - zainstalowano kernel-image - " $TARGET "Za chwile nastapi restart systemu !!!" + + elif [ ! -e /.multinfo ]; then + if [ -e $NEOBOOTMOUNT$UPLOAD/.kernel/$BOXNAME.vmlinux.gz ] ; then + echo "Kasowanie kernel z /dev/mtd2..." + sleep 2 + flash_eraseall /dev/mtd2 + echo "Wgrywanie kernel do /dev/mtd2..." + sleep 2 + nandwrite -p /dev/mtd2 $NEOBOOTMOUNT$UPLOAD/.kernel/$BOXNAME.vmlinux.gz + update-alternatives --remove vmlinux vmlinux-$KERNEL || true + fi + update-alternatives --remove vmlinux vmlinux-`uname -r` || true + echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + echo " NEOBOOT - zainstalowano kernel-image - " $TARGET "Za chwile nastapi restart systemu !!!" + fi + echo "...............Shutdown Now..............." + sync && echo 3 > /proc/sys/vm/drop_caches + sleep 5 + reboot -d -f + else + if [ $TARGET != "Flash" ]; then + if [ -e /.multinfo ] ; then + INFOBOOT=$( cat /.multinfo ) + if [ $TARGET = $INFOBOOT ] ; then + echo "NEOBOOT is booting image from " $TARGET + else + echo "Przenoszenie pliku kernel do /tmp" + sleep 2 + cp -f $NEOBOOTMOUNT$IMAGE/$TARGET/boot/$BOXNAME.vmlinux.gz /tmp/vmlinux.gz + echo "Kasowanie kernel z /dev/mtd2" + sleep 2 + flash_eraseall /dev/mtd2 + echo "Wgrywanie kernel do /dev/mtd2" + sleep 2 + nandwrite -p /dev/mtd2 /tmp/vmlinux.gz + rm -f //tmp/vmlinux.gz + update-alternatives --remove vmlinux vmlinux-`uname -r` || true + echo "Kernel dla potrzeb startu systemu " $TARGET " z procesorem mips zostal zmieniony!!!" + echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + echo "Typ procesora: " $CHIPSET " STB" + echo " NEOBOOT - zainstalowano kernel-image - " $TARGET "Za chwile nastapi restart systemu !!!" + fi + else + echo "Przenoszenie pliku kernel do /tmp" + sleep 2 + cp -f $NEOBOOTMOUNT$IMAGE/$TARGET/boot/$BOXNAME.vmlinux.gz /tmp/vmlinux.gz + echo "Kasowanie kernel z /dev/mtd2" + sleep 2 + flash_eraseall /dev/mtd2 + echo "Wgrywanie kernel do /dev/mtd2" + sleep 2 + nandwrite -p /dev/mtd2 /tmp/vmlinux.gz + rm -f /tmp/vmlinux.gz + update-alternatives --remove vmlinux vmlinux-`uname -r` || true + echo "Kernel dla potrzeb startu systemu " $TARGET " z procesorem mips zostal zmieniony!!!" + echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + echo "Typ procesora: " $CHIPSET " STB" + echo " NEOBOOT - zainstalowano kernel-image - " $TARGET "Za chwile nastapi restart systemu !!!" + fi + echo "...............shutdown now..............."; sleep 5; reboot -d -f -h -i + fi + fi +else + ln -sfn /sbin/init.sysvinit /sbin/init + echo "CHIPSET: " $CHIPSET " BOXNAME: "$BOXNAME" MODEL: "$VUMODEL" " + echo "$TARGET " > $NEOBOOTMOUNT/ImageBoot/.neonextboot + echo "Error - Nie wpierany model STB !!! " + exit 0 +fi +exit 0 diff --git a/NeoBoot/tmpfiles/target/vu_mmcblk0p1.sh b/NeoBoot/tmpfiles/target/vu_mmcblk0p1.sh new file mode 100644 index 0000000..cb18493 --- /dev/null +++ b/NeoBoot/tmpfiles/target/vu_mmcblk0p1.sh @@ -0,0 +1,123 @@ +#!/bin/sh +#script - gutosie +if `grep -q 'osd.language=pl_PL' $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + echo "CHIPSET: " $CHIPSET " BOXNAME: "$BOXNAME" MODEL: "$VUMODEL" " + echo "...............shutdown now..............."; sleep 5 + echo -n "Rebooting... " + sync && echo 3 > /proc/sys/vm/drop_caches + reboot -d -f + else + if [ $TARGET != "Flash" ]; then + if [ -e /.multinfo ] ; then + INFOBOOT=$( cat /.multinfo ) + if [ $TARGET = $INFOBOOT ] ; then + echo "NEOBOOT is booting image " $TARGET + else + [ $PL ] && echo "Przenoszenie pliku kernel do /tmp..." || echo "Moving the kernel file to..." + sleep 2 + cp -fR $NEOBOOTMOUNT$IMAGE/$TARGET/boot/zImage.$BOXNAME /tmp/zImage + echo "Instalacja kernel do /dev/mmcblk0p1..." + sleep 2 + if [ -d /proc/stb ] ; then + dd if=/tmp/zImage of=/dev/mmcblk0p1 + fi + echo "Start image z Flash..." + echo "Kernels for image " $TARGET " changed..." + echo "Start innego image z Flash za 5 sekund *RESTART*..." + fi + else + [ $PL ] && echo "Przenoszenie pliku kernel do /tmp..." || echo "Moving the kernel file to..." + sleep 2 + cp -fR $NEOBOOTMOUNT$IMAGE/$TARGET/boot/zImage.$BOXNAME /tmp/zImage + echo "Instalacja kernel bin do /dev/mmcblk0p1..." + sleep 2 + if [ -d /proc/stb ] ; then + dd if=/tmp/zImage of=/dev/mmcblk0p1 + fi + echo "Kernel dla potrzeb startu systemu " $TARGET " VU+ zmieniony." + echo "Start innego image z Flash za 5 sekund -RESTART-..." + fi + rm -f /tmp/zImage + cat /dev/mmcblk0p1 | grep "kernel" + update-alternatives --remove vmlinux vmlinux-`uname -r` || true + echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + echo "CHIPSET:"$CHIPSET $HARDWARETYPE" BOXNAME:"$BOXNAME" MODEL:"$VUMODEL" " + echo "...............Shutdown Now..............."; sleep 5 + echo -n "Rebooting... " + sync && echo 3 > /proc/sys/vm/drop_caches + reboot -d -f + fi + fi +else + ln -sfn /sbin/init.sysvinit /sbin/init + echo "CHIPSET: " $CHIPSET " BOXNAME: "$BOXNAME" MODEL: "$VUMODEL" " + echo "$TARGET " > $NEOBOOTMOUNT/ImageBoot/.neonextboot + echo "Error - Nie wpierany model STB !!! " + exit 0 +fi +exit 0 \ No newline at end of file