From 24e789451d31cb2450e2a10e89e4a3ece94199c0 Mon Sep 17 00:00:00 2001 From: gutosie Date: Sat, 20 Feb 2021 20:52:37 +0200 Subject: [PATCH] Add files via upload --- NeoBoot/files/backflash | 178 ++++++++++++++++++++++++++++++++++++++++ NeoBoot/files/neoreboot | 90 ++++++++++++++++++++ 2 files changed, 268 insertions(+) create mode 100644 NeoBoot/files/backflash create mode 100644 NeoBoot/files/neoreboot diff --git a/NeoBoot/files/backflash b/NeoBoot/files/backflash new file mode 100644 index 0000000..2e808c8 --- /dev/null +++ b/NeoBoot/files/backflash @@ -0,0 +1,178 @@ +#!/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 +MOUNTneoDisk=$( cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/install) +MOUNTblkid=$( cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/reading_blkid) +MOUNTMEDIA=$( ls /media) +DYSKMODELVENDOR=$( cat /sys/block/sda/device/model | sed "s/ *$//"; cat /sys/block/sd*/device/vendor | sed "s/ *$//" ) + +if [ -f $NEOBOOTMOUNT$IMAGENEXTBOOT ]; then + TARGET=`cat $NEOBOOTMOUNT$IMAGENEXTBOOT` +else + TARGET=Flash +fi + +if [ -e /.multinfo ]; then + #if [ $TARGET = "Flash" ]; then + if [ $BOXNAME = "bm750" ] || [ $BOXNAME = "vuduo" ] || [ $BOXNAME = "vusolo" ] || [ $BOXNAME = "vuuno" ] || [ $BOXNAME = "vuultimo" ]; 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 + 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 [ $BOXNAME = "vusolo2" ] || [ $BOXNAME = "vuduo2" ] || [ $BOXNAME = "vusolose" ] || [ $BOXNAME = "vuzero" ]; then #[ $BOXNAME = "mbultra" ] + 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/mtd2..." + sleep 2 + flash_eraseall /dev/mtd2 + echo "Instalacja kernel do /dev/mtd2..." + sleep 2 + nandwrite -p /dev/mtd2 $NEOBOOTMOUNT$UPLOAD/.kernel/$BOXNAME.vmlinux.gz + 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 [ $BOXNAME = "vuultimo4k" ] || [ $BOXNAME = "vusolo4k" ] || [ $BOXNAME = "vuuno4kse" ] || [ $BOXNAME = "vuuno4k" ]; 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/InternalFlash; ln -sfn /sbin/init.sysvinit /media/InternalFlash/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 in progress _RESTART_..." + fi + cat /dev/mmcblk0p1 | grep "kernel" + 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 + fi + elif [ $BOXNAME = "vuduo4k" ] ; then + [ $PL ] && echo "Instalacja pliku kernel bin /dev/mmcblk0p6......" || echo "Instaling kernel bin file /dev/mmcblk0p6... " + if [ -e /.multinfo ]; then + cd /media/InternalFlash; ln -sfn /sbin/init.sysvinit /media/InternalFlash/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 + cat /dev/mmcblk0p1 | grep "kernel" + 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 + fi + elif [ $BOXNAME = "vuduo4kse" ] ; then + [ $PL ] && echo "Instalacja pliku kernel bin /dev/mmcblk0p6......" || echo "Instaling kernel bin file /dev/mmcblk0p6... " + if [ -e /.multinfo ]; then + cd /media/InternalFlash; ln -sfn /sbin/init.sysvinit /media/InternalFlash/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 + cat /dev/mmcblk0p1 | grep "kernel" + 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 + fi + elif [ $VUMODEL = "zero4k" ] ; 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/mmcblk0p4......" || echo "Instaling kernel bin file /dev/mmcblk0p4... " + cd /media/InternalFlash; ln -sfn /sbin/init.sysvinit /media/InternalFlash/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 "VUZERO4K - Boot - Flash. " + echo "Start image Flash z dysku hdd lub usb za 5 sekund _RESTART_..." + fi + cat /dev/mmcblk0p1 | grep "kernel" + 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 + fi + else + ln -sfn /sbin/init.sysvinit /sbin/init + echo "CHIPSET: " $CHIPSET " BOXNAME: "$BOXNAME" MODEL: "$VUMODEL" " + echo "Flash " > $NEOBOOTMOUNT/ImageBoot/.neonextboot + echo "Error - Nie wpierany model STB !!! " + exit 0 + fi + echo "Used Kernel: " $TARGET > $NEOBOOTMOUNT$UPLOAD/.kernel/used_flash_kernel + echo "CHIPSET:"$CHIPSET $HARDWARETYPE" BOXNAME:"$BOXNAME" MODEL:"$VUMODEL" " + sleep 1 + echo "Neoboot location: " + echo ""$MOUNTneoDisk" " + sleep 1 + echo "Info media: " + echo ""$MOUNTblkid" " + sleep 1 + echo "Media list: " + echo ""$MOUNTMEDIA" " + sleep 1 + echo "DYSK MODEL VENDOR: " + echo ""$DYSKMODELVENDOR" " + sleep 1 + sync && echo 3 > /proc/sys/vm/drop_caches + echo "...............Rebooting - Shutdown Now..............." + sleep 5 + PATH=/sbin:/bin:/usr/sbin:/usr/bin + reboot -d -f + +else + ln -sfn /sbin/init.sysvinit /sbin/init + echo "CHIPSET: " $CHIPSET " BOXNAME: "$BOXNAME" MODEL: "$VUMODEL" " + echo "Flash " > $NEOBOOTMOUNT/ImageBoot/.neonextboot + echo "Error - Nie wpierany model STB !!! " + exit 0 +fi +exit 0 diff --git a/NeoBoot/files/neoreboot b/NeoBoot/files/neoreboot new file mode 100644 index 0000000..b197ab7 --- /dev/null +++ b/NeoBoot/files/neoreboot @@ -0,0 +1,90 @@ +# -*- coding: utf-8 -*- +# system modules + +from __future__ import print_function +#from Plugins.Extensions.NeoBoot.__init__ import _ +import codecs +from enigma import getDesktop +from Components.ActionMap import ActionMap +from Components.Label import Label +from Components.ScrollLabel import ScrollLabel +from Components.Pixmap import Pixmap +from Components.Sources.List import List +from Components.ConfigList import ConfigListScreen +from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest +from Components.config import getConfigListEntry, config, ConfigYesNo, ConfigText, ConfigSelection, NoSave +from Plugins.Extensions.NeoBoot.plugin import Plugins, PLUGINVERSION, UPDATEVERSION +from Plugins.Plugin import PluginDescriptor +from Screens.Standby import TryQuitMainloop +from Screens.MessageBox import MessageBox +from Screens.Screen import Screen +from Screens.Console import Console +from Tools.LoadPixmap import LoadPixmap +from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_SKIN_IMAGE, SCOPE_CURRENT_SKIN, fileExists, pathExists, createDir +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 +from enigma import eTimer +from Plugins.Extensions.NeoBoot.files.stbbranding import getNeoLocation, getImageNeoBoot, getKernelVersionString, getBoxHostName, getCPUtype, getBoxVuModel, getTunerModel, getCPUSoC, getImageATv +import os +import time +import sys +import struct, shutil +LinkNeoBoot = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot' + +class ForceReboot(Screen): + __module__ = __name__ + skin = """ + + + + """ + + def __init__(self, session): + Screen.__init__(self, session) + self['lab1'] = Label(_('Force reboot to flash ?')) + self['key_red'] = Label(_('To reboot press red!')) + self['actions'] = ActionMap(['WizardActions', 'ColorActions'], {'back': self.close, + 'red': self.iNFO}) + + def iNFO(self): + try: + out = open('%sImageBoot/.neonextboot' % getNeoLocation(), 'w' ) + out.write('Flash') + out.close() + cmd = "echo -e '\n\n%s '" % _('Please wait, NeoBoot is working...') + cmd1 = 'chmod 0755 ' + LinkNeoBoot + '/files/mountpoint.sh' + cmd2 = '' + LinkNeoBoot + '/files/mountpoint.sh' + cmd3 = "echo -e '\n\n%s '" % _('NeoBoot: Force reboot to flash image now...') + cmd4 = 'chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/NeoReboot/backflash.sh; /usr/lib/enigma2/python/Plugins/Extensions/NeoReboot/backflash.sh' + self.session.open(Console, _('NeoBoot: Backu to flash!'), [cmd, + cmd1, + cmd2, + cmd3, + cmd4]) + self.close() + + except: + False + +def main(session, **kwargs): + try: + session.open(ForceReboot) + except: + False + + +def startSetup(menuid): + if menuid != 'setup': + return [] + return [(_('NeoReboot'), + main, + 'NeoReboot', + 50)] + +def Plugins(path, **kwargs): + global plugin_path + plugin_path = path + list = [PluginDescriptor(name=_('NeoReboot'), description=_('Force reboot to flash.'), where=PluginDescriptor.WHERE_MENU, fnc=startSetup)] + return list + + \ No newline at end of file