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