This commit is contained in:
gutosie
2020-04-13 18:06:56 +02:00
committed by GitHub
parent 5aea86e3ce
commit ce2622d38e

View File

@@ -14,7 +14,6 @@ echo "====================================================> "
NEODEVICE=`cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`
IMAGEKATALOG=ImageBoot
if [ -e /tmp/.init_reboot ]; then
rm /tmp/.init_reboot
break;
@@ -30,7 +29,7 @@ else
break;
fi
fi
LIBDIR=/lib/modules/`uname -r`
if [ ! -d $LIBDIR ]; then
LIBDIR=/lib/modules/`ls /lib/modules | tail -n 1`
@@ -38,46 +37,71 @@ else
echo "Mount kernel filesystems ..."
if [ `mount | grep /proc | wc -l` -lt 1 ]; then
export PATH=/bin:/usr/bin:/sbin:/usr/sbin
/bin/mount -a -t media
/bin/mount -a
/bin/mount -n -t proc proc /proc > /dev/null 2>&1
/bin/mount -n -t sysfs sysfs /sys > /dev/null 2>&1
/sbin/depmod -Ae > /dev/null 2>&1
fi
sleep 1
fi
echo "NeoBoot is starting mdev and mout HDD USB ..."
echo "/sbin/mdev" > /proc/sys/kernel/hotplug
/etc/init.d/mdev > /dev/null 2>&1
sleep 5
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
sleep 2
mnttest="nouuid"
if [ -e /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/install ]; then
orgimag1=`mount | sed '/sd/!d' | cut -d" " -f1`
hdd=`/bin/mount | sed '/\/sd/!d' | grep 'hdd' | cut -d' ' -f1`
usb=`/bin/mount | sed '/\/sd/!d' | grep 'usb' | cut -d' ' -f1`
usb1=`/bin/mount | sed '/\/sd/!d' | grep 'usb' | cut -d' ' -f1`
card=`/bin/mount | sed '/\/sd/!d' | grep 'usb' | cut -d' ' -f1`
cf=`/bin/mount | sed '/\/sd/!d' | grep 'usb' | 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=" $selectmnt
mnttest="uuid"
for item in $orgimag1; do
selectmnt=`/bin/mount | sed '/\/sd/!d' | grep '$selectinstall' | cut -d' ' -f1`
mntselect=`blkid | sed "$selectinstall/!d" | cut -d":" -f1`
if [ $selectinstall == $hdd ]; then
echo "selectinstall=" $selectinstall
mnttest="label"
mount $selectmnt `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` > /dev/null 2>&1
fi
elif [ $selectinstall == $usb ]; then
echo "selectinstall=" $selectinstall
mnttest="label"
mount $selectmnt `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` > /dev/null 2>&1
elif [ $selectinstall == $usb1 ]; then
echo "selectinstall=" $selectinstall
mnttest="label"
mount $selectmnt `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` > /dev/null 2>&1
elif [ $selectinstall == $card]; then
echo "selectinstall=" $selectinstall
mnttest="label"
mount $selectmnt `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` > /dev/null 2>&1
elif [ $selectinstall == $cf ]; then
echo "selectinstall=" $selectinstall
mnttest="label"
mount $selectmnt `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` > /dev/null 2>&1
elif [ $mntselect == $item ]; then
echo "mntselect=" $mntselect
mnttest="uuid"
mount $mntselect `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` > /dev/null 2>&1
echo " 1-2 NeoBoot has been installed on: " $mntselect
break;
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
echo "NeoBoot hasn't been installed on: " $selectinstall
umount -l `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` > /dev/null 2>&1
else
echo "NeoBoot has been installed on: " $selectmnt
echo "NeoBoot has been installed on: " $selectinstall
sleep 10
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??`
@@ -88,35 +112,55 @@ else
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
echo " 4 NeoBoot hasn't been installed on: " $DEVICE
umount -l `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` > /dev/null 2>&1
else
echo "NeoBoot has been installed on: " $DEVICE
echo "2 NeoBoot has been installed on: " $DEVICE
break;
fi
done
elif [ $mnttest == "uuid" ]; then
echo "NeoBoot mount by UUID"
fi
fi
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 "___________________neoMountpoint_______________________ "
sleep 1
echo "_______________________NeoBoot mount by MOUNTPOINT_______________________"
fi
elif [ $mnttest == "label" ]; then
echo "_______________________ NeoBoot mount by LABEL_______________________"
elif [ $mnttest == "uuid" ]; then
echo "_______________________ NeoBoot mount by UUID_______________________ "
fi
neoLOG=$NEODEVICE$IMAGEKATALOG/NeoInit.log
TiME=$(date +"%d.%m.%Y - %H:%M:%S")
if [ -f $neoLOG ]; then
echo "NeoInit.log FOUND"
echo -e "\n \n>>>>>>>>>>>>>>>>> \nSTART NEXT LOG... \n>>>>>>>>>>>>>>>>> \n" >> $neoLOG
echo "..............-=*[ NEOBOOT - BOOT UP ]*=-.............." >> $neoLOG
echo " ____q(-_-)p____START NEXT Image...____q(-_-)p____ " >> $neoLOG
echo "......................................................." >> $neoLOG
echo "\n:>" >> $neoLOG
else
touch $neoLOG
echo
echo "NeoInit.log READY"
fi
echo "Tuner name:" `cat /etc/hostname` >> $neoLOG
echo "Boot image:" `cat $NEODEVICE$IMAGEKATALOG/.neonextboot` >> $neoLOG
echo "Time start:" $TiME >> $neoLOG
echo "Image launched on a base kernel:" `cat $NEODEVICE$IMAGEKATALOG/.neonextboot` >> $neoLOG
UPLOAD=ImagesUpload
# mount /dev/sda1 /media/hdd
if [ ! -e $NEODEVICE$IMAGEKATALOG ]; then
echo "Error mounting, Return to image Flash..."
echo " Sending all processes the TERM- KILL signal..." >> $neoLOG
echo "Error mounting, Return to image Flash..."; echo "Error mounting, Return to image Flash..." >> $neoLOG
sleep 2
ln -sfn /sbin/init.sysvinit /sbin/init
echo "Flash " > $NEODEVICE$IMAGEKATALOG/.neonextboot
echo "Reinstall kernel -Press number 3" > $NEODEVICE$UPLOAD/.kernel/used_flash_kernel
echo " Sending all processes the TERM- KILL signal..."
echo " Sending all processes the TERM- KILL signal..."
/bin/umount -l /media/usb > /dev/null 2>&1
/bin/umount -l /media/hdd > /dev/null 2>&1
reboot -f
fi
@@ -128,7 +172,7 @@ else
HOSTNAME=`cat /etc/hostname`
if [ ! -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/boot/zImage.$HOSTNAME ]; then
echo "Image launched on a base kernel flash. " >> $neoLOG
echo "Image launched on a base kernel flash. " > `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/kernel_flash
MODPROBE=/sbin/modprobe
@@ -171,26 +215,25 @@ else
/sbin/insmod $LIBDIR/kernel/fs/autofs4/autofs4.ko > /dev/null 2>&1
fi
fi
if [ -e /tmp/init_reboot ]; then
break;
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
/bin/umount -l /media/usb > /dev/null 2>&1
/bin/umount -l /media/hdd > /dev/null 2>&1
/usr/bin/showiframe /usr/share/bootlogo.mvi > /dev/null 2>&1
ln -sfn /sbin/init.sysvinit /sbin/init
echo "----------------------------------"
echo " BOOT UP IMAGE FROM FLASH "
echo "----------------------------------"
else
echo "----------------------------------";
echo " BOOT UP IMAGE FROM FLASH " >> $neoLOG
else
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...";
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... ";
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... "
rm -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/.control_boot_new_image > /dev/null 2>&1
else
HOSTNAME=`cat /etc/hostname`
@@ -202,9 +245,12 @@ else
elif [ $HOSTNAME = "vuduo4k" ] ; then
dd if=`cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$UPLOAD/.kernel/flash-kernel-$HOSTNAME.bin of=/dev/mmcblk0p6
fi
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 -l /media/usb > /dev/null 2>&1
/bin/umount -l /media/hdd > /dev/null 2>&1
sleep 5; reboot -f
fi
fi
@@ -215,12 +261,16 @@ else
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
fi
if [ -f $NEODEVICE$IMAGEKATALOG/$TARGET/usr/share/bootlogo.mvi ]; then
HARDWARETYPE=`uname -m`
if [ $HARDWARETYPE != "armv7l" ]; then
echo "NeoBOOT - HARDWARETYPE "
if [ -f $NEODEVICE$IMAGEKATALOG/$TARGET/usr/share/bootlogo.mvi ]; then
/usr/bin/showiframe $NEODEVICE$IMAGEKATALOG/$TARGET/usr/share/bootlogo.mvi
else
else
/usr/bin/showiframe $NEODEVICE$IMAGEKATALOG/$TARGET/usr/share/bootlogo.mvi
fi
fi
sleep 1
@@ -231,42 +281,38 @@ else
rm $NEODEVICE$IMAGEKATALOG/$TARGET$NEODEVICE > /dev/null 2>&1
mkdir $NEODEVICE$IMAGEKATALOG/$TARGET$NEODEVICE > /dev/null 2>&1
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" | sed q | cut -d" " -f3`
echo " COPIED mountpoint.sh - enigma2_pre_start.sh " >> $neoLOG
cp -f /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh
echo ok
done
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 created the file enigma2_pre_start.sh "
echo " [NEOBOOT] Use chroot ... exec /usr/sbin/chroot..."
cp -f -r /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/S50fat.sh $NEODEVICE$IMAGEKATALOG/$TARGET/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/S50fat.sh
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.sysvinit ]; then
#/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.sysvinit ]; then
echo " -=*[ BOOT UP IMAGE FROM DISK ]*=- " >> $neoLOG
echo "Boot from " `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location` >> $neoLOG
echo "start file - init.sysvinit >" $TARGET >> $neoLOG
echo "----------------------------------------"
echo " -=*[ BOOT UP IMAGE FROM DISK ]*=- "
echo "----------------------------------------"
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
elif [ -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/sbin/init ]; then
echo " start file - init" >> $neoLOG
exec /usr/sbin/chroot `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET /sbin/init
else
echo " FATAL ERROR - Back to image Flash..." >> $neoLOG
echo " "
echo " NEOBOOT - ERROR !!! "
echo "Not found correctly unpacked image "$TARGET" z partycji " $DEVICE
@@ -277,6 +323,8 @@ else
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
/bin/umount -l /media/usb > /dev/null 2>&1
/bin/umount -l /media/hdd > /dev/null 2>&1
sleep 15; reboot -f
fi