mirror of
				https://github.com/gutosie/neoboot.git
				synced 2025-10-31 11:25:47 +01:00 
			
		
		
		
	Add files via upload
This commit is contained in:
		
							
								
								
									
										314
									
								
								NeoBoot/bin/dminit
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										314
									
								
								NeoBoot/bin/dminit
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,314 @@ | ||||
| #!/bin/sh | ||||
| #script mod by gutosie | ||||
| #neo init DREAMBOX | ||||
| NEODEVICE=`cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`         | ||||
| IMAGEKATALOG=ImageBoot | ||||
| if [ -e /tmp/.init_reboot ]; then | ||||
|           rm /tmp/.init_reboot | ||||
| 	  break; | ||||
| else | ||||
|     echo "====================================================> " | ||||
|     echo " " | ||||
|     echo "	    -=*[ NEOBOOT - BOOT UP ]*=-     " | ||||
|     echo "     NEO BOOT INIT Version: gutosie   " | ||||
|     echo "	             q(-_-)p                " | ||||
|     echo " " | ||||
|     echo "====================================================> " | ||||
|  | ||||
| 	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 $*	   | ||||
|                    exit 0 | ||||
|             else | ||||
|                 echo " " | ||||
|                 break; | ||||
|             fi | ||||
| 	fi       | ||||
| ########################################  DM     | ||||
| 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 | ||||
| if [ `uname -r | grep 2.6.12 | wc -l` -lt 1 ]; then | ||||
|    if [ ! -e /dev/.udev -a -e /etc/init.d/udev ]; then | ||||
|       /etc/init.d/udev start > /dev/null 2>&1 | ||||
|    fi | ||||
| fi | ||||
|  | ||||
| MODPROBE=/sbin/modprobe | ||||
|  | ||||
| $MODPROBE /sbin/modprobe fp > /dev/null 2>&1 | ||||
| $MODPROBE /sbin/modprobe dreambox_rc2 > /dev/null 2>&1 | ||||
| $MODPROBE /sbin/modprobe dreambox_keyboard > /dev/null 2>&1 | ||||
| $MODPROBE /sbin/modprobe lcd > /dev/null 2>&1 | ||||
| $MODPROBE /sbin/modprobe --force dreambox_keyboard > /dev/null 2>&1 | ||||
| $MODPROBE /sbin/modprobe --force lcd > /dev/null 2>&1 | ||||
|       if [ -f $LIBDIR/extra/head.ko ]; then | ||||
|          /sbin/insmod $LIBDIR/extra/head.ko > /dev/null 2>&1 | ||||
|       else | ||||
|          $MODPROBE xilleon > /dev/null 2>&1 | ||||
|          # for dm800 | ||||
| 		 $MODPROBE bcm7401 > /dev/null 2>&1 | ||||
| 		 $MODPROBE --force bcm7401 > /dev/null 2>&1 | ||||
|          # for dm8000 | ||||
|          $MODPROBE bcm7400 > /dev/null 2>&1 | ||||
|          # for dm500hd and probably dm800se | ||||
|          $MODPROBE bcm7405 > /dev/null 2>&1 | ||||
|       fi                                  | ||||
| #      while true; do                                                           | ||||
| #          if [ -e /dev/dvb/adapter0/video0 ]; then                         | ||||
| #                 break;                                                   | ||||
| #          fi;                                                              | ||||
| #      done;                                                                   | ||||
| #         cat /proc/stb/avs/0/colorformat > /proc/stb/avs/0/colorformat | ||||
|  | ||||
|    if [ -f $LIBDIR/kernel/fs/autofs4/autofs4.ko ]; then | ||||
|       /sbin/insmod $LIBDIR/kernel/fs/autofs4/autofs4.ko > /dev/null 2>&1 | ||||
|    fi | ||||
| #######################  DM | ||||
| 	echo "NeoBoot is starting mdev and mout HDD USB ..."	 | ||||
| 	sleep 5 | ||||
| 	mnttest="nouuid" | ||||
| 	if [ -e /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/install  ]; then | ||||
|         	orgimag1=`mount | sed '/sd/!d' | cut -d" " -f1` | ||||
| 		selectinstall=`cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/install` | ||||
| 		for item in $orgimag1; do | ||||
| 			selectmnt=`blkid | sed "/$selectinstall/!d" | cut -d":" -f1` | ||||
| 			if [ $selectmnt == $item ]; then | ||||
| 				echo "selectmnt is:" $selectmnt | ||||
|                         	mnttest="uuid" | ||||
| 				mount $selectmnt `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` > /dev/null 2>&1 | ||||
| 			fi | ||||
| 			if [ ! -e `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`ImageBoot  ]; then | ||||
| 				echo "NeoBoot hasn't been installed on: " $selectmnt | ||||
| 				umount `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` > /dev/null 2>&1  | ||||
| 			else | ||||
| 				echo "NeoBoot has been installed on: " $selectmnt | ||||
| 				break; | ||||
| 			fi 			 | ||||
| 		done | ||||
| 	fi	 | ||||
| 	if [ ! -e `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG  ]; then | ||||
|             mkdir -p /media/hdd > /dev/null 2>&1  | ||||
|             mkdir -p /media/usb > /dev/null 2>&1 | ||||
| 	fi | ||||
| 	if [ ! -e `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`  ]; then | ||||
| 		mkdir `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` > /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 `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`  ]; then | ||||
| 				echo "neoboot checking installation on: " $DEVICE | ||||
| 				mount $DEVICE `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` > /dev/null 2>&1  | ||||
| 			fi | ||||
| 			if [ ! -e `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`ImageBoot  ]; then | ||||
| 				echo "NeoBoot hasn't been installed on: " $DEVICE | ||||
| 				umount `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` > /dev/null 2>&1  | ||||
| 			else | ||||
| 				echo "NeoBoot has been installed on: " $DEVICE | ||||
| 				break; | ||||
| 			fi  | ||||
| 		done | ||||
| 	elif [ $mnttest == "uuid" ]; then	 | ||||
| 		echo "NeoBoot mount by UUID" | ||||
| 	fi | ||||
| 	if [ ! -e $NEODEVICE$IMAGEKATALOG/.neonextboot  ]; then | ||||
| 	    if [ -e /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh  ]; then | ||||
|                 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh | ||||
|                 echo "___________________neoMountpoint_______________________ "  | ||||
|                 sleep 1 | ||||
| 	    fi                 | ||||
|  | ||||
| 	fi | ||||
| 	if [ $HOSTNAME  = "et5x00" ] ; then | ||||
|             break; | ||||
| 	else | ||||
| 	    MODPROBE=/sbin/modprobe | ||||
|  | ||||
| 	    echo "Load video and frame buffer modules ..." | ||||
|             #modprobe dvb | ||||
|  | ||||
| 	    echo "NeoBoot is loading modules" | ||||
| 	    for mod in dvb; do | ||||
| 		    $MODPROBE $mod | ||||
| 	    done | ||||
| 	fi | ||||
| 	# Hack for loading modules which are not loaded on diffrent kernel images | ||||
| 	/etc/init.d/modutils.sh | ||||
| 	# | ||||
| 	echo "Set BOOTLOGO ..." | ||||
|         sleep 1 | ||||
| 	cat /etc/videomode > /proc/stb/video/videomode | ||||
| 	#we must wait until udev has created the video device | ||||
| 	( | ||||
| 	if [ -d /proc/stb ]; then | ||||
| 		while true; do | ||||
| 			if [ -e /dev/dvb/adapter0/video0 ]; then | ||||
| 				break; | ||||
| 			fi; | ||||
| 		done; | ||||
|                 cat /proc/stb/avs/0/colorformat > /proc/stb/avs/0/colorformat | ||||
| 	fi;  | ||||
| 	[ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neowait.mvi; | ||||
| 	) & | ||||
|         /etc/init.d/bootlogo > /dev/null 2>&1 | ||||
|         sleep 5 | ||||
|         echo "Driverload end" | ||||
| 	if [ -e /tmp/init_reboot ]; then | ||||
| 		  break; | ||||
| 	fi      	 | ||||
|         UPLOAD=ImagesUpload | ||||
|         #mount /dev/sda1 /media/hdd | ||||
| 	if [ ! -e $NEODEVICE$IMAGEKATALOG ]; then | ||||
|                 echo "Error mounting, Return to image Flash..." | ||||
|                 ln -sfn /sbin/init.sysvinit /sbin/init | ||||
|                 echo " Sending all processes the TERM- KILL signal..." | ||||
|                 sleep 2 | ||||
|                 break; | ||||
| 	fi | ||||
| 	TARGET=Flash | ||||
| 	if [ $NEODEVICE = "/media/hdd/" ]; then | ||||
| 	        mount /dev/sda1 /media/hdd > /dev/null 2>&1 | ||||
| 	elif [ $NEODEVICE = "/media/usb/" ]; then | ||||
| 	        mount /dev/sda1 /media/usb > /dev/null 2>&1	         | ||||
| 	fi | ||||
| 	if [ -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/.neonextboot ]; then | ||||
| 	  TARGET=`cat $NEODEVICE$IMAGEKATALOG/.neonextboot` | ||||
| 	fi | ||||
| 	if [ $TARGET = "Flash" ]; then | ||||
| 		echo "NEOBOOT is booting image from " $TARGET | ||||
| 		/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 | ||||
| 		ln -sfn /sbin/init.sysvinit /sbin/init;  | ||||
|                 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh | ||||
|                 echo "----------------------------------" | ||||
| 	        echo "     BOOT UP IMAGE FROM FLASH     " | ||||
|                 echo "----------------------------------"		 | ||||
| 	else | ||||
|  | ||||
|             echo "----------------------------------"; | ||||
| 		    ln -sfn /sbin/init.sysvinit /sbin/init | ||||
| 		     | ||||
|         ######### test boot new imaga>>>> | ||||
| 	if [ -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/.control_ok ]; then | ||||
|                     echo " " | ||||
| 	                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 " " | ||||
|                         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 " " | ||||
|                                 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 "<<<END INIT INFO Rebooting...>>>" | ||||
| 		                        break; | ||||
|                         fi | ||||
| 		    fi | ||||
| 		fi | ||||
| 		echo " " | ||||
|  | ||||
| 		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 [ -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 | ||||
|  | ||||
| 			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 | ||||
|  | ||||
|                         rm -f $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh                       | ||||
|                                                      | ||||
|                             orgimag=`mount | sed '/sd/!d' | cut -d" " -f1` | ||||
|                                for item in $orgimag; do | ||||
|                                    ohdd=`echo  $item | cut -d"/" -f3` | ||||
|                                    nhdd=`mount | sed "/\$ohdd/!d" | sed q | cut -d" " -f3` | ||||
|                                    if [ $nhdd == '$NEODEVICE' ]; then | ||||
|                                       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  | ||||
|                                    else | ||||
|                                       echo "umount "$nhdd  >> $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh | ||||
|                                       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  | ||||
|                                       echo ok  | ||||
|                                    fi     | ||||
|                                done	 | ||||
|                        	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  | ||||
|                        	fi | ||||
|                         chmod 755 `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh                                                                         | ||||
|                         echo "NeoBOOT created the file mount enigma2_pre_start.sh "  | ||||
|                          | ||||
|                         echo " [NEOBOOT] Use chroot ... exec /usr/sbin/chroot..." | ||||
|                                                                        | ||||
| 			if [ -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/sbin/init.sysvinit ]; then    | ||||
|                                     echo "----------------------------------------" | ||||
| 	                            echo "   -=*[ BOOT UP IMAGE FROM DISK ]*=-    " | ||||
|                                     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 ]; then                                     | ||||
|                                     exec /usr/sbin/chroot `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET /sbin/init         | ||||
| 			else | ||||
|                                     echo " "                   | ||||
|                                     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  | ||||
|                                     ln -sfn /sbin/init.sysvinit /sbin/init | ||||
|                                     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 | ||||
|                                     sleep 15  | ||||
|                                     reboot -f | ||||
|  | ||||
| 			fi | ||||
| 			exit 0 | ||||
| 		fi | ||||
| 	fi | ||||
| fi | ||||
|  | ||||
| # boot Flash  | ||||
|  | ||||
| if [ -f /sbin/init.sysvinit ]; then | ||||
| 		#echo "Running /sbin/init.sysvinit" | ||||
| 		exec /sbin/init.sysvinit $1 | ||||
| fi | ||||
|  | ||||
| exit 0 | ||||
| ;; | ||||
| esac | ||||
| exit | ||||
		Reference in New Issue
	
	Block a user