Add files via upload

This commit is contained in:
gutosie
2020-01-07 11:16:53 +02:00
committed by GitHub
parent 66462793c0
commit 590fd8a5f7
17 changed files with 2283 additions and 0 deletions

156
NeoBoot/target/arm_run.py Normal file
View File

@@ -0,0 +1,156 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#echo "Flash " >> '+ getImageNeoBoot() + 'ImagesUpload/.kernel/used_flash_kernel;
from __init__ import _
from Plugins.Extensions.NeoBoot.files.stbbranding import getNeoLocation, getKernelVersionString, getKernelImageVersion, getCPUtype, getCPUSoC, getImageNeoBoot, getBoxVuModel, getBoxHostName, getTunerModel
from enigma import getDesktop
from enigma import eTimer
from Screens.Screen import Screen
from Screens.Console import Console
from Screens.MessageBox import MessageBox
from Screens.ChoiceBox import ChoiceBox
from Screens.VirtualKeyBoard import VirtualKeyBoard
from Screens.Standby import TryQuitMainloop
from Components.About import about
from Components.Sources.List import List
from Components.Button import Button
from Components.ActionMap import ActionMap, NumberActionMap
from Components.GUIComponent import *
from Components.MenuList import MenuList
from Components.Input import Input
from Components.Label import Label
from Components.ProgressBar import ProgressBar
from Components.ScrollLabel import ScrollLabel
from Components.Pixmap import Pixmap, MultiPixmap
from Components.config import *
from Components.ConfigList import ConfigListScreen
from Tools.LoadPixmap import LoadPixmap
from Tools.Directories import fileExists, pathExists, createDir, resolveFilename, SCOPE_PLUGINS
from os import system, listdir, mkdir, chdir, getcwd, rename as os_rename, remove as os_remove, popen
from os.path import dirname, isdir, isdir as os_isdir
import os
import time
class StartImage(Screen):
screenwidth = getDesktop(0).size().width()
if screenwidth and screenwidth == 1920:
skin = """<screen position="center, center" size="1241, 850" title="NeoBoot">
\n\t\t\t<ePixmap position="491, 673" zPosition="-2" size="365, 160" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrixhd.png" />
<widget source="list" render="Listbox" position="20, 171" size="1194, 290" scrollbarMode="showOnDemand">\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (90, 1), size = (920, 66), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (8, 4), size = (66, 66), png = 1),
\n \t\t\t],
\n \t\t\t"fonts": [gFont("Regular", 40)],\n \t\t\t"itemHeight": 66\n \t\t}
\n \t\t</convert>\n\t\t</widget>
\n <widget name="label1" position="21, 29" zPosition="1" size="1184, 116" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t <widget name="label2" position="22, 480" zPosition="-2" size="1205, 168" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t </screen>"""
else:
skin = """<screen position="center, center" size="835, 500" title="NeoBoot">
\n\t\t\t <ePixmap position="0,0" zPosition="-1" size="835,500" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/frame835x500.png" />
<widget source="list" render="Listbox" position="16, 150" size="800, 40" selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/listselection800x35.png" scrollbarMode="showOnDemand">
\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (180, 0), size = (520, 36), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (4, 2), size = (36, 36), png = 1),
\n \t\t\t],\n \t\t\t"fonts": [gFont("Regular", 22)],
\n \t\t\t"itemHeight": 35\n \t\t}\n \t\t</convert>
\n\t\t</widget>\n<widget name="label1" font="Regular; 26" position="15, 70" size="803, 58" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
<widget name="label2" position="40, 232" zPosition="2" size="806, 294" font="Regular;25" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
\n\t\t </screen>"""
__module__ = __name__
def __init__(self, session):
Screen.__init__(self, session)
self.list = []
self['list'] = List(self.list)
self.select()
self['actions'] = ActionMap(['WizardActions', 'ColorActions'], {'ok': self.KeyOk,
'back': self.close})
self['label1'] = Label(_('Start the chosen system now ?'))
self['label2'] = Label(_('Select OK to run the image.'))
def select(self):
self.list = []
mypath = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot'
if not fileExists(mypath + 'icons'):
mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/ok.png'
png = LoadPixmap(mypixmap)
res = (_('OK Start image...'), png, 0)
self.list.append(res)
self['list'].list = self.list
def KeyOk(self):
if getImageNeoBoot() != 'Flash':
if not fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
cmd = _("echo -e '[NeoBoot] Uwaga!!! po poprawnym starcie wybranego oprogramowania w neoboot,\nnalezy uruchomic NEOBOOTA by potwierdzic prawidlowy start image.\n\nNacisnij OK lub exit na pilocie by kontynuowac...\n\n\n'")
self.session.openWithCallback(self.StartImageInNeoBoot, Console, _('NeoBoot: Start image...'), [cmd])
else:
os.system('rm -rf %sImageBoot/%s/usr/bin/enigma2_pre_start.sh' % ( getNeoLocation(), getImageNeoBoot()))
self.StartImageInNeoBoot()
else:
os.system('rm -rf %sImageBoot/%s/usr/bin/enigma2_pre_start.sh' % ( getNeoLocation(), getImageNeoBoot()))
self.StartImageInNeoBoot()
def StartImageInNeoBoot(self):
if getImageNeoBoot() != 'Flash':
if fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
system('touch /tmp/.control_ok ')
else:
system('touch %sImageBoot/%s/.control_boot_new_image ' % ( getNeoLocation(), getImageNeoBoot() ))
system('chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo_location')
self.sel = self['list'].getCurrent()
if self.sel:
self.sel = self.sel[2]
if self.sel == 0:
if fileExists('/media/mmc/etc/init.d/neobootmount.sh'):
os.system('rm -f /media/mmc/etc/init.d/neobootmount.sh;')
#################_____ARM____##########################
#ARM procesor: DM900; AX HD60 4K
if getCPUtype() == 'ARMv7' and getCPUSoC() or getBoxHostName() == ['osmio4k',
'ax60',
'sf8008',
'bcm7251',
'sf4008',
'bcm7251s',
'h7',
'hi3798mv200'
'zgemmah9s',
'bcm7252s',
'gbquad4k',
'ustym4kpro',
'3798mv200'
'dm900'] :
if getImageNeoBoot() == 'Flash':
if fileExists('/.multinfo'):
os.system('cd /media/mmc; ln -sfn /sbin/init.sysvinit /media/mmc/sbin/init; reboot -f ')
elif not fileExists('/.multinfo'):
cmd = "echo -e '\n\n%s '" % _('NEOBOOT - Restart image flash....\nPlease wait, in a moment the decoder will be restarted...\n')
cmd1='sleep 5; ln -sfn /sbin/init.sysvinit /sbin/init; reboot -f '
self.session.open(Console, _('NeoBoot ....'), [cmd, cmd1])
elif getImageNeoBoot() != 'Flash':
cmd = "echo -e '\n\n%s '" % _('NEOBOOT - Restart image flash....\nPlease wait, in a moment the decoder will be restarted...\n')
cmd1='sleep 5; ln -sfn /sbin/neoinitarm /sbin/init; reboot -f '
self.session.open(Console, _('NeoBoot ....'), [cmd, cmd1])
else:
os.system('echo "Flash " >> ' + getNeoLocation() + 'ImageBoot/.neonextboot')
self.messagebox = self.session.open(MessageBox, _('Wygląda na to że multiboot nie wspiera tego modelu STB !!! '), MessageBox.TYPE_INFO, 8)
self.close()
else:
os.system('echo "Flash " >> ' + getNeoLocation() + 'ImageBoot/.neonextboot')
self.messagebox = self.session.open(MessageBox, _('Wygląda na to że multiboot nie wspiera tego modelu STB !!! '), MessageBox.TYPE_INFO, 8)
self.close()
def myclose2(self, message):
self.session.open(MessageBox, message, MessageBox.TYPE_INFO)
self.close()

159
NeoBoot/target/duo4k_run.py Normal file
View File

@@ -0,0 +1,159 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#echo "Flash " >> '+ getImageNeoBoot() + 'ImagesUpload/.kernel/used_flash_kernel;
from __init__ import _
from Plugins.Extensions.NeoBoot.files.stbbranding import getNeoLocation, getKernelVersionString, getKernelImageVersion, getCPUtype, getCPUSoC, getImageNeoBoot, getBoxVuModel, getBoxHostName, getTunerModel
from enigma import getDesktop
from enigma import eTimer
from Screens.Screen import Screen
from Screens.Console import Console
from Screens.MessageBox import MessageBox
from Screens.ChoiceBox import ChoiceBox
from Screens.VirtualKeyBoard import VirtualKeyBoard
from Screens.Standby import TryQuitMainloop
from Components.About import about
from Components.Sources.List import List
from Components.Button import Button
from Components.ActionMap import ActionMap, NumberActionMap
from Components.GUIComponent import *
from Components.MenuList import MenuList
from Components.Input import Input
from Components.Label import Label
from Components.ProgressBar import ProgressBar
from Components.ScrollLabel import ScrollLabel
from Components.Pixmap import Pixmap, MultiPixmap
from Components.config import *
from Components.ConfigList import ConfigListScreen
from Tools.LoadPixmap import LoadPixmap
from Tools.Directories import fileExists, pathExists, createDir, resolveFilename, SCOPE_PLUGINS
from os import system, listdir, mkdir, chdir, getcwd, rename as os_rename, remove as os_remove, popen
from os.path import dirname, isdir, isdir as os_isdir
import os
import time
class StartImage(Screen):
screenwidth = getDesktop(0).size().width()
if screenwidth and screenwidth == 1920:
skin = """<screen position="center, center" size="1241, 850" title="NeoBoot">
\n\t\t\t<ePixmap position="491, 673" zPosition="-2" size="365, 160" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrixhd.png" />
<widget source="list" render="Listbox" position="20, 171" size="1194, 290" scrollbarMode="showOnDemand">\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (90, 1), size = (920, 66), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (8, 4), size = (66, 66), png = 1),
\n \t\t\t],
\n \t\t\t"fonts": [gFont("Regular", 40)],\n \t\t\t"itemHeight": 66\n \t\t}
\n \t\t</convert>\n\t\t</widget>
\n <widget name="label1" position="21, 29" zPosition="1" size="1184, 116" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t <widget name="label2" position="22, 480" zPosition="-2" size="1205, 168" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t </screen>"""
else:
skin = """<screen position="center, center" size="835, 500" title="NeoBoot">
\n\t\t\t <ePixmap position="0,0" zPosition="-1" size="835,500" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/frame835x500.png" />
<widget source="list" render="Listbox" position="16, 150" size="800, 40" selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/listselection800x35.png" scrollbarMode="showOnDemand">
\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (180, 0), size = (520, 36), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (4, 2), size = (36, 36), png = 1),
\n \t\t\t],\n \t\t\t"fonts": [gFont("Regular", 22)],
\n \t\t\t"itemHeight": 35\n \t\t}\n \t\t</convert>
\n\t\t</widget>\n<widget name="label1" font="Regular; 26" position="15, 70" size="803, 58" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
<widget name="label2" position="40, 232" zPosition="2" size="806, 294" font="Regular;25" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
\n\t\t </screen>"""
__module__ = __name__
def __init__(self, session):
Screen.__init__(self, session)
self.list = []
self['list'] = List(self.list)
self.select()
self['actions'] = ActionMap(['WizardActions', 'ColorActions'], {'ok': self.KeyOk,
'back': self.close})
self['label1'] = Label(_('Start the chosen system now ?'))
self['label2'] = Label(_('Select OK to run the image.'))
def select(self):
self.list = []
mypath = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot'
if not fileExists(mypath + 'icons'):
mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/ok.png'
png = LoadPixmap(mypixmap)
res = (_('OK Start image...'), png, 0)
self.list.append(res)
self['list'].list = self.list
def KeyOk(self):
if getImageNeoBoot() != 'Flash':
if not fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
cmd = _("echo -e '[NeoBoot] Uwaga!!! po poprawnym starcie wybranego oprogramowania w neoboot,\nnalezy uruchomic NEOBOOTA by potwierdzic prawidlowy start image.\n\nNacisnij OK lub exit na pilocie by kontynuowac...\n\n\n'")
self.session.openWithCallback(self.StartImageInNeoBoot, Console, _('NeoBoot: Start image...'), [cmd])
else:
os.system('rm -rf %sImageBoot/%s/usr/bin/enigma2_pre_start.sh' % ( getNeoLocation(), getImageNeoBoot()))
self.StartImageInNeoBoot()
else:
os.system('rm -rf %sImageBoot/%s/usr/bin/enigma2_pre_start.sh' % ( getNeoLocation(), getImageNeoBoot()))
self.StartImageInNeoBoot()
def StartImageInNeoBoot(self):
if getImageNeoBoot() != 'Flash':
if fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
system('touch /tmp/.control_ok ')
else:
system('touch %sImageBoot/%s/.control_boot_new_image ' % ( getNeoLocation(), getImageNeoBoot() ))
system('chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/*')
self.sel = self['list'].getCurrent()
if self.sel:
self.sel = self.sel[2]
if self.sel == 0:
if fileExists('/media/mmc/etc/init.d/neobootmount.sh'):
os.system('rm -f /media/mmc/etc/init.d/neobootmount.sh;')
#################_____ARM____##########################
#VUPLUS ARM - Duo4k vu_mmcblk0p6.sh
if getCPUSoC() == '7278' or getBoxHostName() == 'vuduo4k' :
if not fileExists('%sImagesUpload/.kernel/flash-kernel-%s.bin' % (getNeoLocation(), getBoxHostName()) ):
self.myclose2(_('\n\n\nError - w lokalizacji %sImagesUpload/.kernel/ \nnie odnaleziono pliku kernela flash-kernel-%s.bin ' % getNeoLocation(), getBoxHostName() ))
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/mmc; ln -sf "init.sysvinit" "/media/mmc/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/mmc; ln -sf "neoinitarm" "/media/mmc/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/mmc; ln -sf "neoinitarmvu" "/media/mmc/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, _('Wygląda na to że multiboot nie wspiera tego modelu STB !!! '), MessageBox.TYPE_INFO, 8)
self.close()
def myclose2(self, message):
self.session.open(MessageBox, message, MessageBox.TYPE_INFO)
self.close()

View File

@@ -0,0 +1,53 @@
#!/usr/bin/python
#!/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

View File

@@ -0,0 +1,115 @@
#!/bin/sh
#script - gutosie
if `grep -q 'osd.language=pl_PL' </etc/enigma2/settings`; then
PL=1
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 ]; 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
echo "NEOBOOT is booting image from " $TARGET
if [ $BOXNAME = "h7" ] || [ $CHIPSET = "bcm7251s" ]; then
if [ $TARGET = "Flash" ]; then
if [ -e /.multinfo ]; then
[ $PL ] && echo "Instalacja pliku kernel bin /dev/mmcblk0p......" || echo "Instaling kernel bin file /dev/mmcblk0p... "
cd /media/mmc; ln -sfn /sbin/init.sysvinit /media/mmc/sbin/init
if [ -e $NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin ] ; then
if [ -d /proc/stb ] ; then
python /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/findkerneldevice.py
dd if=$NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin conv=noerror conv=sync of=/dev/kernel
fi
echo "Boot - Flash. "
echo "Start image Flash z dysku hdd lub usb za 5 sekund RESTART...; \n\n..................._REBOOT_..................."
fi
elif [ ! -e /.multinfo ]; then
[ $PL ] && echo "Instalacja pliku kernel bin /dev/mmcblk0p......" || echo "Instaling kernel bin file /dev/mmcblk0p... "
if [ -e $NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin ] ; then
[ $PL ] && echo "Instalacja pliku kernel bin..." || echo "Instaling kernel bin file "
if [ -d /proc/stb ] ; then
python /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/findkerneldevice.py
dd if=$NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin conv=noerror conv=sync of=/dev/kernel
fi
echo "Start-restart Flash image..."
echo "Reboot image Flash za 5 sekund RESTART...; \n\n...................=REBOOT=..................."
fi
fi
update-alternatives --remove vmlinux vmlinux-`uname -r` || true
[ $PL ] && echo " Zainstalowano kernel image " $TARGET " " || echo " Installed kernel image - "$TARGET" "
cat /dev/kernel | grep "kernel"
echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel
echo "STB: " $CHIPSET " "$BOXNAME" "
sleep 5; reboot -d -f -h -i
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" "
sleep 5; reboot -d -f -h -i
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

157
NeoBoot/target/h7s_run.py Normal file
View File

@@ -0,0 +1,157 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#echo "Flash " >> '+ getImageNeoBoot() + 'ImagesUpload/.kernel/used_flash_kernel;
from __init__ import _
from Plugins.Extensions.NeoBoot.files import Harddisk
from Plugins.Extensions.NeoBoot.files.stbbranding import getNeoLocation, getKernelVersionString, getKernelImageVersion, getCPUtype, getCPUSoC, getImageNeoBoot, getBoxVuModel, getBoxHostName, getTunerModel
from enigma import getDesktop
from enigma import eTimer
from Screens.Screen import Screen
from Screens.Console import Console
from Screens.MessageBox import MessageBox
from Screens.ChoiceBox import ChoiceBox
from Screens.VirtualKeyBoard import VirtualKeyBoard
from Screens.Standby import TryQuitMainloop
from Components.About import about
from Components.Sources.List import List
from Components.Button import Button
from Components.ActionMap import ActionMap, NumberActionMap
from Components.GUIComponent import *
from Components.MenuList import MenuList
from Components.Input import Input
from Components.Label import Label
from Components.ProgressBar import ProgressBar
from Components.ScrollLabel import ScrollLabel
from Components.Pixmap import Pixmap, MultiPixmap
from Components.config import *
from Components.ConfigList import ConfigListScreen
from Tools.LoadPixmap import LoadPixmap
from Tools.Directories import fileExists, pathExists, createDir, resolveFilename, SCOPE_PLUGINS
from os import system, listdir, mkdir, chdir, getcwd, rename as os_rename, remove as os_remove, popen
from os.path import dirname, isdir, isdir as os_isdir
import os
import time
class StartImage(Screen):
screenwidth = getDesktop(0).size().width()
if screenwidth and screenwidth == 1920:
skin = """<screen position="center, center" size="1241, 850" title="NeoBoot">
\n\t\t\t<ePixmap position="491, 673" zPosition="-2" size="365, 160" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrixhd.png" />
<widget source="list" render="Listbox" position="20, 171" size="1194, 290" scrollbarMode="showOnDemand">\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (90, 1), size = (920, 66), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (8, 4), size = (66, 66), png = 1),
\n \t\t\t],
\n \t\t\t"fonts": [gFont("Regular", 40)],\n \t\t\t"itemHeight": 66\n \t\t}
\n \t\t</convert>\n\t\t</widget>
\n <widget name="label1" position="21, 29" zPosition="1" size="1184, 116" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t <widget name="label2" position="22, 480" zPosition="-2" size="1205, 168" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t </screen>"""
else:
skin = """<screen position="center, center" size="835, 500" title="NeoBoot">
\n\t\t\t <ePixmap position="0,0" zPosition="-1" size="835,500" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/frame835x500.png" />
<widget source="list" render="Listbox" position="16, 150" size="800, 40" selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/listselection800x35.png" scrollbarMode="showOnDemand">
\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (180, 0), size = (520, 36), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (4, 2), size = (36, 36), png = 1),
\n \t\t\t],\n \t\t\t"fonts": [gFont("Regular", 22)],
\n \t\t\t"itemHeight": 35\n \t\t}\n \t\t</convert>
\n\t\t</widget>\n<widget name="label1" font="Regular; 26" position="15, 70" size="803, 58" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
<widget name="label2" position="40, 232" zPosition="2" size="806, 294" font="Regular;25" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
\n\t\t </screen>"""
__module__ = __name__
def __init__(self, session):
Screen.__init__(self, session)
self.list = []
self['list'] = List(self.list)
self.select()
self['actions'] = ActionMap(['WizardActions', 'ColorActions'], {'ok': self.KeyOk,
'back': self.close})
self['label1'] = Label(_('Start the chosen system now ?'))
self['label2'] = Label(_('Select OK to run the image.'))
def select(self):
self.list = []
mypath = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot'
if not fileExists(mypath + 'icons'):
mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/ok.png'
png = LoadPixmap(mypixmap)
res = (_('OK Start image...'), png, 0)
self.list.append(res)
self['list'].list = self.list
def KeyOk(self):
if getImageNeoBoot() != 'Flash':
if not fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
cmd = _("echo -e '[NeoBoot] Uwaga!!! po poprawnym starcie wybranego oprogramowania w neoboot,\nnalezy uruchomic NEOBOOTA by potwierdzic prawidlowy start image.\n\nNacisnij OK lub exit na pilocie by kontynuowac...\n\n\n'")
self.session.openWithCallback(self.StartImageInNeoBoot, Console, _('NeoBoot: Start image...'), [cmd])
else:
self.StartImageInNeoBoot()
else:
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/target/*')
self.sel = self['list'].getCurrent()
if self.sel:
self.sel = self.sel[2]
if self.sel == 0:
if fileExists('/media/mmc/etc/init.d/neobootmount.sh'):
os.system('rm -f /media/mmc/etc/init.d/neobootmount.sh;')
#################_____ARM____##########################
#Zgemma h7S ARM ARM - h7s_mmcblk0p2.sh
if getBoxHostName() == 'h7' or getCPUSoC() == 'bcm7251s':
if not fileExists('%sImagesUpload/.kernel/flash-kernel-%s.bin' % (getNeoLocation(), getBoxHostName()) ):
self.myclose2(_('\n\n\nError - w lokalizacji %sImagesUpload/.kernel/ \nnie odnaleziono pliku kernela flash-kernel-%s.bin ' % getNeoLocation() % ( getBoxHostName()) ))
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/mmc; ln -sf "init.sysvinit" "/media/mmc/sbin/init"; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/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; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/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 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/findkerneldevice.py; dd if=%sImagesUpload/.kernel/flash-kernel-%s.bin of=/dev/kernel; cd /media/mmc;ln -sf "neoinitarm" "/media/mmc/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/mmc; ln -sf "neoinitarm" "/media/mmc/sbin/init"; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/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, _('Wygląda na to że multiboot nie wspiera tego modelu STB !!! '), MessageBox.TYPE_INFO, 8)
self.close()
def myclose2(self, message):
self.session.open(MessageBox, message, MessageBox.TYPE_INFO)
self.close()

157
NeoBoot/target/mips_run.py Normal file
View File

@@ -0,0 +1,157 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#echo "Flash " >> '+ getImageNeoBoot() + 'ImagesUpload/.kernel/used_flash_kernel;
from __init__ import _
from Plugins.Extensions.NeoBoot.files.stbbranding import getNeoLocation, getKernelVersionString, getKernelImageVersion, getCPUtype, getCPUSoC, getImageNeoBoot, getBoxVuModel, getBoxHostName, getTunerModel
from enigma import getDesktop
from enigma import eTimer
from Screens.Screen import Screen
from Screens.Console import Console
from Screens.MessageBox import MessageBox
from Screens.ChoiceBox import ChoiceBox
from Screens.VirtualKeyBoard import VirtualKeyBoard
from Screens.Standby import TryQuitMainloop
from Components.About import about
from Components.Sources.List import List
from Components.Button import Button
from Components.ActionMap import ActionMap, NumberActionMap
from Components.GUIComponent import *
from Components.MenuList import MenuList
from Components.Input import Input
from Components.Label import Label
from Components.ProgressBar import ProgressBar
from Components.ScrollLabel import ScrollLabel
from Components.Pixmap import Pixmap, MultiPixmap
from Components.config import *
from Components.ConfigList import ConfigListScreen
from Tools.LoadPixmap import LoadPixmap
from Tools.Directories import fileExists, pathExists, createDir, resolveFilename, SCOPE_PLUGINS
from os import system, listdir, mkdir, chdir, getcwd, rename as os_rename, remove as os_remove, popen
from os.path import dirname, isdir, isdir as os_isdir
import os
import time
class StartImage(Screen):
screenwidth = getDesktop(0).size().width()
if screenwidth and screenwidth == 1920:
skin = """<screen position="center, center" size="1241, 850" title="NeoBoot">
\n\t\t\t<ePixmap position="491, 673" zPosition="-2" size="365, 160" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrixhd.png" />
<widget source="list" render="Listbox" position="20, 171" size="1194, 290" scrollbarMode="showOnDemand">\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (90, 1), size = (920, 66), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (8, 4), size = (66, 66), png = 1),
\n \t\t\t],
\n \t\t\t"fonts": [gFont("Regular", 40)],\n \t\t\t"itemHeight": 66\n \t\t}
\n \t\t</convert>\n\t\t</widget>
\n <widget name="label1" position="21, 29" zPosition="1" size="1184, 116" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t <widget name="label2" position="22, 480" zPosition="-2" size="1205, 168" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t </screen>"""
else:
skin = """<screen position="center, center" size="835, 500" title="NeoBoot">
\n\t\t\t <ePixmap position="0,0" zPosition="-1" size="835,500" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/frame835x500.png" />
<widget source="list" render="Listbox" position="16, 150" size="800, 40" selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/listselection800x35.png" scrollbarMode="showOnDemand">
\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (180, 0), size = (520, 36), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (4, 2), size = (36, 36), png = 1),
\n \t\t\t],\n \t\t\t"fonts": [gFont("Regular", 22)],
\n \t\t\t"itemHeight": 35\n \t\t}\n \t\t</convert>
\n\t\t</widget>\n<widget name="label1" font="Regular; 26" position="15, 70" size="803, 58" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
<widget name="label2" position="40, 232" zPosition="2" size="806, 294" font="Regular;25" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
\n\t\t </screen>"""
__module__ = __name__
def __init__(self, session):
Screen.__init__(self, session)
self.list = []
self['list'] = List(self.list)
self.select()
self['actions'] = ActionMap(['WizardActions', 'ColorActions'], {'ok': self.KeyOk,
'back': self.close})
self['label1'] = Label(_('Start the chosen system now ?'))
self['label2'] = Label(_('Select OK to run the image.'))
def select(self):
self.list = []
mypath = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot'
if not fileExists(mypath + 'icons'):
mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/ok.png'
png = LoadPixmap(mypixmap)
res = (_('OK Start image...'), png, 0)
self.list.append(res)
self['list'].list = self.list
def KeyOk(self):
if getImageNeoBoot() != 'Flash':
if not fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
cmd = _("echo -e '[NeoBoot] Uwaga!!! po poprawnym starcie wybranego oprogramowania w neoboot,\nnalezy uruchomic NEOBOOTA by potwierdzic prawidlowy start image.\n\nNacisnij OK lub exit na pilocie by kontynuowac...\n\n\n'")
self.session.openWithCallback(self.StartImageInNeoBoot, Console, _('NeoBoot: Start image...'), [cmd])
else:
os.system('rm -rf %sImageBoot/%s/usr/bin/enigma2_pre_start.sh' % ( getNeoLocation(), getImageNeoBoot()))
self.StartImageInNeoBoot()
else:
os.system('rm -rf %sImageBoot/%s/usr/bin/enigma2_pre_start.sh' % ( getNeoLocation(), getImageNeoBoot()))
self.StartImageInNeoBoot()
def StartImageInNeoBoot(self):
if getImageNeoBoot() != 'Flash':
if fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
system('touch /tmp/.control_ok ')
else:
system('touch %sImageBoot/%s/.control_boot_new_image ' % ( getNeoLocation(), getImageNeoBoot() ))
system('chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo_location')
self.sel = self['list'].getCurrent()
if self.sel:
self.sel = self.sel[2]
if self.sel == 0:
if fileExists('/media/mmc/etc/init.d/neobootmount.sh'):
os.system('rm -f /media/mmc/etc/init.d/neobootmount.sh;')
#################_____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',
'mbmini',
'h3',
'ini-1000sv',
'osmini' ] :
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, _('Wygląda na to że multiboot nie wspiera tego modelu STB !!! '), MessageBox.TYPE_INFO, 8)
self.close()
else:
os.system('echo "Flash " >> ' + getNeoLocation() + 'ImageBoot/.neonextboot')
self.messagebox = self.session.open(MessageBox, _('Wygląda na to że multiboot nie wspiera tego modelu STB !!! '), MessageBox.TYPE_INFO, 8)
self.close()
def myclose2(self, message):
self.session.open(MessageBox, message, MessageBox.TYPE_INFO)
self.close()

View File

@@ -0,0 +1,159 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#echo "Flash " >> '+ getImageNeoBoot() + 'ImagesUpload/.kernel/used_flash_kernel;
from __init__ import _
from Plugins.Extensions.NeoBoot.files.stbbranding import getNeoLocation, getKernelVersionString, getKernelImageVersion, getCPUtype, getCPUSoC, getImageNeoBoot, getBoxVuModel, getBoxHostName, getTunerModel
from enigma import getDesktop
from enigma import eTimer
from Screens.Screen import Screen
from Screens.Console import Console
from Screens.MessageBox import MessageBox
from Screens.ChoiceBox import ChoiceBox
from Screens.VirtualKeyBoard import VirtualKeyBoard
from Screens.Standby import TryQuitMainloop
from Components.About import about
from Components.Sources.List import List
from Components.Button import Button
from Components.ActionMap import ActionMap, NumberActionMap
from Components.GUIComponent import *
from Components.MenuList import MenuList
from Components.Input import Input
from Components.Label import Label
from Components.ProgressBar import ProgressBar
from Components.ScrollLabel import ScrollLabel
from Components.Pixmap import Pixmap, MultiPixmap
from Components.config import *
from Components.ConfigList import ConfigListScreen
from Tools.LoadPixmap import LoadPixmap
from Tools.Directories import fileExists, pathExists, createDir, resolveFilename, SCOPE_PLUGINS
from os import system, listdir, mkdir, chdir, getcwd, rename as os_rename, remove as os_remove, popen
from os.path import dirname, isdir, isdir as os_isdir
import os
import time
class StartImage(Screen):
screenwidth = getDesktop(0).size().width()
if screenwidth and screenwidth == 1920:
skin = """<screen position="center, center" size="1241, 850" title="NeoBoot">
\n\t\t\t<ePixmap position="491, 673" zPosition="-2" size="365, 160" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrixhd.png" />
<widget source="list" render="Listbox" position="20, 171" size="1194, 290" scrollbarMode="showOnDemand">\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (90, 1), size = (920, 66), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (8, 4), size = (66, 66), png = 1),
\n \t\t\t],
\n \t\t\t"fonts": [gFont("Regular", 40)],\n \t\t\t"itemHeight": 66\n \t\t}
\n \t\t</convert>\n\t\t</widget>
\n <widget name="label1" position="21, 29" zPosition="1" size="1184, 116" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t <widget name="label2" position="22, 480" zPosition="-2" size="1205, 168" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t </screen>"""
else:
skin = """<screen position="center, center" size="835, 500" title="NeoBoot">
\n\t\t\t <ePixmap position="0,0" zPosition="-1" size="835,500" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/frame835x500.png" />
<widget source="list" render="Listbox" position="16, 150" size="800, 40" selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/listselection800x35.png" scrollbarMode="showOnDemand">
\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (180, 0), size = (520, 36), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (4, 2), size = (36, 36), png = 1),
\n \t\t\t],\n \t\t\t"fonts": [gFont("Regular", 22)],
\n \t\t\t"itemHeight": 35\n \t\t}\n \t\t</convert>
\n\t\t</widget>\n<widget name="label1" font="Regular; 26" position="15, 70" size="803, 58" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
<widget name="label2" position="40, 232" zPosition="2" size="806, 294" font="Regular;25" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
\n\t\t </screen>"""
__module__ = __name__
def __init__(self, session):
Screen.__init__(self, session)
self.list = []
self['list'] = List(self.list)
self.select()
self['actions'] = ActionMap(['WizardActions', 'ColorActions'], {'ok': self.KeyOk,
'back': self.close})
self['label1'] = Label(_('Start the chosen system now ?'))
self['label2'] = Label(_('Select OK to run the image.'))
def select(self):
self.list = []
mypath = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot'
if not fileExists(mypath + 'icons'):
mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/ok.png'
png = LoadPixmap(mypixmap)
res = (_('OK Start image...'), png, 0)
self.list.append(res)
self['list'].list = self.list
def KeyOk(self):
if getImageNeoBoot() != 'Flash':
if not fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
cmd = _("echo -e '[NeoBoot] Uwaga!!! po poprawnym starcie wybranego oprogramowania w neoboot,\nnalezy uruchomic NEOBOOTA by potwierdzic prawidlowy start image.\n\nNacisnij OK lub exit na pilocie by kontynuowac...\n\n\n'")
self.session.openWithCallback(self.StartImageInNeoBoot, Console, _('NeoBoot: Start image...'), [cmd])
else:
os.system('rm -rf %sImageBoot/%s/usr/bin/enigma2_pre_start.sh' % ( getNeoLocation(), getImageNeoBoot()))
self.StartImageInNeoBoot()
else:
os.system('rm -rf %sImageBoot/%s/usr/bin/enigma2_pre_start.sh' % ( getNeoLocation(), getImageNeoBoot()))
self.StartImageInNeoBoot()
def StartImageInNeoBoot(self):
if getImageNeoBoot() != 'Flash':
if fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
system('touch /tmp/.control_ok ')
else:
system('touch %sImageBoot/%s/.control_boot_new_image ' % ( getNeoLocation(), getImageNeoBoot() ))
system('chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo_location')
self.sel = self['list'].getCurrent()
if self.sel:
self.sel = self.sel[2]
if self.sel == 0:
if fileExists('/media/mmc/etc/init.d/neobootmount.sh'):
os.system('rm -f /media/mmc/etc/init.d/neobootmount.sh;')
#################_____ARM____##########################
#VUPLUS ARM ustym4kpro - kernel = mmcblk0p12
if getCPUtype() == 'ARMv7' and getBoxHostName() == 'ustym4kpro':
if not fileExists('%sImagesUpload/.kernel/flash-kernel-%s.bin' % (getNeoLocation(), getBoxHostName()) ):
self.myclose2(_('\n\n\nError - w lokalizacji %sImagesUpload/.kernel/ \nnie odnaleziono pliku kernela flash-kernel-%s.bin ' % getNeoLocation(), getBoxHostName() ))
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/mmc; ln -sf "init.sysvinit" "/media/mmc/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/mmc;ln -sf "neoinitarm" "/media/mmc/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/mmc; ln -sf "neoinitarm" "/media/mmc/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, _('Wygląda na to że multiboot nie wspiera tego modelu STB !!! '), MessageBox.TYPE_INFO, 8)
self.close()
def myclose2(self, message):
self.session.open(MessageBox, message, MessageBox.TYPE_INFO)
self.close()

View File

@@ -0,0 +1,115 @@
#!/bin/sh
#script - gutosie
if `grep -q 'osd.language=pl_PL' </etc/enigma2/settings`; then
PL=1
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 ]; 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
echo "NEOBOOT is booting image from " $TARGET
if [ $BOXNAME = "ustym4kpro" ] ; then
if [ $TARGET = "Flash" ]; then
if [ -e /.multinfo ]; then
[ $PL ] && echo "Instalacja pliku kernel bin /dev/mmcblk0p......" || echo "Instaling kernel bin file /dev/mmcblk0p... "
cd /media/mmc; ln -sfn /sbin/init.sysvinit /media/mmc/sbin/init
if [ -e $NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin ] ; then
if [ -d /proc/stb ] ; then
python /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/findkerneldevice.py
dd if=$NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin conv=noerror conv=sync of=/dev/kernel
fi
echo "Boot - Flash. "
echo "Start image Flash z dysku hdd lub usb za 5 sekund RESTART...; \n\n..................._REBOOT_..................."
fi
elif [ ! -e /.multinfo ]; then
[ $PL ] && echo "Instalacja pliku kernel bin /dev/mmcblk0p......" || echo "Instaling kernel bin file /dev/mmcblk0p... "
if [ -e $NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin ] ; then
[ $PL ] && echo "Instalacja pliku kernel bin..." || echo "Instaling kernel bin file "
if [ -d /proc/stb ] ; then
python /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/findkerneldevice.py
dd if=$NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin conv=noerror conv=sync of=/dev/kernel
fi
echo "Start-restart Flash image..."
echo "Reboot image Flash za 5 sekund RESTART...; \n\n...................=REBOOT=..................."
fi
fi
update-alternatives --remove vmlinux vmlinux-`uname -r` || true
[ $PL ] && echo " Zainstalowano kernel image " $TARGET " " || echo " Installed kernel image - "$TARGET" "
cat /dev/kernel | grep "kernel"
echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel
echo "STB: " $CHIPSET " "$BOXNAME" "
sleep 5; reboot -d -f -h -i
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" "
sleep 5; reboot -d -f -h -i
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

165
NeoBoot/target/vu4k_run.py Normal file
View File

@@ -0,0 +1,165 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#echo "Flash " >> '+ getImageNeoBoot() + 'ImagesUpload/.kernel/used_flash_kernel;
from __init__ import _
from Plugins.Extensions.NeoBoot.files.stbbranding import getNeoLocation, getKernelVersionString, getKernelImageVersion, getCPUtype, getCPUSoC, getImageNeoBoot, getBoxVuModel, getBoxHostName, getTunerModel
from enigma import getDesktop
from enigma import eTimer
from Screens.Screen import Screen
from Screens.Console import Console
from Screens.MessageBox import MessageBox
from Screens.ChoiceBox import ChoiceBox
from Screens.VirtualKeyBoard import VirtualKeyBoard
from Screens.Standby import TryQuitMainloop
from Components.About import about
from Components.Sources.List import List
from Components.Button import Button
from Components.ActionMap import ActionMap, NumberActionMap
from Components.GUIComponent import *
from Components.MenuList import MenuList
from Components.Input import Input
from Components.Label import Label
from Components.ProgressBar import ProgressBar
from Components.ScrollLabel import ScrollLabel
from Components.Pixmap import Pixmap, MultiPixmap
from Components.config import *
from Components.ConfigList import ConfigListScreen
from Tools.LoadPixmap import LoadPixmap
from Tools.Directories import fileExists, pathExists, createDir, resolveFilename, SCOPE_PLUGINS
from os import system, listdir, mkdir, chdir, getcwd, rename as os_rename, remove as os_remove, popen
from os.path import dirname, isdir, isdir as os_isdir
import os
import time
class StartImage(Screen):
screenwidth = getDesktop(0).size().width()
if screenwidth and screenwidth == 1920:
skin = """<screen position="center, center" size="1241, 850" title="NeoBoot">
\n\t\t\t<ePixmap position="491, 673" zPosition="-2" size="365, 160" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrixhd.png" />
<widget source="list" render="Listbox" position="20, 171" size="1194, 290" scrollbarMode="showOnDemand">\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (90, 1), size = (920, 66), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (8, 4), size = (66, 66), png = 1),
\n \t\t\t],
\n \t\t\t"fonts": [gFont("Regular", 40)],\n \t\t\t"itemHeight": 66\n \t\t}
\n \t\t</convert>\n\t\t</widget>
\n <widget name="label1" position="21, 29" zPosition="1" size="1184, 116" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t <widget name="label2" position="22, 480" zPosition="-2" size="1205, 168" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t </screen>"""
else:
skin = """<screen position="center, center" size="835, 500" title="NeoBoot">
\n\t\t\t <ePixmap position="0,0" zPosition="-1" size="835,500" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/frame835x500.png" />
<widget source="list" render="Listbox" position="16, 150" size="800, 40" selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/listselection800x35.png" scrollbarMode="showOnDemand">
\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (180, 0), size = (520, 36), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (4, 2), size = (36, 36), png = 1),
\n \t\t\t],\n \t\t\t"fonts": [gFont("Regular", 22)],
\n \t\t\t"itemHeight": 35\n \t\t}\n \t\t</convert>
\n\t\t</widget>\n<widget name="label1" font="Regular; 26" position="15, 70" size="803, 58" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
<widget name="label2" position="40, 232" zPosition="2" size="806, 294" font="Regular;25" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
\n\t\t </screen>"""
__module__ = __name__
def __init__(self, session):
Screen.__init__(self, session)
self.list = []
self['list'] = List(self.list)
self.select()
self['actions'] = ActionMap(['WizardActions', 'ColorActions'], {'ok': self.KeyOk,
'back': self.close})
self['label1'] = Label(_('Start the chosen system now ?'))
self['label2'] = Label(_('Select OK to run the image.'))
def select(self):
self.list = []
mypath = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot'
if not fileExists(mypath + 'icons'):
mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/ok.png'
png = LoadPixmap(mypixmap)
res = (_('OK Start image...'), png, 0)
self.list.append(res)
self['list'].list = self.list
def KeyOk(self):
if getImageNeoBoot() != 'Flash':
if not fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
cmd = _("echo -e '[NeoBoot] Uwaga!!! po poprawnym starcie wybranego oprogramowania w neoboot,\nnalezy uruchomic NEOBOOTA by potwierdzic prawidlowy start image.\n\nNacisnij OK lub exit na pilocie by kontynuowac...\n\n\n'")
self.session.openWithCallback(self.StartImageInNeoBoot, Console, _('NeoBoot: Start image...'), [cmd])
else:
os.system('rm -rf %sImageBoot/%s/usr/bin/enigma2_pre_start.sh' % ( getNeoLocation(), getImageNeoBoot()))
self.StartImageInNeoBoot()
else:
os.system('rm -rf %sImageBoot/%s/usr/bin/enigma2_pre_start.sh' % ( getNeoLocation(), getImageNeoBoot()))
self.StartImageInNeoBoot()
def StartImageInNeoBoot(self):
if getImageNeoBoot() != 'Flash':
if fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
system('touch /tmp/.control_ok ')
else:
system('touch %sImageBoot/%s/.control_boot_new_image ' % ( getNeoLocation(), getImageNeoBoot() ))
system('chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo_location')
self.sel = self['list'].getCurrent()
if self.sel:
self.sel = self.sel[2]
if self.sel == 0:
if fileExists('/media/mmc/etc/init.d/neobootmount.sh'):
os.system('rm -f /media/mmc/etc/init.d/neobootmount.sh;')
#################_____ARM____##########################
#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()) ):
self.myclose2(_('\n\n\nError - w lokalizacji %sImagesUpload/.kernel/ \nnie odnaleziono pliku kernela flash-kernel-%s.bin ' % getNeoLocation(), getBoxHostName() ))
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/mmc; ln -sf "init.sysvinit" "/media/mmc/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/mmc; ln -sf "neoinitarm" "/media/mmc/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/mmc; ln -sf "neoinitarmvu" "/media/mmc/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, _('Wygląda na to że multiboot nie wspiera tego modelu STB !!! '), MessageBox.TYPE_INFO, 8)
self.close()
def myclose2(self, message):
self.session.open(MessageBox, message, MessageBox.TYPE_INFO)
self.close()

View File

@@ -0,0 +1,112 @@
#!/bin/sh
#script - gutosie
if `grep -q 'osd.language=pl_PL' </etc/enigma2/settings`; then
PL=1
fi
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 ]; 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
if [ -f $NEOBOOTMOUNT$IMAGENEXTBOOT ]; then
TARGET=`cat $NEOBOOTMOUNT$IMAGENEXTBOOT`
else
TARGET=Flash
fi
echo "NEOBOOT is booting image from " $TARGET
if [ $VUMODEL = "duo4k" ] ; then
if [ $TARGET = "Flash" ]; then
[ $PL ] && echo "Instalacja pliku kernel bin /dev/mmcblk0p6......" || echo "Instaling kernel bin file /dev/mmcblk0p6... "
if [ -e /.multinfo ]; then
cd /media/mmc; ln -sfn /sbin/init.sysvinit /media/mmc/sbin/init
if [ -e $NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin ] ; then
if [ -d /proc/stb ] ; then
dd if=$NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin of=/dev/mmcblk0p6
fi
echo "Boot - Flash. "
echo "Start image Flash z dysku hdd lub usb za 5 sekund RESTART...; \n\n..................._REBOOT_..................."
fi
elif [ ! -e /.multinfo ]; then
if [ -e $NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin ] ; then
[ $PL ] && echo "Instalacja pliku kernel bin..." || echo "Instaling kernel bin file "
if [ -d /proc/stb ] ; then
dd if=$NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin conv=noerror conv=sync of=/dev/mmcblk0p6
fi
echo "Start-restart Flash image..."
echo "Reboot image Flash za 5 sekund RESTART...; \n\n...................=REBOOT=..................."
fi
fi
update-alternatives --remove vmlinux vmlinux-`uname -r` || true
[ $PL ] && echo " Zainstalowano kernel image " $TARGET " " || echo " Installed kernel image - "$TARGET" "
cat /dev/mmcblk0p6 | grep "kernel"
echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel
echo "STB: " $CHIPSET " "$BOXNAME" "$VUMODEL" "
echo "...............shutdown now..............."; sleep 5; reboot -d -f -h -i
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" "
sleep 5; echo "...............shutdown now..............."; 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

View File

@@ -0,0 +1,116 @@
#!/bin/sh
#script - gutosie
if `grep -q 'osd.language=pl_PL' </etc/enigma2/settings`; then
PL=1
fi
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 ]; 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
if [ -f $NEOBOOTMOUNT$IMAGENEXTBOOT ]; then
TARGET=`cat $NEOBOOTMOUNT$IMAGENEXTBOOT`
else
TARGET=Flash
fi
echo "NEOBOOT is booting image from " $TARGET
if [ $VUMODEL = "zero4k" ] ; then
if [ $TARGET = "Flash" ]; then
INFOBOOT=$( cat /.multinfo )
if [ $TARGET = $INFOBOOT ] ; then
echo "NEOBOOT is booting image " $TARGET
elif [ -e /.multinfo ]; then
[ $PL ] && echo "Instalacja pliku kernel bin /dev/mmcblk0p1......" || echo "Instaling kernel bin file /dev/mmcblk0p1... "
cd /media/mmc; ln -sfn /sbin/init.sysvinit /media/mmc/sbin/init
if [ -e $NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin ] ; then
if [ -d /proc/stb ] ; then
dd if=$NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin of=/dev/mmcblk0p4
fi
echo "Boot - Flash. "
echo "Start image Flash z dysku hdd lub usb za 5 sekund _RESTART_..."
fi
elif [ ! -e /.multinfo ]; then
[ $PL ] && echo "Instalacja pliku kernel bin /dev/mmcblk0p1......" || echo "Instaling kernel bin file /dev/mmcblk0p1... "
if [ -e $NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin ] ; then
[ $PL ] && echo "Instalacja pliku kernel bin..." || echo "Instaling kernel bin file "
if [ -d /proc/stb ] ; then
dd if=$NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin conv=noerror conv=sync of=/dev/mmcblk0p4
fi
echo "Start-restart Flash image..."
echo "Reboot image Flash za 5 sekund =RESTART=...; "
fi
fi
update-alternatives --remove vmlinux vmlinux-`uname -r` || true
[ $PL ] && echo " Zainstalowano kernel image " $TARGET " " || echo " Installed kernel image - "$TARGET" "
cat /dev/mmcblk0p4 | grep "kernel"
echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel
echo "CHIPSET: " $CHIPSET " BOXNAME: "$BOXNAME" MODEL: "$VUMODEL" "
echo "...............shutdown now..............."; sleep 5; reboot -d -f -h -i
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" "
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

View File

@@ -0,0 +1,119 @@
#!/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..............."; sleep 5; reboot -d -f -h -i
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..............."; sleep 5; reboot -d -f -h -i
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

View File

@@ -0,0 +1,120 @@
#!/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..............."; sleep 5; reboot -d -f -h -i
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

View File

@@ -0,0 +1,116 @@
#!/bin/sh
#script - gutosie
if `grep -q 'osd.language=pl_PL' </etc/enigma2/settings`; then
PL=1
fi
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 ]; 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
if [ -f $NEOBOOTMOUNT$IMAGENEXTBOOT ]; then
TARGET=`cat $NEOBOOTMOUNT$IMAGENEXTBOOT`
else
TARGET=Flash
fi
echo "NEOBOOT is booting image from " $TARGET
if [ $BOXNAME = "vuultimo4k" ] || [ $BOXNAME = "vusolo4k" ] || [ $BOXNAME = "vuuno4kse" ] || [ $BOXNAME = "vuuno4k" ]; then
if [ $TARGET = "Flash" ]; then
INFOBOOT=$( cat /.multinfo )
if [ $TARGET = $INFOBOOT ] ; then
echo "NEOBOOT is booting image " $TARGET
elif [ -e /.multinfo ]; then
[ $PL ] && echo "Instalacja pliku kernel bin /dev/mmcblk0p1......" || echo "Instaling kernel bin file /dev/mmcblk0p1... "
cd /media/mmc; ln -sfn /sbin/init.sysvinit /media/mmc/sbin/init
if [ -e $NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin ] ; then
if [ -d /proc/stb ] ; then
dd if=$NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin of=/dev/mmcblk0p1
fi
echo "Boot - Flash. "
echo "Start image Flash z dysku hdd lub usb za 5 sekund _RESTART_..."
fi
elif [ ! -e /.multinfo ]; then
[ $PL ] && echo "Instalacja pliku kernel bin /dev/mmcblk0p1......" || echo "Instaling kernel bin file /dev/mmcblk0p1... "
if [ -e $NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin ] ; then
[ $PL ] && echo "Instalacja pliku kernel bin..." || echo "Instaling kernel bin file "
if [ -d /proc/stb ] ; then
dd if=$NEOBOOTMOUNT$UPLOAD/.kernel/flash-kernel-$BOXNAME.bin conv=noerror conv=sync of=/dev/mmcblk0p1
fi
echo "Start-restart Flash image..."
echo "Reboot image Flash za 5 sekund =RESTART=...; "
fi
fi
update-alternatives --remove vmlinux vmlinux-`uname -r` || true
[ $PL ] && echo " Zainstalowano kernel image " $TARGET " " || echo " Installed kernel image - "$TARGET" "
cat /dev/mmcblk0p1 | grep "kernel"
echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel
echo "CHIPSET: " $CHIPSET " BOXNAME: "$BOXNAME" MODEL: "$VUMODEL" "
echo "...............shutdown now..............."; sleep 5; reboot -d -f -h -i
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 " BOXNAME: "$BOXNAME" MODEL: "$VUMODEL" "
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

View File

@@ -0,0 +1,159 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#echo "Flash " >> '+ getImageNeoBoot() + 'ImagesUpload/.kernel/used_flash_kernel;
from __init__ import _
from Plugins.Extensions.NeoBoot.files.stbbranding import getNeoLocation, getKernelVersionString, getKernelImageVersion, getCPUtype, getCPUSoC, getImageNeoBoot, getBoxVuModel, getBoxHostName, getTunerModel
from enigma import getDesktop
from enigma import eTimer
from Screens.Screen import Screen
from Screens.Console import Console
from Screens.MessageBox import MessageBox
from Screens.ChoiceBox import ChoiceBox
from Screens.VirtualKeyBoard import VirtualKeyBoard
from Screens.Standby import TryQuitMainloop
from Components.About import about
from Components.Sources.List import List
from Components.Button import Button
from Components.ActionMap import ActionMap, NumberActionMap
from Components.GUIComponent import *
from Components.MenuList import MenuList
from Components.Input import Input
from Components.Label import Label
from Components.ProgressBar import ProgressBar
from Components.ScrollLabel import ScrollLabel
from Components.Pixmap import Pixmap, MultiPixmap
from Components.config import *
from Components.ConfigList import ConfigListScreen
from Tools.LoadPixmap import LoadPixmap
from Tools.Directories import fileExists, pathExists, createDir, resolveFilename, SCOPE_PLUGINS
from os import system, listdir, mkdir, chdir, getcwd, rename as os_rename, remove as os_remove, popen
from os.path import dirname, isdir, isdir as os_isdir
import os
import time
class StartImage(Screen):
screenwidth = getDesktop(0).size().width()
if screenwidth and screenwidth == 1920:
skin = """<screen position="center, center" size="1241, 850" title="NeoBoot">
\n\t\t\t<ePixmap position="491, 673" zPosition="-2" size="365, 160" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrixhd.png" />
<widget source="list" render="Listbox" position="20, 171" size="1194, 290" scrollbarMode="showOnDemand">\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (90, 1), size = (920, 66), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (8, 4), size = (66, 66), png = 1),
\n \t\t\t],
\n \t\t\t"fonts": [gFont("Regular", 40)],\n \t\t\t"itemHeight": 66\n \t\t}
\n \t\t</convert>\n\t\t</widget>
\n <widget name="label1" position="21, 29" zPosition="1" size="1184, 116" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t <widget name="label2" position="22, 480" zPosition="-2" size="1205, 168" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t </screen>"""
else:
skin = """<screen position="center, center" size="835, 500" title="NeoBoot">
\n\t\t\t <ePixmap position="0,0" zPosition="-1" size="835,500" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/frame835x500.png" />
<widget source="list" render="Listbox" position="16, 150" size="800, 40" selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/listselection800x35.png" scrollbarMode="showOnDemand">
\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (180, 0), size = (520, 36), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (4, 2), size = (36, 36), png = 1),
\n \t\t\t],\n \t\t\t"fonts": [gFont("Regular", 22)],
\n \t\t\t"itemHeight": 35\n \t\t}\n \t\t</convert>
\n\t\t</widget>\n<widget name="label1" font="Regular; 26" position="15, 70" size="803, 58" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
<widget name="label2" position="40, 232" zPosition="2" size="806, 294" font="Regular;25" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
\n\t\t </screen>"""
__module__ = __name__
def __init__(self, session):
Screen.__init__(self, session)
self.list = []
self['list'] = List(self.list)
self.select()
self['actions'] = ActionMap(['WizardActions', 'ColorActions'], {'ok': self.KeyOk,
'back': self.close})
self['label1'] = Label(_('Start the chosen system now ?'))
self['label2'] = Label(_('Select OK to run the image.'))
def select(self):
self.list = []
mypath = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot'
if not fileExists(mypath + 'icons'):
mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/ok.png'
png = LoadPixmap(mypixmap)
res = (_('OK Start image...'), png, 0)
self.list.append(res)
self['list'].list = self.list
def KeyOk(self):
if getImageNeoBoot() != 'Flash':
if not fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
cmd = _("echo -e '[NeoBoot] Uwaga!!! po poprawnym starcie wybranego oprogramowania w neoboot,\nnalezy uruchomic NEOBOOTA by potwierdzic prawidlowy start image.\n\nNacisnij OK lub exit na pilocie by kontynuowac...\n\n\n'")
self.session.openWithCallback(self.StartImageInNeoBoot, Console, _('NeoBoot: Start image...'), [cmd])
else:
os.system('rm -rf %sImageBoot/%s/usr/bin/enigma2_pre_start.sh' % ( getNeoLocation(), getImageNeoBoot()))
self.StartImageInNeoBoot()
else:
os.system('rm -rf %sImageBoot/%s/usr/bin/enigma2_pre_start.sh' % ( getNeoLocation(), getImageNeoBoot()))
self.StartImageInNeoBoot()
def StartImageInNeoBoot(self):
if getImageNeoBoot() != 'Flash':
if fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
system('touch /tmp/.control_ok ')
else:
system('touch %sImageBoot/%s/.control_boot_new_image ' % ( getNeoLocation(), getImageNeoBoot() ))
system('chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo_location')
self.sel = self['list'].getCurrent()
if self.sel:
self.sel = self.sel[2]
if self.sel == 0:
if fileExists('/media/mmc/etc/init.d/neobootmount.sh'):
os.system('rm -f /media/mmc/etc/init.d/neobootmount.sh;')
#################_____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(_('\n\n\nError - w lokalizacji %sImagesUpload/.kernel/ \nnie odnaleziono pliku kernela 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, _('Wygląda na to że multiboot nie wspiera tego modelu STB !!! '), MessageBox.TYPE_INFO, 8)
self.close()
def myclose2(self, message):
self.session.open(MessageBox, message, MessageBox.TYPE_INFO)
self.close()

View File

@@ -0,0 +1,148 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#echo "Flash " >> '+ getImageNeoBoot() + 'ImagesUpload/.kernel/used_flash_kernel;
from __init__ import _
from Plugins.Extensions.NeoBoot.files.stbbranding import getNeoLocation, getKernelVersionString, getKernelImageVersion, getCPUtype, getCPUSoC, getImageNeoBoot, getBoxVuModel, getBoxHostName, getTunerModel
from enigma import getDesktop
from enigma import eTimer
from Screens.Screen import Screen
from Screens.Console import Console
from Screens.MessageBox import MessageBox
from Screens.ChoiceBox import ChoiceBox
from Screens.VirtualKeyBoard import VirtualKeyBoard
from Screens.Standby import TryQuitMainloop
from Components.About import about
from Components.Sources.List import List
from Components.Button import Button
from Components.ActionMap import ActionMap, NumberActionMap
from Components.GUIComponent import *
from Components.MenuList import MenuList
from Components.Input import Input
from Components.Label import Label
from Components.ProgressBar import ProgressBar
from Components.ScrollLabel import ScrollLabel
from Components.Pixmap import Pixmap, MultiPixmap
from Components.config import *
from Components.ConfigList import ConfigListScreen
from Tools.LoadPixmap import LoadPixmap
from Tools.Directories import fileExists, pathExists, createDir, resolveFilename, SCOPE_PLUGINS
from os import system, listdir, mkdir, chdir, getcwd, rename as os_rename, remove as os_remove, popen
from os.path import dirname, isdir, isdir as os_isdir
import os
import time
class StartImage(Screen):
screenwidth = getDesktop(0).size().width()
if screenwidth and screenwidth == 1920:
skin = """<screen position="center, center" size="1241, 850" title="NeoBoot">
\n\t\t\t<ePixmap position="491, 673" zPosition="-2" size="365, 160" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrixhd.png" />
<widget source="list" render="Listbox" position="20, 171" size="1194, 290" scrollbarMode="showOnDemand">\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (90, 1), size = (920, 66), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (8, 4), size = (66, 66), png = 1),
\n \t\t\t],
\n \t\t\t"fonts": [gFont("Regular", 40)],\n \t\t\t"itemHeight": 66\n \t\t}
\n \t\t</convert>\n\t\t</widget>
\n <widget name="label1" position="21, 29" zPosition="1" size="1184, 116" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t <widget name="label2" position="22, 480" zPosition="-2" size="1205, 168" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t </screen>"""
else:
skin = """<screen position="center, center" size="835, 500" title="NeoBoot">
\n\t\t\t <ePixmap position="0,0" zPosition="-1" size="835,500" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/frame835x500.png" />
<widget source="list" render="Listbox" position="16, 150" size="800, 40" selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/listselection800x35.png" scrollbarMode="showOnDemand">
\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (180, 0), size = (520, 36), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (4, 2), size = (36, 36), png = 1),
\n \t\t\t],\n \t\t\t"fonts": [gFont("Regular", 22)],
\n \t\t\t"itemHeight": 35\n \t\t}\n \t\t</convert>
\n\t\t</widget>\n<widget name="label1" font="Regular; 26" position="15, 70" size="803, 58" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
<widget name="label2" position="40, 232" zPosition="2" size="806, 294" font="Regular;25" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
\n\t\t </screen>"""
__module__ = __name__
def __init__(self, session):
Screen.__init__(self, session)
self.list = []
self['list'] = List(self.list)
self.select()
self['actions'] = ActionMap(['WizardActions', 'ColorActions'], {'ok': self.KeyOk,
'back': self.close})
self['label1'] = Label(_('Start the chosen system now ?'))
self['label2'] = Label(_('Select OK to run the image.'))
def select(self):
self.list = []
mypath = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot'
if not fileExists(mypath + 'icons'):
mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/ok.png'
png = LoadPixmap(mypixmap)
res = (_('OK Start image...'), png, 0)
self.list.append(res)
self['list'].list = self.list
def KeyOk(self):
if getImageNeoBoot() != 'Flash':
if not fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
cmd = _("echo -e '[NeoBoot] Uwaga!!! po poprawnym starcie wybranego oprogramowania w neoboot,\nnalezy uruchomic NEOBOOTA by potwierdzic prawidlowy start image.\n\nNacisnij OK lub exit na pilocie by kontynuowac...\n\n\n'")
self.session.openWithCallback(self.StartImageInNeoBoot, Console, _('NeoBoot: Start image...'), [cmd])
else:
os.system('rm -rf %sImageBoot/%s/usr/bin/enigma2_pre_start.sh' % ( getNeoLocation(), getImageNeoBoot()))
self.StartImageInNeoBoot()
else:
os.system('rm -rf %sImageBoot/%s/usr/bin/enigma2_pre_start.sh' % ( getNeoLocation(), getImageNeoBoot()))
self.StartImageInNeoBoot()
def StartImageInNeoBoot(self):
if getImageNeoBoot() != 'Flash':
if fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
system('touch /tmp/.control_ok ')
else:
system('touch %sImageBoot/%s/.control_boot_new_image ' % ( getNeoLocation(), getImageNeoBoot() ))
system('chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo_location')
self.sel = self['list'].getCurrent()
if self.sel:
self.sel = self.sel[2]
if self.sel == 0:
if fileExists('/media/mmc/etc/init.d/neobootmount.sh'):
os.system('rm -f /media/mmc/etc/init.d/neobootmount.sh;')
#################_____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(_('\n\n\nError - w lokalizacji %sImagesUpload/.kernel/ \nnie odnaleziono pliku kernela 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()

View File

@@ -0,0 +1,157 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#echo "Flash " >> '+ getImageNeoBoot() + 'ImagesUpload/.kernel/used_flash_kernel;
from __init__ import _
from Plugins.Extensions.NeoBoot.files.stbbranding import getNeoLocation, getKernelVersionString, getKernelImageVersion, getCPUtype, getCPUSoC, getImageNeoBoot, getBoxVuModel, getBoxHostName, getTunerModel
from enigma import getDesktop
from enigma import eTimer
from Screens.Screen import Screen
from Screens.Console import Console
from Screens.MessageBox import MessageBox
from Screens.ChoiceBox import ChoiceBox
from Screens.VirtualKeyBoard import VirtualKeyBoard
from Screens.Standby import TryQuitMainloop
from Components.About import about
from Components.Sources.List import List
from Components.Button import Button
from Components.ActionMap import ActionMap, NumberActionMap
from Components.GUIComponent import *
from Components.MenuList import MenuList
from Components.Input import Input
from Components.Label import Label
from Components.ProgressBar import ProgressBar
from Components.ScrollLabel import ScrollLabel
from Components.Pixmap import Pixmap, MultiPixmap
from Components.config import *
from Components.ConfigList import ConfigListScreen
from Tools.LoadPixmap import LoadPixmap
from Tools.Directories import fileExists, pathExists, createDir, resolveFilename, SCOPE_PLUGINS
from os import system, listdir, mkdir, chdir, getcwd, rename as os_rename, remove as os_remove, popen
from os.path import dirname, isdir, isdir as os_isdir
import os
import time
class StartImage(Screen):
screenwidth = getDesktop(0).size().width()
if screenwidth and screenwidth == 1920:
skin = """<screen position="center, center" size="1241, 850" title="NeoBoot">
\n\t\t\t<ePixmap position="491, 673" zPosition="-2" size="365, 160" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrixhd.png" />
<widget source="list" render="Listbox" position="20, 171" size="1194, 290" scrollbarMode="showOnDemand">\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (90, 1), size = (920, 66), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (8, 4), size = (66, 66), png = 1),
\n \t\t\t],
\n \t\t\t"fonts": [gFont("Regular", 40)],\n \t\t\t"itemHeight": 66\n \t\t}
\n \t\t</convert>\n\t\t</widget>
\n <widget name="label1" position="21, 29" zPosition="1" size="1184, 116" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t <widget name="label2" position="22, 480" zPosition="-2" size="1205, 168" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t </screen>"""
else:
skin = """<screen position="center, center" size="835, 500" title="NeoBoot">
\n\t\t\t <ePixmap position="0,0" zPosition="-1" size="835,500" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/frame835x500.png" />
<widget source="list" render="Listbox" position="16, 150" size="800, 40" selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/listselection800x35.png" scrollbarMode="showOnDemand">
\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (180, 0), size = (520, 36), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (4, 2), size = (36, 36), png = 1),
\n \t\t\t],\n \t\t\t"fonts": [gFont("Regular", 22)],
\n \t\t\t"itemHeight": 35\n \t\t}\n \t\t</convert>
\n\t\t</widget>\n<widget name="label1" font="Regular; 26" position="15, 70" size="803, 58" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
<widget name="label2" position="40, 232" zPosition="2" size="806, 294" font="Regular;25" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
\n\t\t </screen>"""
__module__ = __name__
def __init__(self, session):
Screen.__init__(self, session)
self.list = []
self['list'] = List(self.list)
self.select()
self['actions'] = ActionMap(['WizardActions', 'ColorActions'], {'ok': self.KeyOk,
'back': self.close})
self['label1'] = Label(_('Start the chosen system now ?'))
self['label2'] = Label(_('Select OK to run the image.'))
def select(self):
self.list = []
mypath = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot'
if not fileExists(mypath + 'icons'):
mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/ok.png'
png = LoadPixmap(mypixmap)
res = (_('OK Start image...'), png, 0)
self.list.append(res)
self['list'].list = self.list
def KeyOk(self):
if getImageNeoBoot() != 'Flash':
if not fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
cmd = _("echo -e '[NeoBoot] Uwaga!!! po poprawnym starcie wybranego oprogramowania w neoboot,\nnalezy uruchomic NEOBOOTA by potwierdzic prawidlowy start image.\n\nNacisnij OK lub exit na pilocie by kontynuowac...\n\n\n'")
self.session.openWithCallback(self.StartImageInNeoBoot, Console, _('NeoBoot: Start image...'), [cmd])
else:
os.system('rm -rf %sImageBoot/%s/usr/bin/enigma2_pre_start.sh' % ( getNeoLocation(), getImageNeoBoot()))
self.StartImageInNeoBoot()
else:
os.system('rm -rf %sImageBoot/%s/usr/bin/enigma2_pre_start.sh' % ( getNeoLocation(), getImageNeoBoot()))
self.StartImageInNeoBoot()
def StartImageInNeoBoot(self):
if getImageNeoBoot() != 'Flash':
if fileExists('%sImageBoot/%s/.control_ok' % ( getNeoLocation(), getImageNeoBoot())):
system('touch /tmp/.control_ok ')
else:
system('touch %sImageBoot/%s/.control_boot_new_image ' % ( getNeoLocation(), getImageNeoBoot() ))
system('chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo_location')
self.sel = self['list'].getCurrent()
if self.sel:
self.sel = self.sel[2]
if self.sel == 0:
if fileExists('/media/mmc/etc/init.d/neobootmount.sh'):
os.system('rm -f /media/mmc/etc/init.d/neobootmount.sh;')
#################_____ARM____##########################
#VUPLUS ARM - Zero4k vu_mmcblk0p4.sh
elif getBoxHostName() == 'vuzero4k' or getCPUSoC() == '72604':
if not fileExists('%sImagesUpload/.kernel/flash-kernel-%s.bin' % (getNeoLocation(), getBoxHostName()) ):
self.myclose2(_('\n\n\nError - w lokalizacji %sImagesUpload/.kernel/ \nnie odnaleziono pliku kernela flash-kernel-%s.bin ' % getNeoLocation(), getBoxHostName() ))
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/mmc; ln -sf "init.sysvinit" "/media/mmc/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/mmc; ln -sf "neoinitarm" "/media/mmc/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/mmc; ln -sf "neoinitarmvu" "/media/mmc/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, _('Wygląda na to że multiboot nie wspiera tego modelu STB !!! '), MessageBox.TYPE_INFO, 8)
self.close()
def myclose2(self, message):
self.session.open(MessageBox, message, MessageBox.TYPE_INFO)
self.close()