From 0ae67cbe6870199b09f0600f0c799b1256ca9a6a Mon Sep 17 00:00:00 2001 From: gutosie Date: Tue, 16 Feb 2021 23:10:09 +0200 Subject: [PATCH] Add files via upload --- NeoBoot/bin/neoinitmips | 449 +++++++++++++++++++------------------- NeoBoot/bin/neoinitmipsvu | 276 ++++++++++++++++------- 2 files changed, 428 insertions(+), 297 deletions(-) diff --git a/NeoBoot/bin/neoinitmips b/NeoBoot/bin/neoinitmips index 5069cfe..d7f445f 100644 --- a/NeoBoot/bin/neoinitmips +++ b/NeoBoot/bin/neoinitmips @@ -1,49 +1,32 @@ -#!/bin/sh +#!/bin/sh #DESCRIPTION = This script mod. by gutosie -#NeoBoot INIT Version: 6.00 -#Scrypt Unix Shell - init for neoboot - -IMAGE=/media/neoboot/ImageBoot -IMAGEBOOT=/media/neoboot/ImageBoot/.neonextboot -NEO=/media/neoboot +#NeoBoot INIT Version: 9.12 vip +#Scrypt Unix Shell - init for neoboot NEOBOOT=/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot MODPROBE=/sbin/modprobe -BOXNAME=`cat /etc/hostname` -FINDBOOT=/media/*/ImageBoot/.neonextboot - - +NEODEVICE=`cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` +IMAGEKATALOG=ImageBoot +HOSTNAME=`cat /etc/hostname` +echo "====================================================> " +echo " " +echo " -=*[ NEOBOOT - BOOT UP ]*=- " +echo " NEO BOOT INIT Version: gutosie " +echo " q(-_-)p " +echo " " +echo "====================================================> " if [ -e /tmp/.init_reboot ]; then - rm /tmp/.init_reboot - break; - -else - if [ -e $FINDBOOT ] ; then - CELBOOT=`cat $FINDBOOT` - if [ $CELBOOT = "Flash" ]; then - exec /sbin/init.sysvinit $* - exit 0 - else - echo " " + rm /tmp/.init_reboot > /dev/null 2>&1 + break; +else + if [ -e `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/.neonextboot ] ; then + CELBOOT=`cat $NEODEVICE$IMAGEKATALOG/.neonextboot` + if [ $CELBOOT = "Flash" ]; then + exec /sbin/init.sysvinit $1 + exit 0 + else break; - fi - fi - - echo "====================================================> " - echo " " - echo " -=*[ NEOBOOT - BOOT UP ]*=- " - echo " NEO BOOT INIT Version: 6.00 Update 6.15 16-11-2017 " - echo " q(-_-)p " - echo " " - echo "====================================================> " - - /etc/init.d/sysfs.sh - /etc/init.d/modutils.sh - - echo "NEOBOOT is starting mdev" - echo " " - echo "/sbin/mdev" > /proc/sys/kernel/hotplug - /etc/init.d/mdev > /dev/null 2>&1 - + fi + fi mknod /dev/sda b 8 0 mknod /dev/sda1 b 8 1 mknod /dev/sda2 b 8 2 @@ -56,57 +39,29 @@ else mknod /dev/sdd b 8 48 mknod /dev/sdd1 b 8 49 mknod /dev/sdd2 b 8 50 - mkdir /dev/input mknod /dev/input/event0 c 13 64 - mknod /dev/fb0 c 29 0 mkdir /dev/fb ln -s ../fb0 /dev/fb/0 - sleep 1 - - if [ -e /etc/videomode ]; then - cat /etc/videomode > /proc/stb/video/videomode - fi - if [ -e /etc/videomode2 ]; then - cat /etc/videomode2 > /proc/stb/video/videomode - fi - - ( - if [ -d /proc/stb ]; then - while true; do - if [ -e /dev/dvb/adapter0/video0 ]; then - break; - fi; - done; - fi; - [ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe $NEOBOOT/neowait.mvi; - - ) & - - DEVICES1=`find /dev/sd??` - for DEVICE in $DEVICES1; - do - if [ ! -e /media/neoboot/ImageBoot/.neonextboot ]; then - mount $DEVICE /media/neoboot > /dev/null 2>&1 - fi - if [ ! -e /media/neoboot/ImageBoot/.neonextboot ]; then - umount /media/neoboot > /dev/null 2>&1 - fi - done - LIBDIR=/lib/modules/`uname -r` if [ ! -d $LIBDIR ]; then LIBDIR=/lib/modules/`ls /lib/modules | tail -n 1` fi - if [ `mount | grep /proc | wc -l` -lt 1 ]; then + /bin/mount -a /bin/mount -t proc proc /proc > /dev/null 2>&1 /bin/mount -t sysfs sysfs /sys > /dev/null 2>&1 /sbin/depmod -Ae > /dev/null 2>&1 fi - + echo "NeoBoot is starting mdev" + echo "/sbin/mdev" > /proc/sys/kernel/hotplug + /etc/init.d/mdev > /dev/null 2>&1 + echo "NEOBOOT is starting mdev" + echo " " + echo "/sbin/mdev" > /proc/sys/kernel/hotplug + /etc/init.d/mdev > /dev/null 2>&1 sleep 1 echo " " echo "Search NEOBOOT... " @@ -120,203 +75,259 @@ else if [ $selectmnt == $item ]; then echo "selectmnt=" $selectmnt mnttest="uuid" - mount $selectmnt $NEO > /dev/null 2>&1 + mount $selectmnt $NEODEVICE > /dev/null 2>&1 fi - if [ ! -e $IMAGE ]; then + if [ ! -e $NEODEVICE$IMAGEKATALOG ]; then echo "NEOBOOT hasn't been installed on: " $selectmnt - umount $NEO > /dev/null 2>&1 - else + umount $NEODEVICE > /dev/null 2>&1 + else echo "NEOBOOT has been installed on: " $selectmnt break; - fi + fi done - fi - - if [ ! -e $NEO ]; then - mkdir $NEO > /dev/null 2>&1 fi - + if [ ! -e $NEODEVICE ]; then + mkdir $NEODEVICE > /dev/null 2>&1 + fi if [ $mnttest == "nouuid" ]; then echo "NEOBOOT mount by Device" DEVICES1=`find /dev/sd??` for DEVICE in $DEVICES1; do - if [ -e $NEO ]; then + if [ -e $NEODEVICE ]; then echo "NEOBOOT checking installation on: " $DEVICE - mount $DEVICE $NEO > /dev/null 2>&1 + mount $DEVICE $NEODEVICE > /dev/null 2>&1 fi - if [ ! -e $IMAGE ]; then + if [ ! -e $NEODEVICE$IMAGEKATALOG ]; then echo "NEOBOOT hasn't been installed on:" $DEVICE - umount $NEO > /dev/null 2>&1 + umount $NEODEVICE > /dev/null 2>&1 else echo "NEOBOOT has been installed on: " $DEVICE break; - fi + fi done - elif [ $mnttest == "uuid" ]; then + elif [ $mnttest == "uuid" ]; then echo "NEOBOOT mount by UUID" - fi - + fi + DEVICES1=`find /dev/sd??` + for DEVICE in $DEVICES1; + do + if [ ! -e $NEODEVICE$IMAGEKATALOG/.neonextboot ]; then + mount $DEVICE $NEODEVICE$ > /dev/null 2>&1 + fi + if [ ! -e $NEODEVICE$IMAGEKATALOG/.neonextboot ]; then + umount $NEODEVICE > /dev/null 2>&1 + fi + done #dodatkowe szukanie neoboota - #mount /dev/sdb1 $NEO > /dev/null 2>&1 # <<< tu mozesz zmienic sdb1 i wpisac Twoje montowanie dysku dla neoboot - + #mount /dev/sdb1 $NEODEVICE > /dev/null 2>&1 # <<< tu mozesz zmienic sdb1 i wpisac Twoje montowanie dysku dla neoboot + if [ ! -e $NEODEVICE$IMAGEKATALOG/.neonextboot ]; then + if [ -e /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh ]; then + /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh + echo "_______________________NeoBoot mount by MOUNTPOINT_______________________" + fi + fi + neoLOG=$NEODEVICE$IMAGEKATALOG/initneo.log + if [ -f $neoLOG ]; then + rm -f $neoLOG + touch $neoLOG + fi + echo " >>> START NEXT LOG... >>> " >> $neoLOG + echo "..............-=*[ NEOBOOT - BOOT UP ]*=-.............." >> $neoLOG + echo " ____q(-_-)p____START NEXT Image...____q(-_-)p____ " >> $neoLOG + echo "......................................................." >> $neoLOG + echo "Tuner name: " `cat /etc/hostname` >> $neoLOG + echo "Boot image: " `cat $NEODEVICE$IMAGEKATALOG/.neonextboot` >> $neoLOG + echo "Init image, base kernel: " `cat $NEODEVICE$IMAGEKATALOG/.neonextboot` >> $neoLOG + echo "NEOBOOT is loading modules." for mod in dvb; do echo "=======================> NeoBoot is loading modules" $MODPROBE $mod done - + /etc/init.d/sysfs.sh + /etc/init.d/modutils.sh + if [ -e /etc/videomode ]; then + cat /etc/videomode > /proc/stb/video/videomode + fi + if [ -e /etc/videomode2 ]; then + cat /etc/videomode2 > /proc/stb/video/videomode + fi + ( + if [ -d /proc/stb ]; then + while true; do + if [ -e /dev/dvb/adapter0/video0 ]; then + break; + fi; + done; + fi; + [ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe $NEOBOOT/neowait.mvi; + ) & if [ -f $LIBDIR/kernel/fs/autofs4/autofs4.ko ]; then /sbin/insmod $LIBDIR/kernel/fs/autofs4/autofs4.ko > /dev/null 2>&1 fi - sleep 1 - - if [ -e $NEOBOOT/bin/fbclear ]; then - $NEOBOOT/bin/fbclear; $NEOBOOT/bin/fbclear; $NEOBOOT/bin/fbclear; $NEOBOOT/bin/fbclear > /dev/null 2>&1 - fi - - if [ -e $NEOBOOT/bin/neobm ]; then echo " Neo-Boot start boot manager " echo " Waiting to change image - 20s " echo " " chmod 0755 $NEOBOOT/bin/neobm - $NEOBOOT/neologo.mvi > /dev/null 2>&1 + /usr/bin/showiframe $NEOBOOT/neologo.mvi > /dev/null 2>&1 sleep 1 $NEOBOOT/bin/neobm > /dev/null 2>&1 fi - - if [ ! -e $IMAGEBOOT ]; then + if [ -e $NEOBOOT/bin/fbclear ]; then + $NEOBOOT/bin/fbclear; $NEOBOOT/bin/fbclear; $NEOBOOT/bin/fbclear; $NEOBOOT/bin/fbclear > /dev/null 2>&1 + fi + if [ ! -e $NEODEVICE$IMAGEKATALOG/.neonextboot ]; then ln -sfn /sbin/init.sysvinit /sbin/init - echo "Flash " > $IMAGEBOOT + /usr/bin/showiframe /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/error.mvi > /dev/null 2>&1 + echo "Flash " > $NEODEVICE$IMAGEKATALOG/.neonextboot echo "Used Kernel: Reinstall kernel !" > /media/neoboot/ImagesUpload/.kernel/used_flash_kernel + echo " Sending all processes the TERM- KILL signal..." + echo -n "<<>>" + echo " Sending all processes the TERM- KILL signal..." >> $neoLOG + echo "Error mounting, Return to image Flash..."; echo "Error mounting, Return to image Flash..." >> $neoLOG + /bin/umount /media/usb > /dev/null 2>&1 + /bin/umount /media/hdd > /dev/null 2>&1 reboot -f fi - - - TARGETIMAGE=`cat $IMAGEBOOT` - if [ $TARGETIMAGE = "BlackHoleVU" ] || [ $TARGETIMAGE = "BlackHoleVU+" ] ; then - if ! [ -e $NEO/ImagesUpload/.kernel/used_bh_kernel ]; then - rm -f $IMAGEBOOT - echo "Flash " >> $IMAGEBOOT - echo "Halt init image - " $TARGETIMAGE - echo "Start image Flash... " - $NEOBOOT/bh.mvi > /dev/null 2>&1 - sync; sleep 1 - exec /sbin/init.sysvinit $* + TARGETIMAGE=`cat $NEODEVICE$IMAGEKATALOG/.neonextboot` + if [ $TARGETIMAGE = "BlackHoleVU" ] || [ $TARGETIMAGE = "BlackHoleVU+" ] ; then + if ! [ -e $NEODEVICE$IMAGEKATALOG/.kernel/used_bh_kernel ]; then + rm -f $NEODEVICE$IMAGEKATALOG/.neonextboot + echo "Flash " >> $NEODEVICE$IMAGEKATALOG/.neonextboot + echo "Halt init image - " $TARGETIMAGE + echo "Start image Flash... " + /usr/bin/showiframe $NEOBOOT/bh.mvi > /dev/null 2>&1 + sleep 1 + exec /sbin/init.sysvinit $* exit 0 else break; fi fi - - sync - TARGET=Flash - if [ -f $IMAGEBOOT ]; then - TARGET=`cat $IMAGEBOOT` + if [ -f $NEODEVICE$IMAGEKATALOG/.neonextboot ]; then + TARGET=`cat $NEODEVICE$IMAGEKATALOG/.neonextboot` fi - + #TARGET=Flash + HARDWARETYPE=`uname -m` if [ $TARGET = "Flash" ]; then - echo "____________________________________" - echo "____________________________________" - echo " " - echo "NEOBOOT is booting image from " $TARGET - echo "____________________________________" - echo "____________________________________" - /bin/umount $NEO > /dev/null 2>&1 - /bin/umount /media/usb > /dev/null 2>&1 - /bin/umount /media/hdd > /dev/null 2>&1 - /usr/bin/showiframe /usr/share/bootlogo.mvi > /dev/null 2>&1 - echo "----------------------------------" + echo "NEOBOOT is booting image from " $TARGET + echo " BOOT UP IMAGE FROM FLASH " >> $neoLOG + /bin/umount /media/usb > /dev/null 2>&1 + /bin/umount /media/hdd > /dev/null 2>&1 + if [ $HARDWARETYPE != "armv7l" ]; then + /usr/bin/showiframe /usr/share/bootlogo.mvi > /dev/null 2>&1 + fi + echo "----------------------------------" echo " BOOT UP IMAGE FROM FLASH " - echo "----------------------------------" + echo "----------------------------------"; + ln -sfn /sbin/init.sysvinit /sbin/init else - echo " " - echo "NEOBOOT is booting image" $TARGET " from " $DEVICE - echo " " - if [ -d $IMAGE/$TARGET ]; then - if [ -f $IMAGE/$TARGET/etc/init.d/udev ]; then - sed -ei s!"\$4"!"\$3"!g $IMAGE/$TARGET/etc/init.d/udev + ######### test boot new imaga>>>> + if [ -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/.control_ok ]; then + echo "No Error - Booting image normal..." + echo "No Error - Booting image normal... " >> $neoLOG + else + if [ -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/.control_boot_new_image ]; then + echo " First start image - The first attempt to launch a new image..." >> $neoLOG + echo "First start image - The first attempt to launch a new image... " + echo "====================================================> " + rm -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/.control_boot_new_image > /dev/null 2>&1 + else + if [ ! -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/.control_ok ] ; then + /usr/bin/showiframe /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/error.mvi > /dev/null 2>&1 + echo " Wrong kernel. FATAL ERROR - Back to image Flash..." >> $neoLOG + echo "Wrong kernel. Press number 3" > `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$UPLOAD/.kernel/used_flash_kernel + ln -sfn /sbin/init.sysvinit /sbin/init + echo "Flash " > `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/.neonextboot + /bin/umount /media/usb > /dev/null 2>&1 + /bin/umount /media/hdd > /dev/null 2>&1 + echo -n "<<>>" + reboot -d -f + fi + fi + fi + echo "NeoBoot is booting" $TARGET " from " `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` + if [ -d $NEODEVICE$IMAGEKATALOG/$TARGET ]; then + if [ -f $NEODEVICE$IMAGEKATALOG/$TARGET/etc/init.d/udev ]; then + sed -ie "s#\$4#\$3#g" $NEODEVICE$IMAGEKATALOG/$TARGET/etc/init.d/udev + fi + if [ $HARDWARETYPE != "armv7l" ]; then + if [ -f $NEODEVICE$IMAGEKATALOG/$TARGET/usr/share/bootlogo.mvi ]; then + /usr/bin/showiframe $NEODEVICE$IMAGEKATALOG/$TARGET/usr/share/bootlogo.mvi + else + /usr/bin/showiframe $NEODEVICE$IMAGEKATALOG/$TARGET/usr/share/bootlogo.mvi fi - - if [ -f $IMAGE/$TARGET/usr/share/bootlogo.mvi ]; then - /usr/bin/showiframe $IMAGE/$TARGET/usr/share/bootlogo.mvi > /dev/null 2>&1 - fi - - sleep 1 - - /bin/mount -o bind /dev $IMAGE/$TARGET/dev - /bin/mount -o bind /proc $IMAGE/$TARGET/proc - /bin/mount -o bind /sys $IMAGE/$TARGET/sys - rm $IMAGE/$TARGET/media/neoboot > /dev/null 2>&1 - mkdir $IMAGE/$TARGET/media/neoboot > /dev/null 2>&1 - orgimag=`mount | sed '/sd/!d' | cut -d" " -f1` - rm -f $IMAGE/$TARGET/usr/bin/enigma2_pre_start.sh - for item in $orgimag; do - ohdd=`echo $item | cut -d"/" -f3` - nhdd=`mount | sed "/\$ohdd/!d" | sed q | cut -d" " -f3` - if [ $nhdd == '$NEO' ]; then - echo $nhdd - echo "mkdir "$nhdd >> $IMAGE/$TARGET/usr/bin/enigma2_pre_start.sh - echo "mount "$item $nhdd >> $IMAGE/$TARGET/usr/bin/enigma2_pre_start.sh - else - echo "umount "$nhdd >> $IMAGE/$TARGET/usr/bin/enigma2_pre_start.sh - echo "mkdir "$nhdd >> $IMAGE/$TARGET/usr/bin/enigma2_pre_start.sh - echo "mount "$item $nhdd >> $IMAGE/$TARGET/usr/bin/enigma2_pre_start.sh - fi - done - - if [ -f $IMAGE/$TARGET/usr/bin/enigma2_pre_start.sh ]; then - chmod 755 $IMAGE/$TARGET/usr/bin/enigma2_pre_start.sh - fi - echo "----------------------------------------" - echo " -=*[ BOOT UP IMAGE FROM DISK ]*=- " - echo "----------------------------------------" - - - if [ ! -f /media/neoboot/ImageBoot/$TARGET/media/neoboot/ImageBoot/.neonextboot ]; then - /bin/mount -o bind /media/neoboot /media/neoboot/ImageBoot/$TARGET/media/neoboot - fi - - DEVICES1=`ls /media` - for DEVICE in $DEVICES1; - do - if [ -f /media/$DEVICE/ImageBoot/.neonextboot ]; then - /bin/mount -o bind /media/neoboot /media/neoboot/ImageBoot/$TARGET/media/$DEVICE - fi - done - - cd /media/neoboot/ImageBoot/$TARGET; - - if [ -f $IMAGE/$TARGET/sbin/init.sysvinit ]; then - exec /usr/sbin/chroot . /sbin/init.sysvinit $* - elif [ -f $IMAGE/$TARGET/sbin/init ]; then - exec /usr/sbin/chroot . /sbin/init $* - else - echo " " - echo " NEOBOOT - ERROR !!! " - echo "Nie odnaleziono poprawnie rozpakowanego image "$TARGET" z partycji " $DEVICE - echo " Sprawdz poprawnosc rozpakowanych katalogow w wybranym image. " - echo " Powrot do image Flash... " - rm -f $IMAGEBOOT; touch $IMAGEBOOT; echo "Flash " >> $IMAGEBOOT - /usr/bin/showiframe $NEOBOOT/error.mvi > /dev/null 2>&1 - sync; sleep 10; exec /sbin/init.sysvinit $* - - fi - exit 0 - - fi + fi + sleep 1 + /bin/mount -o bind /dev $NEODEVICE$IMAGEKATALOG/$TARGET/dev + /bin/mount -o bind /proc $NEODEVICE$IMAGEKATALOG/$TARGET/proc + /bin/mount -o bind /sys $NEODEVICE$IMAGEKATALOG/$TARGET/sys + rm $NEODEVICE$IMAGEKATALOG/$TARGET$NEODEVICE > /dev/null 2>&1 + mkdir $NEODEVICE$IMAGEKATALOG/$TARGET$NEODEVICE > /dev/null 2>&1 + if [ $HOSTNAME = "vuultimo4k" ] || [ $HOSTNAME = "vusolo4k" ] || [ $HOSTNAME = "vuuno4kse" ] || [ $HOSTNAME = "vuuno4k" ]; then + break; + else + orgimag=`mount | sed '/sd/!d' | cut -d" " -f1` + rm -f $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh + for item in $orgimag; do + ohdd=`echo $item | cut -d"/" -f3` + nhdd=`mount | sed "/\$ohdd/!d" | grep '' | cut -d' ' -f3` + echo "Copied mount to run image." $nhdd >> $neoLOG + echo $nhdd + echo "mkdir "$nhdd >> $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh + echo "mount "$item $nhdd >> $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh + done + chmod 755 `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh + echo "NeoBOOT created the file enigma2_pre_start.sh " + if [ ! -e $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh ]; then + cp -f /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh #nie powinno sie zdarzyc + fi + fi + echo " [NEOBOOT] Use chroot ... exec /usr/sbin/chroot..." + cp -f -r /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh $NEODEVICE$IMAGEKATALOG/$TARGET/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh + #/bin/mount /dev/sda1 `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$TARGET/media/hdd + if [ -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/sbin/init ]; then + echo "----------------------------------------" + echo " -=*[ BOOT UP IMAGE FROM DISK ]*=- " + echo "----------------------------------------" + echo " -=*[ BOOT UP IMAGE FROM DISK ]*=- " >> $neoLOG + echo "Boot from " `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` >> $neoLOG + echo "start file - init >" $TARGET >> $neoLOG + echo "====================================================> " + exec /usr/sbin/chroot `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET /sbin/init.sysvinit + elif [ -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/sbin/init.sysvinit ]; then + echo " start file - init.sysvinit" >> $neoLOG + exec /usr/sbin/chroot `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET /sbin/init + echo "====================================================> " + else + echo " NEOBOOT - ERROR !!! " + echo "Not found correctly unpacked image "$TARGET" z partycji " $DEVICE + echo "Check the correctness of unpacked catalogs in the selected one image. " + echo " Back to image Flash... " + /usr/bin/showiframe /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/error.mvi > /dev/null 2>&1 + echo "Flash " > `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/.neonextboot + echo "Used Kernel: Reinstall kernel !" > `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$UPLOAD/.kernel/used_flash_kernel + /bin/umount /media/usb > /dev/null 2>&1 + /bin/umount /media/hdd > /dev/null 2>&1 + echo -n " FATAL ERROR - Back to image Flash...\n<<>>" >> $neoLOG + echo -n "<<>>" + ln -sfn /sbin/init.sysvinit /sbin/init + reboot -d -f + fi + exit 0 + fi fi fi - -if [ -f /sbin/init.sysvinit ]; then - exec /sbin/init.sysvinit $* +# boot Flash +if [ -f /sbin/init.sysvinit ]; then + echo "Running /sbin/init.sysvinit - boot Flash" + exec /sbin/init.sysvinit $1 fi - exit 0 ;; esac -exit - \ No newline at end of file +exit \ No newline at end of file diff --git a/NeoBoot/bin/neoinitmipsvu b/NeoBoot/bin/neoinitmipsvu index 59c54a9..13450da 100644 --- a/NeoBoot/bin/neoinitmipsvu +++ b/NeoBoot/bin/neoinitmipsvu @@ -1,17 +1,50 @@ #!/bin/sh -#script mod by gutosie -IMAGE=/media/neoboot/ImageBoot -IMAGEBOOT=/media/neoboot/ImageBoot/.neonextboot -NEO=/media/neoboot +#DESCRIPTION = This script mod. by gutosie +#NeoBoot INIT Version: 9.12 vip +#Scrypt Unix Shell - init for neoboot NEOBOOT=/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot MODPROBE=/sbin/modprobe -BOXNAME=`cat /etc/hostname` -FINDBOOT=/media/*/ImageBoot/.neonextboot -CELBOOT=`cat $FINDBOOT` - -if [ $CELBOOT = "Flash" ] || [ -e /tmp/.init_reboot ] ; then - exec /sbin/init.sysvinit $1 -else +NEODEVICE=`cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` +IMAGEKATALOG=ImageBoot +HOSTNAME=`cat /etc/hostname` +echo "====================================================> " +echo " " +echo " -=*[ NEOBOOT - BOOT UP ]*=- " +echo " NEO BOOT INIT Version: gutosie " +echo " q(-_-)p " +echo " " +echo "====================================================> " +if [ -e /tmp/.init_reboot ]; then + rm /tmp/.init_reboot > /dev/null 2>&1 + break; +else + if [ -e `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/.neonextboot ] ; then + CELBOOT=`cat $NEODEVICE$IMAGEKATALOG/.neonextboot` + if [ $CELBOOT = "Flash" ]; then + exec /sbin/init.sysvinit $1 + exit 0 + else + break; + fi + fi + mknod /dev/sda b 8 0 + mknod /dev/sda1 b 8 1 + mknod /dev/sda2 b 8 2 + mknod /dev/sdb b 8 16 + mknod /dev/sdb1 b 8 17 + mknod /dev/sdb2 b 8 18 + mknod /dev/sdc b 8 32 + mknod /dev/sdc1 b 8 33 + mknod /dev/sdc2 b 8 34 + mknod /dev/sdd b 8 48 + mknod /dev/sdd1 b 8 49 + mknod /dev/sdd2 b 8 50 + mkdir /dev/input + mknod /dev/input/event0 c 13 64 + mknod /dev/fb0 c 29 0 + mkdir /dev/fb + ln -s ../fb0 /dev/fb/0 + sleep 1 LIBDIR=/lib/modules/`uname -r` if [ ! -d $LIBDIR ]; then LIBDIR=/lib/modules/`ls /lib/modules | tail -n 1` @@ -19,9 +52,10 @@ else if [ `mount | grep /proc | wc -l` -lt 1 ]; then /bin/mount -t proc proc /proc > /dev/null 2>&1 /bin/mount -t sysfs sysfs /sys > /dev/null 2>&1 - /sbin/depmod -Ae > /dev/null 2>&1 - fi + /sbin/depmod -Ae > /dev/null 2>&1 + fi sleep 2 + /usr/bin/showiframe $NEOBOOT/neologo.mvi > /dev/null 2>&1 mnttest="nouuid" if [ -e $NEOBOOT/bin/install ]; then orgimag1=`mount | sed '/sd/!d' | cut -d" " -f1` @@ -31,106 +65,192 @@ else if [ $selectmnt == $item ]; then echo "selectmnt=" $selectmnt mnttest="uuid" - mount $selectmnt $NEO > /dev/null 2>&1 + mount $selectmnt $NEODEVICE > /dev/null 2>&1 fi - if [ ! -e $NEO/ImageBoot ]; then + if [ ! -e $NEODEVICE$IMAGEKATALOG ]; then echo "NEOBOOT hasn't been installed on: " $selectmnt - umount $NEO > /dev/null 2>&1 + umount $NEODEVICE > /dev/null 2>&1 else echo "NEOBOOT has been installed on: " $selectmnt break; - fi + fi done - fi - if [ ! -e $NEO ]; then - mkdir $NEO > /dev/null 2>&1 - fi + fi + if [ ! -e $NEODEVICE ]; then + mkdir $NEODEVICE > /dev/null 2>&1 + fi if [ $mnttest == "nouuid" ] ; then echo "NeoBoot mount by Device" DEVICES1=`find /dev/sd??` for DEVICE in $DEVICES1; do - if [ -e $NEO ]; then + if [ -e $NEODEVICE ]; then echo "neoboot checking installation on: " $DEVICE - mount $DEVICE $NEO > /dev/null 2>&1 + mount $DEVICE $NEODEVICE > /dev/null 2>&1 fi - - if [ ! -e $NEO/ImageBoot ]; then + if [ ! -e $NEODEVICE$IMAGEKATALOG ]; then echo "NeoBoot hasn't been installed on: " $DEVICE - umount $NEO > /dev/null 2>&1 + umount $NEODEVICE > /dev/null 2>&1 else echo "NEOBOOTt has been installed on: " $DEVICE break; - fi + fi done - elif [ $mnttest == "uuid" ]; then + elif [ $mnttest == "uuid" ]; then echo "NEOBOOT mount by UUID" fi - if [ ! -e $IMAGEBOOT ]; then + if [ ! -e $NEODEVICE$IMAGEKATALOG/.neonextboot ]; then + if [ -e /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh ]; then + /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh > /dev/null 2>&1 + echo "_______________________NeoBoot mount by MOUNTPOINT_______________________" + fi + fi + neoLOG=$NEODEVICE$IMAGEKATALOG/initneo.log + if [ -f $neoLOG ]; then + rm -f $neoLOG + touch $neoLOG + fi + echo " >>> START NEXT LOG... >>> " >> $neoLOG + echo "..............-=*[ NEOBOOT - BOOT UP ]*=-.............." >> $neoLOG + echo " ____q(-_-)p____START NEXT Image...____q(-_-)p____ " >> $neoLOG + echo "......................................................." >> $neoLOG + echo "Tuner name: " `cat /etc/hostname` >> $neoLOG + echo "Boot image: " `cat $NEODEVICE$IMAGEKATALOG/.neonextboot` >> $neoLOG + echo "Init image, base kernel: " `cat $NEODEVICE$IMAGEKATALOG/.neonextboot` >> $neoLOG + if [ ! -e $NEODEVICE$IMAGEKATALOG/.neonextboot ]; then ln -sfn /sbin/init.sysvinit /sbin/init - echo "Flash " > $IMAGEBOOT + /usr/bin/showiframe /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/error.mvi > /dev/null 2>&1 + echo "Flash " > $NEODEVICE$IMAGEKATALOG/.neonextboot echo "Used Kernel: Reinstall kernel !" > /media/neoboot/ImagesUpload/.kernel/used_flash_kernel + echo " Sending all processes the TERM- KILL signal..." + echo -n "<<>>" + echo " Sending all processes the TERM- KILL signal..." >> $neoLOG + echo "Error mounting, Return to image Flash..."; echo "Error mounting, Return to image Flash..." >> $neoLOG + /bin/umount /media/usb > /dev/null 2>&1 + /bin/umount /media/hdd > /dev/null 2>&1 reboot -f - fi + fi TARGET=Flash - if [ -f $IMAGEBOOT ]; then - TARGET=`cat $IMAGEBOOT` - fi + if [ -f $NEODEVICE$IMAGEKATALOG/.neonextboot ]; then + TARGET=`cat $NEODEVICE$IMAGEKATALOG/.neonextboot` + fi + #TARGET=Flash + HARDWARETYPE=`uname -m` if [ $TARGET = "Flash" ]; then - echo "NEOBOOT is booting image from " $TARGET - /bin/umount $NEO > /dev/null 2>&1 - /bin/umount /media/usb > /dev/null 2>&1 - /bin/umount /media/hdd > /dev/null 2>&1 + echo "NEOBOOT is booting image from " $TARGET + echo " BOOT UP IMAGE FROM FLASH " >> $neoLOG + /bin/umount /media/usb > /dev/null 2>&1 + /bin/umount /media/hdd > /dev/null 2>&1 + if [ $HARDWARETYPE != "armv7l" ]; then + /usr/bin/showiframe /usr/share/bootlogo.mvi > /dev/null 2>&1 + fi + echo "----------------------------------" + echo " BOOT UP IMAGE FROM FLASH " + echo "----------------------------------"; + ln -sfn /sbin/init.sysvinit /sbin/init else - echo "NEOBOOT is booting" $TARGET " from " $DEVICE - echo 3 > /proc/sys/vm/drop_caches - if [ -d $NEO/ImageBoot/$TARGET ]; then - if [ -f $NEO/ImageBoot/$TARGET/etc/init.d/udev ]; then - sed -ie s!"\$4"!"\$3"!g $NEO/ImageBoot/$TARGET/etc/init.d/udev + ######### test boot new imaga>>>> + if [ -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/.control_ok ]; then + echo "No Error - Booting image normal..." + echo "No Error - Booting image normal... " >> $neoLOG + else + if [ -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/.control_boot_new_image ]; then + echo " First start image - The first attempt to launch a new image..." >> $neoLOG + echo "First start image - The first attempt to launch a new image... " + echo "====================================================> " + rm -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/.control_boot_new_image > /dev/null 2>&1 + else + if [ ! -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/.control_ok ] ; then + /usr/bin/showiframe /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/error.mvi > /dev/null 2>&1 + echo " Wrong kernel. FATAL ERROR - Back to image Flash..." >> $neoLOG + echo "Wrong kernel. Press number 3" > `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$UPLOAD/.kernel/used_flash_kernel + ln -sfn /sbin/init.sysvinit /sbin/init + echo "Flash " > `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/.neonextboot + /bin/umount /media/usb > /dev/null 2>&1 + /bin/umount /media/hdd > /dev/null 2>&1 + echo -n "<<>>" + reboot -d -f + fi + fi + fi + echo "NeoBoot is booting" $TARGET " from " `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` + if [ -d $NEODEVICE$IMAGEKATALOG/$TARGET ]; then + if [ -f $NEODEVICE$IMAGEKATALOG/$TARGET/etc/init.d/udev ]; then + sed -ie "s#\$4#\$3#g" $NEODEVICE$IMAGEKATALOG/$TARGET/etc/init.d/udev fi - sleep 1 - /bin/mount -o bind /dev $NEO/ImageBoot/$TARGET/dev - /bin/mount -o bind /proc $NEO/ImageBoot/$TARGET/proc - /bin/mount -o bind /sys $NEO/ImageBoot/$TARGET/sys - rm $NEO/ImageBoot/$TARGET$NEO > /dev/null 2>&1 - mkdir $NEO/ImageBoot/$TARGET$NEO > /dev/null 2>&1 + if [ $HARDWARETYPE != "armv7l" ]; then + if [ -f $NEODEVICE$IMAGEKATALOG/$TARGET/usr/share/bootlogo.mvi ]; then + /usr/bin/showiframe $NEODEVICE$IMAGEKATALOG/$TARGET/usr/share/bootlogo.mvi + else + /usr/bin/showiframe $NEODEVICE$IMAGEKATALOG/$TARGET/usr/share/bootlogo.mvi + fi + fi + sleep 1 + /bin/mount -o bind /dev $NEODEVICE$IMAGEKATALOG/$TARGET/dev + /bin/mount -o bind /proc $NEODEVICE$IMAGEKATALOG/$TARGET/proc + /bin/mount -o bind /sys $NEODEVICE$IMAGEKATALOG/$TARGET/sys + rm $NEODEVICE$IMAGEKATALOG/$TARGET$NEODEVICE > /dev/null 2>&1 + mkdir $NEODEVICE$IMAGEKATALOG/$TARGET$NEODEVICE > /dev/null 2>&1 + if [ $HOSTNAME = "vuultimo4k" ] || [ $HOSTNAME = "vusolo4k" ] || [ $HOSTNAME = "vuuno4kse" ] || [ $HOSTNAME = "vuuno4k" ]; then + break; + else orgimag=`mount | sed '/sd/!d' | cut -d" " -f1` - rm -f $IMAGE/$TARGET/usr/bin/enigma2_pre_start.sh + rm -f $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh for item in $orgimag; do - ohdd=`echo $item | cut -d"/" -f3` - nhdd=`mount | sed "/\$ohdd/!d" | sed q | cut -d" " -f3` - if [ $nhdd == '$NEO' ]; then - echo $nhdd - echo "mkdir "$nhdd >> $IMAGE/$TARGET/usr/bin/enigma2_pre_start.sh - echo "mount "$item $nhdd >> $IMAGE/$TARGET/usr/bin/enigma2_pre_start.sh - else - echo "umount "$nhdd >> $IMAGE/$TARGET/usr/bin/enigma2_pre_start.sh - echo "mkdir "$nhdd >> $IMAGE/$TARGET/usr/bin/enigma2_pre_start.sh - echo "mount "$item $nhdd >> $IMAGE/$TARGET/usr/bin/enigma2_pre_start.sh - echo ok - fi - done - chmod 755 $IMAGE/$TARGET/usr/bin/enigma2_pre_start.sh - - if [ -f $IMAGE/$TARGET/sbin/init.sysvinit ]; then - exec /usr/sbin/chroot $IMAGE/$TARGET /sbin/init.sysvinit - elif [ -f $IMAGE/$TARGET/sbin/init ]; then - exec /usr/sbin/chroot $IMAGE/$TARGET /sbin/init + ohdd=`echo $item | cut -d"/" -f3` + nhdd=`mount | sed "/\$ohdd/!d" | grep '' | cut -d' ' -f3` + echo "Copied mount to run image." $nhdd >> $neoLOG + echo $nhdd + echo "mkdir "$nhdd >> $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh + echo "mount "$item $nhdd >> $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh + done + chmod 755 `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh + echo "NeoBOOT created the file enigma2_pre_start.sh " + if [ ! -e $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh ]; then + cp -f /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh #nie powinno sie zdarzyc + fi + fi + echo " [NEOBOOT] Use chroot ... exec /usr/sbin/chroot..." + cp -f -r /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh $NEODEVICE$IMAGEKATALOG/$TARGET/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh + #/bin/mount /dev/sda1 `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$TARGET/media/hdd + if [ -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/sbin/init ]; then + echo "----------------------------------------" + echo " -=*[ BOOT UP IMAGE FROM DISK ]*=- " + echo "----------------------------------------" + echo " -=*[ BOOT UP IMAGE FROM DISK ]*=- " >> $neoLOG + echo "Boot from " `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` >> $neoLOG + echo "start file - init >" $TARGET >> $neoLOG + echo "====================================================> " + exec /usr/sbin/chroot `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET /sbin/init.sysvinit + elif [ -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/sbin/init.sysvinit ]; then + echo " start file - init.sysvinit" >> $neoLOG + exec /usr/sbin/chroot `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET /sbin/init + echo "====================================================> " else - echo " " - echo " NEOBOOT - ERROR !!! " - echo "Nie odnaleziono poprawnie rozpakowanego image "$TARGET" z partycji " $DEVICE - echo " Sprawdz poprawnosc rozpakowanych katalogow w wybranym image. " - echo " Powrot do image Flash... " - rm -f $IMAGEBOOT; touch $IMAGEBOOT; echo "Flash " >> $IMAGEBOOT - sync; sleep 10; exec /sbin/init.sysvinit $1 + echo " NEOBOOT - ERROR !!! " + echo "Not found correctly unpacked image "$TARGET" z partycji " $DEVICE + echo "Check the correctness of unpacked catalogs in the selected one image. " + echo " Back to image Flash... " + /usr/bin/showiframe /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/error.mvi > /dev/null 2>&1 + echo "Flash " > `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/.neonextboot + echo "Used Kernel: Reinstall kernel !" > `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$UPLOAD/.kernel/used_flash_kernel + /bin/umount /media/usb > /dev/null 2>&1 + /bin/umount /media/hdd > /dev/null 2>&1 + echo -n " FATAL ERROR - Back to image Flash...\n<<>>" >> $neoLOG + echo -n "<<>>" + ln -sfn /sbin/init.sysvinit /sbin/init + reboot -d -f fi exit 0 fi fi fi +# boot Flash if [ -f /sbin/init.sysvinit ]; then + echo "Running /sbin/init.sysvinit - boot Flash" exec /sbin/init.sysvinit $1 fi - -exit 0 \ No newline at end of file +exit 0 +;; +esac +exit \ No newline at end of file