Compare commits
267 Commits
target
...
git-commit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
52fe64fc37 | ||
|
|
db6b349cce | ||
|
|
3b2624a3be | ||
|
|
b4bb89f1a7 | ||
|
|
a5f5f6c451 | ||
|
|
752de0ba41 | ||
|
|
3dac988e48 | ||
|
|
0140e95b05 | ||
|
|
58f2bb64b0 | ||
|
|
33fb5c4f24 | ||
|
|
80a02a1fff | ||
|
|
7983bea2d6 | ||
|
|
dd0d10768a | ||
|
|
f777993eaf | ||
|
|
bd08a24ff3 | ||
|
|
1c3a972b77 | ||
|
|
4de8728e52 | ||
|
|
1bb43ab6fe | ||
|
|
5e5e040a44 | ||
|
|
86097fa8a5 | ||
|
|
425ee58006 | ||
|
|
052176b8e9 | ||
|
|
0603895a68 | ||
|
|
6922580121 | ||
|
|
fa05b5256c | ||
|
|
f6e82c018d | ||
|
|
e8b7c3d0c5 | ||
|
|
cb9be373ac | ||
|
|
9e4d94cde3 | ||
|
|
5e395f7638 | ||
|
|
65252d42b8 | ||
|
|
1086509c60 | ||
|
|
f73a22f391 | ||
|
|
0b854b3419 | ||
|
|
805e7c309c | ||
|
|
5fde288eaa | ||
|
|
4c2060b0cf | ||
|
|
af803be634 | ||
|
|
a361038791 | ||
|
|
27cbf58496 | ||
|
|
44e351a001 | ||
|
|
6663c3581f | ||
|
|
2b4bb95bc8 | ||
|
|
bd6ccbaa2c | ||
|
|
ed2314577f | ||
|
|
be555bcfd7 | ||
|
|
61f20f0f38 | ||
|
|
79045a3813 | ||
|
|
72ad9f04a9 | ||
|
|
352cb35975 | ||
|
|
9fa8cc4646 | ||
|
|
696f819bc0 | ||
|
|
c2957a3e79 | ||
|
|
356724bfe0 | ||
|
|
eaf98d4fa4 | ||
|
|
9de42b9c22 | ||
|
|
25434f9946 | ||
|
|
1d2b465d6b | ||
|
|
9c279003c9 | ||
|
|
44fd15f859 | ||
|
|
363ea9872a | ||
|
|
433f1e7151 | ||
|
|
dd63fe217e | ||
|
|
552a3736bd | ||
|
|
b98308c706 | ||
|
|
2d88114146 | ||
|
|
8a5f0444a2 | ||
|
|
d7c50d0091 | ||
|
|
db179e1990 | ||
|
|
5fc548d969 | ||
|
|
15d156b6dc | ||
|
|
e740f386c0 | ||
|
|
0e69d2d6aa | ||
|
|
90d156dc99 | ||
|
|
9ac06db4d9 | ||
|
|
e3c0f33476 | ||
|
|
1230964acf | ||
|
|
f92cdd3743 | ||
|
|
ba2b54ed14 | ||
|
|
15d5dc4e77 | ||
|
|
2465806f5a | ||
|
|
3bbd264560 | ||
|
|
1797cf794d | ||
|
|
2b876dcf54 | ||
|
|
e7b053bde2 | ||
|
|
e6c6dcd3e9 | ||
|
|
1b1f10e48e | ||
|
|
87b2fec493 | ||
|
|
360f242c88 | ||
|
|
0bac7c6239 | ||
|
|
55258aaad6 | ||
|
|
ca67b93ae1 | ||
|
|
57f75a69d5 | ||
|
|
d8d6f4bf62 | ||
|
|
798be4fbe7 | ||
|
|
c11ae75dd5 | ||
|
|
14ab3b1eb9 | ||
|
|
90c49b7fc2 | ||
|
|
28d3af8ca1 | ||
|
|
623382e603 | ||
|
|
8f2aaa071d | ||
|
|
fb111278b4 | ||
|
|
6f2330d7af | ||
|
|
1f5405ef11 | ||
|
|
c162e37758 | ||
|
|
d8d7f154ee | ||
|
|
f9ad48224a | ||
|
|
09af5aa93c | ||
|
|
df6c87e484 | ||
|
|
b4650d2dbe | ||
|
|
c2e0ba5627 | ||
|
|
d60340aa68 | ||
|
|
18ec4f5649 | ||
|
|
096cb1aed2 | ||
|
|
55223b5899 | ||
|
|
df5322d180 | ||
|
|
ba7374561a | ||
|
|
5941282c90 | ||
|
|
d450c73f4d | ||
|
|
cb92175fcc | ||
|
|
7b7c5f1cbf | ||
|
|
ce2622d38e | ||
|
|
5aea86e3ce | ||
|
|
1f3b918331 | ||
|
|
db99f9246e | ||
|
|
49426a3ddc | ||
|
|
7c3130466f | ||
|
|
71bc17c6c9 | ||
|
|
6d11b1b3f7 | ||
|
|
50e28e41fd | ||
|
|
ed6fbfa73d | ||
|
|
fb108c719e | ||
|
|
213e29e518 | ||
|
|
7488fb242f | ||
|
|
d8631f93e0 | ||
|
|
940bc856c5 | ||
|
|
6da0b67879 | ||
|
|
9330a549a1 | ||
|
|
28097b4634 | ||
|
|
77f53e5fc8 | ||
|
|
f6f7ac063b | ||
|
|
da3ab62269 | ||
|
|
123bf515c5 | ||
|
|
5e07023b39 | ||
|
|
6fab77f352 | ||
|
|
4c9261dcf5 | ||
|
|
99ba24ed9c | ||
|
|
85d6d90587 | ||
|
|
77014049b4 | ||
|
|
c716ad0b26 | ||
|
|
0eaa58b1ef | ||
|
|
e50b10d96c | ||
|
|
627ddaeb40 | ||
|
|
63f41ba590 | ||
|
|
2c95a2a88a | ||
|
|
069f2d9573 | ||
|
|
5de1b3c687 | ||
|
|
f120dd0354 | ||
|
|
71be4cf0c2 | ||
|
|
7b62e506a9 | ||
|
|
731d68c919 | ||
|
|
baf570e8b5 | ||
|
|
4a88f7b4bb | ||
|
|
9e390b6c1d | ||
|
|
4cbe5d18c9 | ||
|
|
f21bb74ad0 | ||
|
|
1d6bde2a27 | ||
|
|
37ae0e51de | ||
|
|
c0e3698ca4 | ||
|
|
be80ba5d40 | ||
|
|
4e3410a4bd | ||
|
|
25aa581d30 | ||
|
|
e07a1ce6b8 | ||
|
|
e663ed5347 | ||
|
|
191d645bc7 | ||
|
|
c65cf08443 | ||
|
|
d4f45e6385 | ||
|
|
b21fe64f68 | ||
|
|
8db2f4a34c | ||
|
|
6f1d6ca8c8 | ||
|
|
767da2d096 | ||
|
|
550b9ed87d | ||
|
|
9cdc584e9d | ||
|
|
56364fa1c0 | ||
|
|
c04ad8d0b1 | ||
|
|
1514c6787a | ||
|
|
946eb75453 | ||
|
|
9d9bb01d86 | ||
|
|
5b5513a040 | ||
|
|
462fe247ad | ||
|
|
1535bbd25f | ||
|
|
665391cffe | ||
|
|
4eb5431588 | ||
|
|
bea62e563f | ||
|
|
84318153ae | ||
|
|
38650cd1e5 | ||
|
|
fa9da92e59 | ||
|
|
3a45b20bb3 | ||
|
|
fa35df2b4a | ||
|
|
1fc8522154 | ||
|
|
0455ac5088 | ||
|
|
a6ffabf023 | ||
|
|
c06f9d8e95 | ||
|
|
edf6bc2e74 | ||
|
|
fb65ebe670 | ||
|
|
cb41293fcb | ||
|
|
041978294c | ||
|
|
b44c8efefc | ||
|
|
417eb40418 | ||
|
|
28717bae11 | ||
|
|
d7fb17aa56 | ||
|
|
ecb529c50b | ||
|
|
de70d0b15a | ||
|
|
a49767453a | ||
|
|
8743a32d8b | ||
|
|
bba3265599 | ||
|
|
fa81aac508 | ||
|
|
e1cf2b7f6e | ||
|
|
279dff61d5 | ||
|
|
67cdf2635f | ||
|
|
c5adb7731b | ||
|
|
90031336ba | ||
|
|
37f35c77fd | ||
|
|
0f579ce855 | ||
|
|
ddaa45466c | ||
|
|
21499e1eda | ||
|
|
da55cfffbe | ||
|
|
4257889575 | ||
|
|
fdda0b843a | ||
|
|
9f6083f055 | ||
|
|
0e0eaff810 | ||
|
|
7fd3801cac | ||
|
|
c90dc6d6dc | ||
|
|
b5811b4dc8 | ||
|
|
b016545258 | ||
|
|
edb57b3c67 | ||
|
|
d118e52e47 | ||
|
|
e67bc611a4 | ||
|
|
82867de787 | ||
|
|
5db907ac3a | ||
|
|
71c60a3738 | ||
|
|
254bae8518 | ||
|
|
601a635a2c | ||
|
|
95b8e9d0e8 | ||
|
|
54fed5c67b | ||
|
|
ebc1c86476 | ||
|
|
f84c832d4a | ||
|
|
6bf418fe44 | ||
|
|
bbdce1ef24 | ||
|
|
b7efd0fc33 | ||
|
|
507fd8a8b6 | ||
|
|
f66bf799b5 | ||
|
|
2b5809ebf6 | ||
|
|
90f55f3af4 | ||
|
|
8e9d5270d9 | ||
|
|
334bd6318c | ||
|
|
4c7a06464a | ||
|
|
93acd58b62 | ||
|
|
0d6bdc5bef | ||
|
|
99f849dc59 | ||
|
|
a29aac3975 | ||
|
|
ed435dd43d | ||
|
|
742bec06df | ||
|
|
272cb6b98e | ||
|
|
c61a6e48d0 | ||
|
|
abb285c5e8 | ||
|
|
e8d6bb20e5 |
@@ -1,132 +0,0 @@
|
||||
#!/bin/sh
|
||||
TARGET=Flash
|
||||
NEODEVICE=`cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`
|
||||
IMAGEKATALOG=ImageBoot
|
||||
UPLOADKATALOG=ImagesUpload
|
||||
|
||||
if [ ! -e $NEODEVICE$IMAGEKATALOG/.neonextboot ]; then
|
||||
mnttest="nouuid"
|
||||
if [ -e $NEOBOOT/bin/install ]; then
|
||||
orgimag1=`mount | sed '/sd/!d' | cut -d" " -f1`
|
||||
selectinstall=`cat $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"
|
||||
mount $selectmnt $NEODEVICE > /dev/null 2>&1
|
||||
fi
|
||||
if [ ! -e $NEODEVICE$IMAGEKATALOG ]; then
|
||||
echo "NEOBOOT hasn't been installed on: " $selectmnt
|
||||
umount $NEODEVICE > /dev/null 2>&1
|
||||
else
|
||||
echo "NEOBOOT has been installed on: " $selectmnt
|
||||
break;
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -e $NEOBOOTMOUNT$IMAGE.neonextboot ] ; then
|
||||
/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh
|
||||
fi
|
||||
|
||||
if [ ! -e $NEODEVICE$IMAGEKATALOG/.neonextboot ]; then
|
||||
ln -sfn /sbin/init.sysvinit /sbin/init
|
||||
echo "Flash " > $NEODEVICE$IMAGEKATALOG/.neonextboot
|
||||
echo "Error - Back to Flash... "
|
||||
sleep 5; #reboot -f
|
||||
fi
|
||||
|
||||
if [ -f $NEODEVICE$IMAGEKATALOG/.neonextboot ]; then
|
||||
TARGET=`cat $NEODEVICE$IMAGEKATALOG/.neonextboot`
|
||||
fi
|
||||
|
||||
|
||||
if [ $TARGET = "Flash" ]; then
|
||||
echo "BOOTNEO is booting image from " $TARGET
|
||||
/usr/bin/showiframe /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neowait.mvi > /dev/null 2>&1
|
||||
sleep 3
|
||||
ln -sfn /sbin/init.sysvinit /sbin/init
|
||||
#reboot -f
|
||||
else
|
||||
######### test boot new imaga>>>>
|
||||
VUMODEL=$( cat /proc/stb/info/vumodel )
|
||||
BOXNAME=$( cat /etc/hostname)
|
||||
DIRECTORY=ImageBoot
|
||||
UPLOAD=ImagesUpload
|
||||
DEVICEBOOT=`cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`
|
||||
if [ -e $DEVICEBOOT$DIRECTORY/$TARGET/.control_ok ]; then
|
||||
[ $PL ] && echo "Nie ma bledu, normalny start image..." || echo "No Error - Booting image normal..."
|
||||
elif [ -e $DEVICEBOOT$DIRECTORY/$TARGET/.control_boot_new_image ]; then
|
||||
echo "First start image - The first attempt to launch a new image... "; rm -f $DEVICEBOOT$DIRECTORY/$TARGET/.control_boot_new_image
|
||||
else
|
||||
if [ -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/boot/zImage.$BOXNAME ]; then
|
||||
VUMODEL=`cat /proc/stb/info/vumodel`
|
||||
BOXNAME=`cat /etc/hostname`
|
||||
if [ ! -e $DEVICEBOOT$DIRECTORY/$TARGET/.control_ok ] ; then
|
||||
if [ $BOXNAME = "vuultimo4k" ] || [ $BOXNAME = "vusolo4k" ] || [ $BOXNAME = "vuuno4kse" ] || [ $BOXNAME = "vuuno4k" ]; then
|
||||
if [ -d /proc/stb ] ; then
|
||||
echo " Install kernel image flash.... " $BOXNAME
|
||||
dd if=$DEVICEBOOT$UPLOAD/.kernel/flash-kernel-$VUMODEL.bin of=/dev/mmcblk0p1
|
||||
fi
|
||||
elif [ $BOXNAME = "vuzero4k" ] ; then
|
||||
if [ -d /proc/stb ] ; then
|
||||
echo " Install kernel image flash.... " $BOXNAME
|
||||
dd if=$DEVICEBOOT$UPLOAD/.kernel/flash-kernel-$VUMODEL.bin of=/dev/mmcblk0p4
|
||||
fi
|
||||
elif [ $BOXNAME = "vuduo4k" ] ; then
|
||||
if [ -d /proc/stb ] ; then
|
||||
echo " Install kernel image flash.... " $BOXNAME
|
||||
dd if=$DEVICEBOOT$UPLOAD/.kernel/flash-kernel-$VUMODEL.bin of=/dev/mmcblk0p6
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
echo "Wrong kernel. Press number 3" > $DEVICEBOOT$UPLOAD/.kernel/used_flash_kernel
|
||||
ln -sfn /sbin/init.sysvinit /sbin/init
|
||||
echo "Flash " > $DEVICEBOOT$DIRECTORY/.neonextboot
|
||||
echo "Error - NeoBoot he can not run it image !!! "
|
||||
echo "Restart STB - Back to Flash... "
|
||||
/usr/bin/showiframe /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/error.mvi > /dev/null 2>&1
|
||||
sleep 10; #reboot -f
|
||||
fi
|
||||
|
||||
######### test boot new image<<<<<
|
||||
if [ -e $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh ] ; then
|
||||
rm -f $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh
|
||||
fi
|
||||
cp -f /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh
|
||||
|
||||
#mount $NEODEVICE /media/neoboot
|
||||
if [ -e $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh ] ; then
|
||||
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 == '/media/usb' ] ; 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
|
||||
echo "[NeoBOOT] created in /usr/bin the file enigma2_pre_start.sh "
|
||||
elif [ $nhdd == '/media/hdd' ] ; 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
|
||||
echo "[NeoBOOT] created in /usr/bin the file 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 "[NeoBOOT] enigma2_pre_start.sh "
|
||||
echo ok
|
||||
fi
|
||||
done
|
||||
fi
|
||||
chmod 0755 $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh
|
||||
echo "NeoBOOT created the file mount enigma2_pre_start.sh "
|
||||
sleep 2
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -1,294 +0,0 @@
|
||||
#!/bin/sh
|
||||
#script mod by gutosie
|
||||
#neo init arm
|
||||
|
||||
echo "====================================================> "
|
||||
echo " "
|
||||
echo " -=*[ NEOBOOT - BOOT UP ]*=- "
|
||||
echo " NEO BOOT INIT Version: gutosie "
|
||||
echo " q(-_-)p "
|
||||
echo " "
|
||||
echo "====================================================> "
|
||||
|
||||
|
||||
NEODEVICE=`cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`
|
||||
IMAGEKATALOG=ImageBoot
|
||||
|
||||
|
||||
if [ -e /tmp/.init_reboot ]; then
|
||||
rm /tmp/.init_reboot
|
||||
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 $*
|
||||
exit 0
|
||||
else
|
||||
echo " "
|
||||
break;
|
||||
fi
|
||||
fi
|
||||
|
||||
LIBDIR=/lib/modules/`uname -r`
|
||||
if [ ! -d $LIBDIR ]; then
|
||||
LIBDIR=/lib/modules/`ls /lib/modules | tail -n 1`
|
||||
fi
|
||||
echo "Mount kernel filesystems ..."
|
||||
if [ `mount | grep /proc | wc -l` -lt 1 ]; then
|
||||
/bin/mount -a -t media
|
||||
/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
|
||||
|
||||
sleep 1
|
||||
|
||||
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 2
|
||||
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=" $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/mountpoint.sh ]; then
|
||||
/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh
|
||||
echo "___________________neoMountpoint_______________________ "
|
||||
sleep 1
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
UPLOAD=ImagesUpload
|
||||
# mount /dev/sda1 /media/hdd
|
||||
if [ ! -e $NEODEVICE$IMAGEKATALOG ]; then
|
||||
echo "Error mounting, Return to image Flash..."
|
||||
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..."
|
||||
reboot -f
|
||||
fi
|
||||
|
||||
TARGET=Flash
|
||||
if [ -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/.neonextboot ]; then
|
||||
TARGET=`cat $NEODEVICE$IMAGEKATALOG/.neonextboot`
|
||||
fi
|
||||
|
||||
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. " > `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/kernel_flash
|
||||
|
||||
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
|
||||
|
||||
# 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;
|
||||
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 2
|
||||
echo "Driverload end"
|
||||
|
||||
if [ -f $LIBDIR/kernel/fs/autofs4/autofs4.ko ]; then
|
||||
/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
|
||||
/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
|
||||
if [ -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/.control_ok ]; then
|
||||
echo "No Error - Booting image normal..."
|
||||
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... ";
|
||||
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`
|
||||
if [ ! -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/.control_ok ] ; then
|
||||
if [ $HOSTNAME = "vuultimo4k" ] || [ $HOSTNAME = "vusolo4k" ] || [ $HOSTNAME = "vuuno4kse" ] || [ $HOSTNAME = "vuuno4k" ]; then
|
||||
dd if=`cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$UPLOAD/.kernel/flash-kernel-$HOSTNAME.bin of=/dev/mmcblk0p1
|
||||
elif [ $HOSTNAME = "vuzero4k" ] ; then
|
||||
dd if=`cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$UPLOAD/.kernel/flash-kernel-$HOSTNAME.bin of=/dev/mmcblk0p4
|
||||
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. 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
|
||||
sleep 5; reboot -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 [ -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
|
||||
@@ -1,275 +0,0 @@
|
||||
#!/bin/sh
|
||||
#script mod by gutosie
|
||||
#neo init arm
|
||||
|
||||
echo "====================================================> "
|
||||
echo " "
|
||||
echo " -=*[ NEOBOOT - BOOT UP ]*=- "
|
||||
echo " NEO BOOT INIT Version: gutosie "
|
||||
echo " q(-_-)p "
|
||||
echo " "
|
||||
echo "====================================================> "
|
||||
|
||||
|
||||
NEODEVICE=`cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`
|
||||
IMAGEKATALOG=ImageBoot
|
||||
|
||||
|
||||
if [ -e /tmp/.init_reboot ]; then
|
||||
rm /tmp/.init_reboot
|
||||
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 $*
|
||||
exit 0
|
||||
else
|
||||
echo " "
|
||||
break;
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
LIBDIR=/lib/modules/`uname -r`
|
||||
if [ ! -d $LIBDIR ]; then
|
||||
LIBDIR=/lib/modules/`ls /lib/modules | tail -n 1`
|
||||
fi
|
||||
echo "Mount kernel filesystems ..."
|
||||
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
|
||||
|
||||
sleep 5
|
||||
|
||||
echo "NeoBoot is starting mdev and mout HDD USB ..."
|
||||
sleep 1
|
||||
echo "/sbin/mdev" > /proc/sys/kernel/hotplug
|
||||
/etc/init.d/mdev > /dev/null 2>&1
|
||||
|
||||
|
||||
############..>>>>>>>>
|
||||
|
||||
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=" $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
|
||||
|
||||
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
|
||||
|
||||
# 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;
|
||||
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 2
|
||||
echo "Driverload end"
|
||||
|
||||
if [ -f $LIBDIR/kernel/fs/autofs4/autofs4.ko ]; then
|
||||
/sbin/insmod $LIBDIR/kernel/fs/autofs4/autofs4.ko > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
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..."
|
||||
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..."
|
||||
reboot -f
|
||||
fi
|
||||
|
||||
|
||||
TARGET=Flash
|
||||
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
|
||||
sync; 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 "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
|
||||
sync; 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
|
||||
@@ -1,318 +0,0 @@
|
||||
#!/bin/sh
|
||||
#DESCRIPTION = This script mod. by gutosie
|
||||
#NeoBoot INIT
|
||||
#Scrypt Unix Shell - init for neoboot
|
||||
|
||||
echo "====================================================> "
|
||||
echo " "
|
||||
echo " -=*[ NEOBOOT - BOOT UP ]*=- "
|
||||
echo " NEO BOOT INIT Version: gutosie "
|
||||
echo " q(-_-)p "
|
||||
echo " "
|
||||
echo "====================================================> "
|
||||
|
||||
NEODEVICE=`cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`
|
||||
IMAGEKATALOG=ImageBoot
|
||||
|
||||
if [ -e /tmp/.init_reboot ]; then
|
||||
rm /tmp/.init_reboot
|
||||
break;
|
||||
|
||||
else
|
||||
if [ -e $NEODEVICE$IMAGEKATALOG ] ; then
|
||||
CELBOOT=`cat $NEODEVICE$IMAGEKATALOG/.neonextboot`
|
||||
if [ $CELBOOT = "Flash" ]; then
|
||||
exec /sbin/init.sysvinit $*
|
||||
exit 0
|
||||
else
|
||||
echo " "
|
||||
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`
|
||||
fi
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
echo " "
|
||||
|
||||
############..>>>>>>>>
|
||||
echo "Search NEOBOOT... "
|
||||
mnttest="nouuid"
|
||||
if [ -e $NEOBOOT/bin/install ]; then
|
||||
orgimag1=`mount | sed '/sd/!d' | cut -d" " -f1`
|
||||
selectinstall=`cat $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"
|
||||
mount $selectmnt $NEODEVICE > /dev/null 2>&1
|
||||
fi
|
||||
if [ ! -e $NEODEVICE$IMAGEKATALOG ]; then
|
||||
echo "NEOBOOT hasn't been installed on: " $selectmnt
|
||||
umount $NEODEVICE > /dev/null 2>&1
|
||||
else
|
||||
echo "NEOBOOT has been installed on: " $selectmnt
|
||||
break;
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [ ! -e $NEODEVICE$IMAGEKATALOG ]; 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 $NEODEVICE ]; then
|
||||
echo "neoboot checking installation on: " $DEVICE
|
||||
mount $DEVICE $NEODEVICE > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
if [ ! -e $NEODEVICE$IMAGEKATALOG ]; then
|
||||
echo "NeoBoot hasn't been installed on: " $DEVICE
|
||||
umount $NEODEVICE > /dev/null 2>&1
|
||||
else
|
||||
echo "NEOBOOTt has been installed on: " $DEVICE
|
||||
break;
|
||||
fi
|
||||
done
|
||||
elif [ $mnttest="uuid" ]; then
|
||||
echo "NEOBOOT mount by UUID"
|
||||
fi
|
||||
|
||||
###>>>>>>>>>>>>>>>>>
|
||||
|
||||
|
||||
#dodatkowe szukanie neoboota
|
||||
#mount /dev/sdb1 $NEO > /dev/null 2>&1 # <<< tu mozesz zmienic sdb1 i wpisac Twoje montowanie dysku dla neoboot
|
||||
|
||||
MODPROBE=/sbin/modprobe
|
||||
|
||||
echo "Load video and frame buffer modules ..."
|
||||
modprobe dvb
|
||||
|
||||
echo "NeoBoot is loading modules"
|
||||
for mod in dvb; do
|
||||
echo "=======================> NeoBoot is loading modules"
|
||||
$MODPROBE $mod
|
||||
done
|
||||
|
||||
# Hack for loading modules which are not loaded on diffrent kernel images
|
||||
/etc/init.d/sysfs.sh
|
||||
/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;
|
||||
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 2
|
||||
echo "Driverload end"
|
||||
|
||||
if [ -f $LIBDIR/kernel/fs/autofs4/autofs4.ko ]; then
|
||||
/sbin/insmod $LIBDIR/kernel/fs/autofs4/autofs4.ko > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
if [ -e /tmp/init_reboot ]; then
|
||||
break;
|
||||
fi
|
||||
|
||||
if [ -e /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/neobm ]; then
|
||||
echo " Neo-Boot start boot manager "
|
||||
echo " Waiting to change image - 20s "
|
||||
echo " "
|
||||
/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neologo.mvi > /dev/null 2>&1
|
||||
sleep 1
|
||||
/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/neobm > /dev/null 2>&1
|
||||
/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/fbclear > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
|
||||
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||
|
||||
UPLOAD=ImagesUpload
|
||||
if [ ! -e $NEODEVICE$IMAGEKATALOG ]; then
|
||||
echo "Error mounting, Return to image Flash..."
|
||||
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..."
|
||||
reboot -f
|
||||
fi
|
||||
|
||||
#ln -sfn /sbin/init.sysvinit /sbin/init #<<<<___after adding it will return to image flash
|
||||
|
||||
TARGET=Flash
|
||||
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
|
||||
sync; ln -sfn /sbin/init.sysvinit /sbin/init#; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neom
|
||||
echo "----------------------------------"
|
||||
echo " BOOT UP IMAGE FROM FLASH "
|
||||
echo "----------------------------------"
|
||||
else
|
||||
|
||||
######### test boot new imaga>>>>
|
||||
if [ -e $NEODEVICE$IMAGEKATALOG/$TARGET/.control_ok ]; then
|
||||
[ $PL ] && echo "Nie ma bledu, normalny start image..." || echo "No Error - Booting image normal..."
|
||||
else
|
||||
if [ -e $NEODEVICE$IMAGEKATALOG/$TARGET/.control_boot_new_image ]; then
|
||||
echo "First start image - The first attempt to launch a new image... "; rm -f $NEODEVICE$IMAGEKATALOG/$TARGET/.control_boot_new_image
|
||||
else
|
||||
echo "Wrong kernel. Press number 3" > $NEODEVICE$UPLOAD/.kernel/used_flash_kernel
|
||||
ln -sfn /sbin/init.sysvinit /sbin/init
|
||||
echo "Flash " > $NEODEVICE$IMAGEKATALOG/.neonextboot
|
||||
echo "Error - NeoBoot he can not run it image !!! "
|
||||
echo "Restart STB - Back to Flash... "
|
||||
echo "NeoBoot is booting" $TARGET
|
||||
sleep 5; reboot -f
|
||||
fi
|
||||
fi
|
||||
######### test boot new image<<<<<
|
||||
|
||||
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
|
||||
|
||||
if [ -f $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh ]; then
|
||||
rm -f $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
cp -f /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh $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 == '`cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`' ]; 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
|
||||
|
||||
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
|
||||
sync; 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
|
||||
@@ -1,309 +0,0 @@
|
||||
#!/bin/sh
|
||||
#DESCRIPTION = This script mod. by gutosie
|
||||
#NeoBoot INIT
|
||||
#Scrypt Unix Shell - init for neoboot
|
||||
|
||||
echo "====================================================> "
|
||||
echo " "
|
||||
echo " -=*[ NEOBOOT - BOOT UP ]*=- "
|
||||
echo " NEO BOOT INIT Version: gutosie "
|
||||
echo " q(-_-)p "
|
||||
echo " "
|
||||
echo "====================================================> "
|
||||
|
||||
NEODEVICE=`cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`
|
||||
IMAGEKATALOG=ImageBoot
|
||||
|
||||
if [ -e /tmp/.init_reboot ]; then
|
||||
rm /tmp/.init_reboot
|
||||
break;
|
||||
|
||||
else
|
||||
if [ -e $NEODEVICE$IMAGEKATALOG ] ; then
|
||||
CELBOOT=`cat $NEODEVICE$IMAGEKATALOG/.neonextboot`
|
||||
if [ $CELBOOT = "Flash" ]; then
|
||||
exec /sbin/init.sysvinit $*
|
||||
exit 0
|
||||
else
|
||||
echo " "
|
||||
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`
|
||||
fi
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
echo " "
|
||||
|
||||
############..>>>>>>>>
|
||||
echo "Search NEOBOOT... "
|
||||
mnttest="nouuid"
|
||||
if [ -e $NEOBOOT/bin/install ]; then
|
||||
orgimag1=`mount | sed '/sd/!d' | cut -d" " -f1`
|
||||
selectinstall=`cat $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"
|
||||
mount $selectmnt $NEODEVICE > /dev/null 2>&1
|
||||
fi
|
||||
if [ ! -e $NEODEVICE$IMAGEKATALOG ]; then
|
||||
echo "NEOBOOT hasn't been installed on: " $selectmnt
|
||||
umount $NEODEVICE > /dev/null 2>&1
|
||||
else
|
||||
echo "NEOBOOT has been installed on: " $selectmnt
|
||||
break;
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [ ! -e $NEODEVICE$IMAGEKATALOG ]; 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 $NEODEVICE ]; then
|
||||
echo "neoboot checking installation on: " $DEVICE
|
||||
mount $DEVICE $NEODEVICE > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
if [ ! -e $NEODEVICE$IMAGEKATALOG ]; then
|
||||
echo "NeoBoot hasn't been installed on: " $DEVICE
|
||||
umount $NEODEVICE > /dev/null 2>&1
|
||||
else
|
||||
echo "NEOBOOTt has been installed on: " $DEVICE
|
||||
break;
|
||||
fi
|
||||
done
|
||||
elif [ $mnttest="uuid" ]; then
|
||||
echo "NEOBOOT mount by UUID"
|
||||
fi
|
||||
###>>>>>>>>>>>>>>>>>
|
||||
HOSTNAME=`cat /etc/hostname`
|
||||
if [ ! -f `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/boot/$HOSTNAME.vmlinux.gz ]; then
|
||||
|
||||
echo "Image launched on a base kernel flash. " > `cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`$IMAGEKATALOG/$TARGET/kernel_flash
|
||||
|
||||
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
|
||||
|
||||
# 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;
|
||||
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 2
|
||||
echo "Driverload end"
|
||||
|
||||
if [ -f $LIBDIR/kernel/fs/autofs4/autofs4.ko ]; then
|
||||
/sbin/insmod $LIBDIR/kernel/fs/autofs4/autofs4.ko > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/fbclear > /dev/null 2>&1
|
||||
|
||||
fi
|
||||
|
||||
#dodatkowe szukanie neoboota
|
||||
#mount /dev/sdb1 $NEO > /dev/null 2>&1 # <<< tu mozesz zmienic sdb1 i wpisac Twoje montowanie dysku dla neoboot
|
||||
|
||||
if [ -e /tmp/init_reboot ]; then
|
||||
break;
|
||||
fi
|
||||
|
||||
UPLOAD=ImagesUpload
|
||||
if [ ! -e $NEODEVICE$IMAGEKATALOG ]; then
|
||||
echo "Error mounting, Return to image Flash..."
|
||||
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..."
|
||||
reboot -f
|
||||
fi
|
||||
|
||||
#ln -sfn /sbin/init.sysvinit /sbin/init #<<<<___after adding it will return to image flash
|
||||
|
||||
TARGET=Flash
|
||||
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
|
||||
sync; ln -sfn /sbin/init.sysvinit /sbin/init#; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neom
|
||||
echo "----------------------------------"
|
||||
echo " BOOT UP IMAGE FROM FLASH "
|
||||
echo "----------------------------------"
|
||||
else
|
||||
|
||||
######### test boot new imaga>>>>
|
||||
if [ -e $NEODEVICE$IMAGEKATALOG/$TARGET/.control_ok ]; then
|
||||
[ $PL ] && echo "Nie ma bledu, normalny start image..." || echo "No Error - Booting image normal..."
|
||||
else
|
||||
if [ -e $NEODEVICE$IMAGEKATALOG/$TARGET/.control_boot_new_image ]; then
|
||||
echo "First start image - The first attempt to launch a new image... "; rm -f $NEODEVICE$IMAGEKATALOG/$TARGET/.control_boot_new_image
|
||||
else
|
||||
echo "Wrong kernel. Press number 3" > $NEODEVICE$UPLOAD/.kernel/used_flash_kernel
|
||||
ln -sfn /sbin/init.sysvinit /sbin/init
|
||||
echo "Flash " > $NEODEVICE$IMAGEKATALOG/.neonextboot
|
||||
echo "Error - NeoBoot he can not run it image !!! "
|
||||
echo "Restart STB - Back to Flash... "
|
||||
echo "NeoBoot is booting" $TARGET
|
||||
sleep 5; reboot -f
|
||||
fi
|
||||
fi
|
||||
######### test boot new image<<<<<
|
||||
|
||||
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
|
||||
|
||||
if [ -f $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh ]; then
|
||||
rm -f $NEODEVICE$IMAGEKATALOG/$TARGET/usr/bin/enigma2_pre_start.sh > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
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 == '`cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location`' ]; 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
|
||||
sync; 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
|
||||
@@ -1,189 +0,0 @@
|
||||
from re import sub
|
||||
from Tools.Directories import fileExists, resolveFilename, SCOPE_CURRENT_SKIN
|
||||
import xml.etree.cElementTree
|
||||
entities = [('ä', u'\xe4'),
|
||||
('ä', u'\xe4'),
|
||||
('ü', u'\xfc'),
|
||||
('ü', u'\xfc'),
|
||||
('ö', u'\xf6'),
|
||||
('ö', u'\xf6'),
|
||||
('Ä', u'\xc4'),
|
||||
('Ä', u'\xc4'),
|
||||
('Ü', u'\xdc'),
|
||||
('Ü', u'\xdc'),
|
||||
('Ö', u'\xd6'),
|
||||
('Ö', u'\xd6'),
|
||||
('ß', u'\xdf'),
|
||||
('ß', u'\xdf'),
|
||||
('…', u'...'),
|
||||
('–', u'-'),
|
||||
(' ', u' '),
|
||||
('"', u'"'),
|
||||
('&', u'&'),
|
||||
(''', u"'"),
|
||||
('<', u'<'),
|
||||
('>', u'>'),
|
||||
('<', u'<'),
|
||||
('>', u'>'),
|
||||
(' ', u' '),
|
||||
('&', u'&'),
|
||||
('"', u'"'),
|
||||
(''', u"'")]
|
||||
|
||||
def nab_strip_html(html):
|
||||
html = html.replace('\n', ' ')
|
||||
html = sub('\\s\\s+', ' ', html)
|
||||
html = sub('<br(\\s+/)?>', '\n', html)
|
||||
html = sub('</?(p|ul|ol)(\\s+.*?)?>', '\n', html)
|
||||
html = sub('<li(\\s+.*?)?>', '-', html)
|
||||
html = html.replace('</li>', '\n')
|
||||
return nab_strip_pass1(html)
|
||||
|
||||
|
||||
def nab_strip_pass1(html):
|
||||
html = sub('<(.*?)>', '', html)
|
||||
html.replace('Ä', '\xc3\x84')
|
||||
html.replace('ä', '\xc3\xa4')
|
||||
html.replace('ä', '\xc3\xa4')
|
||||
html.replace('ü', '\xc3\xbc')
|
||||
html.replace('ü', '\xc3\xbc')
|
||||
html.replace('ö', '\xc3\xb6')
|
||||
html.replace('ö', '\xc3\xb6')
|
||||
html.replace('Ä', '\xc3\x84')
|
||||
html.replace('Ä', '\xc3\x84')
|
||||
html.replace('Ü', '\xc3\x9c')
|
||||
html.replace('Ü', '\xc3\x9c')
|
||||
html.replace('Ö', '\xc3\x96')
|
||||
html.replace('Ö', '\xc3\x96')
|
||||
html.replace('ß', '\xc3\x9f')
|
||||
html.replace('ß', '\xc3\x9f')
|
||||
html.replace('<', '<')
|
||||
html.replace('>', '>')
|
||||
html.replace(' ', ' ')
|
||||
html.replace('&', '&')
|
||||
html.replace('"', '"')
|
||||
html.replace(''', "'")
|
||||
return html
|
||||
|
||||
|
||||
def nab_Read_CCCinfoCfg():
|
||||
myhost = '127.0.0.1'
|
||||
myuser = mypass = ''
|
||||
myport = '16001'
|
||||
if fileExists('/etc/delcccaminfo'):
|
||||
f = open('/etc/delcccaminfo', 'r')
|
||||
for line in f.readlines():
|
||||
line = line.strip()
|
||||
if line.find('HOST ADDRESS:') != -1:
|
||||
myhost = line[13:]
|
||||
elif line.find('WEBINFO USERNAME:') != -1:
|
||||
myuser = line[17:]
|
||||
elif line.find('WEBINFO PASSWORD:') != -1:
|
||||
mypass = line[17:]
|
||||
elif line.find('WEBINFO LISTEN PORT:') != -1:
|
||||
myport = line[20:]
|
||||
|
||||
f.close()
|
||||
myurl = 'http://' + myhost + ':' + myport
|
||||
if myuser and mypass:
|
||||
myurl = 'http://' + myuser + ':' + mypass + '@' + myhost + ':' + myport
|
||||
return [myhost,
|
||||
myuser,
|
||||
mypass,
|
||||
myport,
|
||||
myurl]
|
||||
|
||||
|
||||
def nab_Write_CCCinfoCfg(mycfg):
|
||||
out = open('/etc/delcccaminfo', 'w')
|
||||
strview = 'HOST ADDRESS:' + mycfg[0] + '\n'
|
||||
out.write(strview)
|
||||
strview = 'WEBINFO USERNAME:' + mycfg[1] + '\n'
|
||||
out.write(strview)
|
||||
strview = 'WEBINFO PASSWORD:' + mycfg[2] + '\n'
|
||||
out.write(strview)
|
||||
strview = 'WEBINFO LISTEN PORT:' + mycfg[3] + '\n'
|
||||
out.write(strview)
|
||||
out.close()
|
||||
|
||||
|
||||
def DeliteGetSkinPath():
|
||||
myskinpath = resolveFilename(SCOPE_CURRENT_SKIN, '')
|
||||
if myskinpath == '/usr/share/enigma2/':
|
||||
myskinpath = '/usr/share/enigma2/skin_default/'
|
||||
return myskinpath
|
||||
|
||||
|
||||
def nab_Detect_Machine():
|
||||
machine = 'dm8000'
|
||||
if fileExists('/etc/bhmachine'):
|
||||
f = open('/etc/bhmachine', 'r')
|
||||
machine = f.readline().strip()
|
||||
f.close()
|
||||
return machine
|
||||
|
||||
|
||||
def BhU_get_Version():
|
||||
ver = ''
|
||||
if fileExists('/boot/blackhole/version'):
|
||||
f = open('/boot/blackhole/version', 'r')
|
||||
ver = f.readline().strip()
|
||||
f.close()
|
||||
return ver
|
||||
|
||||
|
||||
def BhU_check_proc_version():
|
||||
ver = ''
|
||||
if fileExists('/boot/blackhole/version'):
|
||||
f = open('/boot/blackhole/version', 'r')
|
||||
ver = f.readline().strip()
|
||||
f.close()
|
||||
return ver
|
||||
|
||||
|
||||
def BhU_checkSkinVersion(skinfile):
|
||||
version = '2.0.0'
|
||||
authors = ['Army', 'Matrix10', 'capa']
|
||||
ret = 'Sorry this skin is not compatible with the current Black Hole image version.'
|
||||
curversion = int(version.replace('.', ''))
|
||||
fullfile = '/usr/share/enigma2/' + skinfile
|
||||
checkver = False
|
||||
checkauth = False
|
||||
if fileExists(fullfile):
|
||||
f = open(fullfile)
|
||||
for line in f.readlines():
|
||||
if line.find('black hole version:') != -1:
|
||||
parts = line.strip().split(':')
|
||||
ver = int(parts[1].strip().replace('.', ''))
|
||||
if ver >= curversion:
|
||||
checkver = True
|
||||
elif line.find('skin author:') != -1:
|
||||
parts = line.strip().split(':')
|
||||
auth = parts[1].strip()
|
||||
for a in authors:
|
||||
if a == auth:
|
||||
checkauth = True
|
||||
|
||||
f.close()
|
||||
if checkver == True:
|
||||
if checkauth == True:
|
||||
ret = 'passed'
|
||||
return ret
|
||||
|
||||
|
||||
def BhU_find_hdd():
|
||||
hdd = ''
|
||||
hdds = ['sda',
|
||||
'sdb',
|
||||
'sdc',
|
||||
'sdd',
|
||||
'sde',
|
||||
'sdf']
|
||||
for device in hdds:
|
||||
filename = '/sys/block/%s/removable' % device
|
||||
if fileExists(filename):
|
||||
if file(filename).read().strip() == '0':
|
||||
hdd = device
|
||||
break
|
||||
|
||||
return hdd
|
||||
@@ -1 +0,0 @@
|
||||
1.4.1
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
import sys, extract
|
||||
if len(sys.argv) < 15:
|
||||
if len(sys.argv) < 13:
|
||||
pass
|
||||
else:
|
||||
extract.NEOBootMainEx(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4], sys.argv[5], sys.argv[6], sys.argv[7], sys.argv[8], sys.argv[9], sys.argv[10], sys.argv[11], sys.argv[12], sys.argv[13], sys.argv[14], sys.argv[15])
|
||||
extract.NEOBootMainEx(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4], sys.argv[5], sys.argv[6], sys.argv[7], sys.argv[8], sys.argv[9], sys.argv[10], sys.argv[11], sys.argv[12], sys.argv[13])
|
||||
@@ -51,7 +51,7 @@ def getCPUtype() :
|
||||
elif lines.find('mips') != -1:
|
||||
cpu='MIPS'
|
||||
return cpu
|
||||
|
||||
|
||||
def getKernelVersion():
|
||||
try:
|
||||
return open('/proc/version', 'r').read().split(' ', 4)[2].split('-', 2)[0]
|
||||
@@ -71,7 +71,7 @@ mediahome = media + '/ImageBoot/'
|
||||
extensions_path = '/usr/lib/enigma2/python/Plugins/Extensions/'
|
||||
dev_null = ' > /dev/null 2>&1'
|
||||
|
||||
def NEOBootMainEx(source, target, stopenigma, CopyFiles, CopyKernel, TvList, Montowanie, LanWlan, Sterowniki, InstallSettings, ZipDelete, RepairFTP, SoftCam, MediaPortal, BlackHole):
|
||||
def NEOBootMainEx(source, target, stopenigma, CopyFiles, CopyKernel, TvList, Sterowniki, InstallSettings, ZipDelete, RepairFTP, SoftCam, MediaPortal, BlackHole):
|
||||
media_target = mediahome + target
|
||||
list_one = ['rm -r ' + media_target + dev_null, 'mkdir ' + media_target + dev_null, 'chmod -R 0777 ' + media_target]
|
||||
for command in list_one:
|
||||
@@ -82,20 +82,21 @@ def NEOBootMainEx(source, target, stopenigma, CopyFiles, CopyKernel, TvList, Mon
|
||||
os.system('touch /tmp/init4; init 4')
|
||||
|
||||
rc = NEOBootExtract(source, target, ZipDelete, BlackHole)
|
||||
|
||||
if not os.path.exists('%s/ImageBoot/%s/usr/lib/enigma2/python/Plugins/Extensions' % (media, target)):
|
||||
os.system('mkdir -p %s/ImageBoot/%s/usr/lib/' % (media, target))
|
||||
os.system('mkdir -p %s/ImageBoot/%s/usr/lib/enigma2' % (media, target))
|
||||
os.system('mkdir -p %s/ImageBoot/%s/usr/lib/enigma2/python' % (media, target))
|
||||
os.system('mkdir -p %s/ImageBoot/%s/usr/lib/enigma2/python/Plugins' % (media, target))
|
||||
os.system('mkdir -p %s/ImageBoot/%s/usr/lib/enigma2/python/Plugins/Extensions' % (media, target))
|
||||
|
||||
|
||||
|
||||
list_two = ['mkdir -p ' + media_target + '/media' + dev_null,
|
||||
'rm ' + media_target + media + dev_null,
|
||||
'rmdir ' + media_target + media + dev_null,
|
||||
'mkdir -p ' + media_target + media + dev_null,
|
||||
#'cp /etc/passwd ' + media_target + '/etc/passwd' + dev_null,
|
||||
'cp /etc/hostname ' + media_target + '/etc/hostname' + dev_null,
|
||||
#'cp -rf /etc/init.d/vuplus-platform-util ' + media_target + '/etc/init.d/vuplus-platform-util' + dev_null,
|
||||
'cp /etc/hostname ' + media_target + '/etc/hostname' + dev_null,
|
||||
'cp -rf ' + extensions_path + 'NeoBoot ' + media_target + extensions_path + 'NeoBoot' + dev_null]
|
||||
for command in list_two:
|
||||
os.system(command)
|
||||
@@ -121,65 +122,65 @@ def NEOBootMainEx(source, target, stopenigma, CopyFiles, CopyKernel, TvList, Mon
|
||||
rc = os.system(cmd)
|
||||
cmd = 'cp -r /lib/firmware %s/ImageBoot/%s/lib > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
os.system('echo "Skopiowano sterowniki systemu. Nie skopiowano kernel.bin dla Ultimo HD - NIE ZALECANE DLA TEGO MODELU."')
|
||||
os.system('echo "Copied system drivers. Not recommended copied kernel.bin for Ultimo HD."')
|
||||
|
||||
elif getBoxHostName() == 'vuultimo' or getCPUSoC() == '7335' or getCPUSoC() == '7325' or getCPUSoC() == '7405' or getCPUSoC() == '7356' or getCPUSoC() == '7424' or getCPUSoC() == '7241' or getCPUSoC() == '7362':
|
||||
os.system('mv ' + getNeoLocation() + 'ImagesUpload/vuplus/' + getBoxVuModel() + '/kernel_cfe_auto.bin ' + media_target + '/boot/' + getBoxHostName() + '.vmlinux.gz' + dev_null)
|
||||
os.system('echo "Skopiowano kernel.bin STB-MIPS"')
|
||||
os.system('echo "Copied kernel.bin STB-MIPS"')
|
||||
|
||||
#Ultra
|
||||
elif getBoxHostName() == 'mbultra' or getCPUSoC() == 'bcm7424':
|
||||
os.system('mv ' + getNeoLocation() + 'ImagesUpload/miraclebox/ultra/kernel.bin ' + media_target + '/boot/' + getBoxHostName() + '.vmlinux.gz' + dev_null)
|
||||
os.system('echo "Skopiowano kernel.bin MiracleBoxUltra. Typ stb - MIPS"')
|
||||
os.system('echo "Copied kernel.bin MiracleBoxUltra. Typ stb - MIPS"')
|
||||
|
||||
#Edision OS MINI
|
||||
elif getBoxHostName() == 'osmini' or getCPUSoC() == 'BCM7362':
|
||||
os.system('mv ' + getNeoLocation() + 'ImagesUpload/osmini/kernel.bin ' + media_target + '/boot/' + getBoxHostName() + '.vmlinux.gz' + dev_null)
|
||||
os.system('echo "Skopiowano kernel.bin Edision OS MINI. Typ stb - MIPS"')
|
||||
os.system('echo "Copied kernel.bin Edision OS MINI. Typ stb - MIPS"')
|
||||
#arm octagon
|
||||
elif getBoxHostName() == 'sf4008': #getCPUSoC() == 'bcm7251' or
|
||||
os.system('mv ' + getNeoLocation() + 'ImagesUpload/' + getBoxHostName() + '/kernel.bin ' + media_target + '/boot/zImage.' + getBoxHostName() + '' + dev_null)
|
||||
os.system('echo "Skopiowano kernel.bin STB-ARM Octagon."')
|
||||
os.system('echo "Copied kernel.bin STB-ARM Octagon."')
|
||||
|
||||
#arm /uclan/ustym4kpro
|
||||
elif getCPUSoC() == '3798mv200' or getBoxHostName() == 'ustym4kpro':
|
||||
os.system('mv ' + getNeoLocation() + 'ImagesUpload/uclan/' + getBoxHostName() + '/kernel.bin ' + media_target + '/boot/zImage.' + getBoxHostName() + '' + dev_null)
|
||||
os.system('echo "Skopiowano kernel.bin STB-ARM uclan ustym4kpro."')
|
||||
os.system('echo "Copied kernel.bin STB-ARM uclan ustym4kpro."')
|
||||
|
||||
|
||||
#arm Galaxy Innvations ET-11000 4K et1x000
|
||||
elif getBoxHostName() == 'et1x000': #getCPUSoC() == 'bcm7251' or
|
||||
os.system('mv ' + getNeoLocation() + 'ImagesUpload/' + getBoxHostName() + '/kernel.bin ' + media_target + '/boot/zImage.' + getBoxHostName() + '' + dev_null)
|
||||
os.system('echo "Skopiowano kernel.bin STB-ARM GI ET-11000 4K."')
|
||||
os.system('echo "Copied kernel.bin STB-ARM GI ET-11000 4K."')
|
||||
|
||||
#arm Dreambox dm920
|
||||
elif getBoxHostName() == 'dm920':
|
||||
os.system('mv ' + getNeoLocation() + 'ImagesUpload/' + getBoxHostName() + '/kernel.bin ' + media_target + '/boot/zImage.' + getBoxHostName() + '' + dev_null)
|
||||
os.system('echo "Skopiowano kernel.bin STB-ARM DM920 4K."')
|
||||
os.system('echo "Copied kernel.bin STB-ARM DM920 4K."')
|
||||
|
||||
#arm Dreambox dm920
|
||||
elif getBoxHostName() == 'ax51':
|
||||
os.system('mv ' + getNeoLocation() + 'ImagesUpload/hd51/kernel.bin ' + media_target + '/boot/zImage.' + getBoxHostName() + '' + dev_null)
|
||||
os.system('echo "Skopiowano kernel.bin STB-ARM AX 4K Box HD51 4K."')
|
||||
os.system('echo "Copied kernel.bin STB-ARM AX 4K Box HD51 4K."')
|
||||
|
||||
#arm Ariva 4K Combo
|
||||
elif getBoxHostName() == 'arivatwin': #getCPUSoC() == 'bcm7251' or
|
||||
os.system('mv ' + getNeoLocation() + 'ImagesUpload/e2/update/kernel.bin ' + media_target + '/boot/zImage.' + getBoxHostName() + '' + dev_null)
|
||||
os.system('echo "Skopiowano kernel.bin STB-ARM Ariva 4K Combo."')
|
||||
os.system('echo "Copied kernel.bin STB-ARM Ariva 4K Combo."')
|
||||
|
||||
#arm Zgemma h7
|
||||
elif getCPUSoC() == 'bcm7251s' or getBoxHostName() == 'h7':
|
||||
os.system('mv ' + getNeoLocation() + 'ImagesUpload/zgemma/' + getBoxHostName() + '/kernel.bin ' + media_target + '/boot/zImage.' + getBoxHostName() + '' + dev_null)
|
||||
os.system('echo "Skopiowano kernel.bin STB-ARM Zgemma h7."')
|
||||
os.system('echo "Copied kernel.bin STB-ARM Zgemma h7."')
|
||||
#arm gbquad4k
|
||||
elif getCPUSoC() == 'bcm7252s' or getBoxHostName() == 'gbquad4k':
|
||||
os.system('mv ' + getNeoLocation() + 'ImagesUpload/gigablue/quad4k' + getBoxHostName() + '/kernel.bin ' + media_target + '/boot/zImage.' + getBoxHostName() + '' + dev_null)
|
||||
os.system('echo "Skopiowano kernel.bin STB-ARM gbquad4k."')
|
||||
os.system('echo "Copied kernel.bin STB-ARM gbquad4k."')
|
||||
|
||||
#arm vuplus
|
||||
elif getCPUSoC() == '7444s' or getCPUSoC() == '7278' or getCPUSoC() == '7376' or getCPUSoC() == '7252s' or getCPUSoC() == '72604':
|
||||
os.system('mv ' + getNeoLocation() + 'ImagesUpload/vuplus/' + getBoxVuModel() + '/kernel_auto.bin ' + media_target + '/boot/zImage.' + getBoxHostName() + '' + dev_null)
|
||||
os.system('echo "Skopiowano kernel.bin STB-ARM"')
|
||||
os.system('echo "Copied kernel.bin STB-ARM"')
|
||||
|
||||
if not os.path.exists('' + getNeoLocation() + 'ImageBoot/.without_copying'):
|
||||
if os.path.exists('/usr/sbin/nandwrite'):
|
||||
@@ -200,45 +201,28 @@ def NEOBootMainEx(source, target, stopenigma, CopyFiles, CopyKernel, TvList, Mon
|
||||
if os.path.exists('/usr/lib/enigma2/python/Plugins/SystemPlugins/FanControl'):
|
||||
cmd = 'cp -r /usr/lib/enigma2/python/Plugins/SystemPlugins/FanControl %s/ImageBoot/%s/usr/lib/enigma2/python/Plugins/SystemPlugins > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if os.path.exists('/usr/lib/enigma2/python/Plugins/Extensions/EmuManager'):
|
||||
cmd = 'cp -r /usr/lib/enigma2/python/Plugins/Extensions/EmuManager %s/ImageBoot/%s/usr/lib/enigma2/python/Plugins/Extensions > /dev/null 2>&1' % (media, target)
|
||||
if os.path.exists('' + extensions_path + 'EmuManager'):
|
||||
cmd = 'cp -r ' + extensions_path + 'EmuManager %s/ImageBoot/%s/usr/lib/enigma2/python/Plugins/Extensions > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if os.path.exists('/usr/lib/enigma2/python/Plugins/Extensions/CamdMenager'):
|
||||
cmd = 'cp -r /usr/lib/enigma2/python/Plugins/Extensions/CamdMenager %s/ImageBoot/%s/usr/lib/enigma2/python/Plugins/Extensions > /dev/null 2>&1' % (media, target)
|
||||
if os.path.exists('' + extensions_path + 'CamdMenager'):
|
||||
cmd = 'cp -r ' + extensions_path + 'CamdMenager %s/ImageBoot/%s/usr/lib/enigma2/python/Plugins/Extensions > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if os.path.exists('/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer'):
|
||||
cmd = 'cp -r /usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer %s/ImageBoot/%s/usr/lib/enigma2/python/Plugins/Extensions > /dev/null 2>&1' % (media, target)
|
||||
if os.path.exists('' + extensions_path + 'IPTVPlayer'):
|
||||
cmd = 'cp -r ' + extensions_path + 'IPTVPlayer %s/ImageBoot/%s/usr/lib/enigma2/python/Plugins/Extensions > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'cp /usr/lib/python*.*/htmlentitydefs.pyo %s/ImageBoot/%s/usr/lib/python*.* > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if os.path.exists('/usr/lib/enigma2/python/Plugins/Extensions/FeedExtra'):
|
||||
cmd = 'cp -r /usr/lib/enigma2/python/Plugins/Extensions/FeedExtra %s/ImageBoot/%s/usr/lib/enigma2/python/Plugins/Extensions > /dev/null 2>&1' % (media, target)
|
||||
if os.path.exists('' + extensions_path + 'FeedExtra'):
|
||||
cmd = 'cp -r ' + extensions_path + 'FeedExtra %s/ImageBoot/%s/usr/lib/enigma2/python/Plugins/Extensions > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if os.path.exists('/usr/lib/enigma2/python/Plugins/Extensions/MyUpdater'):
|
||||
cmd = 'cp -r /usr/lib/enigma2/python/Plugins/Extensions/MyUpdater %s/ImageBoot/%s/usr/lib/enigma2/python/Plugins/Extensions > /dev/null 2>&1' % (media, target)
|
||||
if os.path.exists('' + extensions_path + 'MyUpdater'):
|
||||
cmd = 'cp -r ' + extensions_path + 'MyUpdater %s/ImageBoot/%s/usr/lib/enigma2/python/Plugins/Extensions > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if not os.path.exists('%s/ImageBoot/%s/usr/lib/enigma2/python/boxbranding.so' % (media, target)):
|
||||
cmd = 'cp -r /usr/lib/enigma2/python/boxbranding.so %s/ImageBoot/%s/usr/lib/enigma2/python/boxbranding.so > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
os.system('echo "Skopiowano wtyczki."')
|
||||
os.system('echo "Copied plugins..."')
|
||||
|
||||
|
||||
if not os.path.exists('%s/ImageBoot/%s/etc/enigma2' % (media, target)):
|
||||
cmd = 'mkdir -p %s/ImageBoot/%s/etc/enigma2' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'touch %s/ImageBoot/%s/etc/enigma2/settings' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'grep "config.Nims" /etc/enigma2/settings >> %s/ImageBoot/%s/etc/enigma2/settings' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'grep "config.OpenWebif" /etc/enigma2/settings >> %s/ImageBoot/%s/etc/enigma2/settings' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'grep "config.osd" /etc/enigma2/settings >> %s/ImageBoot/%s/etc/enigma2/settings' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'grep "config.timezone" /etc/enigma2/settings >> %s/ImageBoot/%s/etc/enigma2/settings' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'cp -r /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/S50fat.sh %s/ImageBoot/%s/etc/rcS.d' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
|
||||
if TvList == 'True':
|
||||
if not os.path.exists('%s/ImageBoot/%s/etc/enigma2' % (media, target)):
|
||||
cmd = 'mkdir -p %s/ImageBoot/%s/etc/enigma2' % (media, target)
|
||||
@@ -251,64 +235,7 @@ def NEOBootMainEx(source, target, stopenigma, CopyFiles, CopyKernel, TvList, Mon
|
||||
rc = os.system(cmd)
|
||||
cmd = 'cp /etc/enigma2/lamedb %s/ImageBoot/%s/etc/enigma2' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
os.system('echo "Skopiowano list\xc4\x99 tv."')
|
||||
|
||||
if Montowanie == 'True':
|
||||
cmd = 'grep "UUID=" /etc/fstab >> %s/ImageBoot/%s/etc/fstab' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if os.path.exists('%s/ImageBoot/%s/etc/init.d/udev' % (media, target)):
|
||||
filename = '%s/ImageBoot/%s/etc/init.d/udev' % (media, target)
|
||||
if os.path.exists(filename):
|
||||
filename2 = filename + '.tmp'
|
||||
out = open(filename2, 'w')
|
||||
f = open(filename, 'r')
|
||||
for line in f.readlines():
|
||||
if line.find('exit 0') != -1:
|
||||
line = '\n'
|
||||
out.write(line)
|
||||
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(filename2, filename)
|
||||
|
||||
cmd = 'echo "mount -a /media/hdd; mount -a /media/usb" >> %s/ImageBoot/%s/etc/init.d/udev' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'echo "exit 0" >> %s/ImageBoot/%s/etc/init.d/udev' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'chmod 0755 %s/ImageBoot/%s/etc/init.d/udev' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
|
||||
if os.path.exists('%s/ImageBoot/%s/etc/init.d/mdev'% (media, target)):
|
||||
cmd = 'echo " " >> %s/ImageBoot/%s/etc/init.d/mdev' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'echo "mount -a /media/hdd; mount -a /media/usb" >> %s/ImageBoot/%s/etc/init.d/mdev' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'chmod 0755 %s/ImageBoot/%s/etc/init.d/mdev' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
|
||||
if LanWlan == 'True':
|
||||
if os.path.exists('%s/ImageBoot/%s/etc/vtiversion.info' % (media, target)):
|
||||
os.system('echo "Nie skopiowano LAN-WLAN, nie zalecane dla tego image."')
|
||||
elif os.path.exists('/etc/vtiversion.info') and os.path.exists('%s/usr/lib/enigma2/python/Plugins/PLi' % (media, target)):
|
||||
os.system('echo "Nie skopiowano LAN-WLAN, nie zalecane dla tego image."')
|
||||
elif os.path.exists('/etc/bhversion') and os.path.exists('%s/usr/lib/enigma2/python/Plugins/PLi' % (media, target)):
|
||||
os.system('echo "Nie skopiowano LAN-WLAN, nie zalecane dla tego image."')
|
||||
else:
|
||||
if os.path.exists('/etc/wpa_supplicant.wlan0.conf'):
|
||||
cmd = 'cp -Rpf /etc/wpa_supplicant.wlan0.conf %s/ImageBoot/%s/etc/wpa_supplicant.wlan0.conf > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if os.path.exists('/etc/network/interfaces'):
|
||||
cmd = 'cp -r /etc/network/interfaces %s/ImageBoot/%s/etc/network/interfaces > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if os.path.exists('/etc/wpa_supplicant.conf'):
|
||||
cmd = 'cp -Rpf /etc/wpa_supplicant.conf %s/ImageBoot/%s/etc/wpa_supplicant.conf > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if os.path.exists('/etc/resolv.conf'):
|
||||
cmd = 'cp -Rpf /etc/resolv.conf %s/ImageBoot/%s/etc/resolv.conf > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if os.path.exists('/etc/wl.conf.wlan3'):
|
||||
cmd = 'cp -r /etc/wl.conf.wlan3 %s/ImageBoot/%s/etc/wl.conf.wlan3 > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
os.system('echo "Copied TV list..."')
|
||||
|
||||
if Sterowniki == 'True':
|
||||
if os.path.exists('%s/ImageBoot/%s/lib/modules' % (media, target)):
|
||||
@@ -325,7 +252,7 @@ def NEOBootMainEx(source, target, stopenigma, CopyFiles, CopyKernel, TvList, Mon
|
||||
rc = os.system(cmd)
|
||||
cmd = 'cp -r /lib/firmware %s/ImageBoot/%s/lib > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
os.system('echo "Skopiowano sterowniki systemu."')
|
||||
os.system('echo "System drivers copied..."')
|
||||
|
||||
if InstallSettings == 'True':
|
||||
if not os.path.exists('%s/ImageBoot/%s/etc/enigma2' % (media, target)):
|
||||
@@ -340,7 +267,7 @@ def NEOBootMainEx(source, target, stopenigma, CopyFiles, CopyKernel, TvList, Mon
|
||||
rc = os.system(cmd)
|
||||
cmd = 'cp -a /etc/tuxbox/* %s/ImageBoot/%s/etc/tuxbox' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
os.system('echo "Skopiowano ustawienia systemu."')
|
||||
os.system('echo "System settings copied..."')
|
||||
|
||||
if RepairFTP == 'True':
|
||||
if os.path.exists('%s/ImageBoot/%s/etc/vsftpd.conf' % (media, target)):
|
||||
@@ -359,30 +286,22 @@ def NEOBootMainEx(source, target, stopenigma, CopyFiles, CopyKernel, TvList, Mon
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(filename2, filename)
|
||||
os.system('echo "Naprawa ftp."')
|
||||
os.system('echo "Repair ftp."')
|
||||
|
||||
if SoftCam == 'True':
|
||||
if os.path.exists('/etc/CCcam.cfg'):
|
||||
cmd = 'cp -r -f /etc/CCcam.cfg %s/ImageBoot/%s/etc > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'cp -r /etc/CCcam.cfg %s/ImageBoot/%s/etc > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if os.path.exists('/etc/tuxbox/config'):
|
||||
cmd = 'cp -r -f /etc/tuxbox/config %s/ImageBoot/%s/etc/tuxbox > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if os.path.exists('/etc/init.d/softcam.oscam'):
|
||||
cmd = 'cp -r -f -p /etc/init.d/softcam.osca* %s/ImageBoot/%s/etc/init.d > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if os.path.exists('/etc/init.d/softcam.None'):
|
||||
cmd = 'cp -r -f -p /etc/init.d/softcam.None %s/ImageBoot/%s/etc/init.d > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if os.path.exists('/etc/init.d/softcam.CCcam'):
|
||||
cmd = 'cp -r -f -p /etc/init.d/softcam.softcam.CCcam %s/ImageBoot/%s/etc/init.d > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
|
||||
cmd = 'cp -r /etc/tuxbox/config %s/ImageBoot/%s/etc/tuxbox > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
os.system('echo "Copied softcam files to the installed image..."')
|
||||
|
||||
if MediaPortal == 'True':
|
||||
if os.path.exists('/usr/lib/enigma2/python/Plugins/Extensions/MediaPortal'):
|
||||
cmd = 'cp -r /usr/lib/enigma2/python/Plugins/Extensions/MediaPortal %s/ImageBoot/%s/usr/lib/enigma2/python/Plugins/Extensions > /dev/null 2>&1' % (media, target)
|
||||
if os.path.exists('' + extensions_path + 'MediaPortal'):
|
||||
cmd = 'cp -r ' + extensions_path + 'MediaPortal %s/ImageBoot/%s/usr/lib/enigma2/python/Plugins/Extensions > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'cp -r /usr/lib/enigma2/python/Plugins/Extensions/mpgz %s/ImageBoot/%s/usr/lib/enigma2/python/Plugins/Extensions > /dev/null 2>&1' % (media, target)
|
||||
cmd = 'cp -r ' + extensions_path + 'mpgz %s/ImageBoot/%s/usr/lib/enigma2/python/Plugins/Extensions > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'cp -r /usr/lib/python2.7/argparse.pyo %s/ImageBoot/%s/usr/lib/python2.7 > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
@@ -400,20 +319,42 @@ def NEOBootMainEx(source, target, stopenigma, CopyFiles, CopyKernel, TvList, Mon
|
||||
if not os.path.exists('%s/ImageBoot/%s/etc/enigma2' % (media, target)):
|
||||
cmd = 'mkdir -p %s/ImageBoot/%s/etc/enigma2' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'cp /etc/enigma2/mp_2s4p %s/ImageBoot/%s/etc/enigma2' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'cp /etc/enigma2/mp_config %s/ImageBoot/%s/etc/enigma2' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'cp /etc/enigma2/mp_pluginliste %s/ImageBoot/%s/etc/enigma2' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
os.system('echo "Skopiowano MediaPortal z ustawieniami systemowymi."')
|
||||
elif not os.path.exists('/usr/lib/enigma2/python/Plugins/Extensions/MediaPortal'):
|
||||
if os.path.exists('/etc/enigma2/mp_2s4p'):
|
||||
cmd = 'cp /etc/enigma2/mp_2s4p %s/ImageBoot/%s/etc/enigma2' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if os.path.exists('/etc/enigma2/mp_config'):
|
||||
cmd = 'cp /etc/enigma2/mp_config %s/ImageBoot/%s/etc/enigma2' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if os.path.exists('/etc/enigma2/mp_pluginliste'):
|
||||
cmd = 'cp /etc/enigma2/mp_pluginliste %s/ImageBoot/%s/etc/enigma2' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
os.system('echo "Copied MediaPortal..."')
|
||||
elif not os.path.exists('' + extensions_path + 'MediaPortal'):
|
||||
os.system('echo "MediaPortal not found."')
|
||||
|
||||
# for all image:
|
||||
if not os.path.exists('' + getNeoLocation() + 'ImageBoot/.without_copying'):
|
||||
if os.path.exists('%s/ImageBoot/%s/etc/init.d/udev' % (media, target)):
|
||||
filename = '%s/ImageBoot/%s/etc/init.d/bootmisc.sh' % (media, target)
|
||||
|
||||
if os.path.exists('%s/ImageBoot/%s/etc/rc.local' % (media, target)):
|
||||
filename = '%s/ImageBoot/%s/etc/rc.local' % (media, target)
|
||||
if os.path.exists(filename):
|
||||
filename2 = filename + '.tmp'
|
||||
out = open(filename2, 'w')
|
||||
f = open(filename, 'r')
|
||||
for line in f.readlines():
|
||||
if line.find('exit 0') != -1:
|
||||
line = '\n'
|
||||
out.write(line)
|
||||
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(filename2, filename)
|
||||
cmd = 'echo -n "\n\n/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/userscript.sh \n\nexit 0" >> %s/ImageBoot/%s/etc/rc.local' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'chmod 0755 %s/ImageBoot/%s/etc/rc.local' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
|
||||
if os.path.exists('%s/ImageBoot/%s/etc/init.d/rc.local' % (media, target)):
|
||||
filename = '%s/ImageBoot/%s/etc/init.d/rc.local' % (media, target)
|
||||
if os.path.exists(filename):
|
||||
filename2 = filename + '.tmp'
|
||||
out = open(filename2, 'w')
|
||||
@@ -427,180 +368,206 @@ def NEOBootMainEx(source, target, stopenigma, CopyFiles, CopyKernel, TvList, Mon
|
||||
out.close()
|
||||
os.rename(filename2, filename)
|
||||
|
||||
cmd = 'echo "/etc/init.d/networking stop; /etc/init.d/networking start;" >> %s/ImageBoot/%s/etc/init.d/bootmisc.sh' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'echo "exit 0" >> %s/ImageBoot/%s/etc/init.d/bootmisc.sh' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'chmod 755 %s/ImageBoot/%s/etc/init.d/bootmisc.sh' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'echo -n "\n\n/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/userscript.sh \n\nexit 0" >> %s/ImageBoot/%s/etc/init.d/rc.local' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'chmod 0755 %s/ImageBoot/%s/etc/init.d/rc.local' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
|
||||
namefile = media + '/ImageBoot/' + target + '/etc/fstab'
|
||||
namefile2 = namefile + '.tmp'
|
||||
if os.path.exists(namefile2):
|
||||
out = open(namefile2, 'w')
|
||||
f = open(namefile, 'r')
|
||||
for line in f.readlines():
|
||||
if not os.path.exists('%s/ImageBoot/%s/etc/init.d/rc.local' % (media, target)) and not os.path.exists('%s/ImageBoot/%s/etc/rc.local' % (media, target)) :
|
||||
cmd = 'ln -s %s/ImageBoot/%s/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/userscript.sh %s/ImageBoot/%s/etc/init.d/S99neo.local' % (media,
|
||||
target,
|
||||
media,
|
||||
target)
|
||||
rc = os.system(cmd)
|
||||
|
||||
if line.find('/dev/mmcblk0p1') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mmcblk0p2') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mmcblk0p3') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mmcblk0p4') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mmcblk0p5') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mmcblk0p6') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mmcblk0p7') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mmcblk0p8') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mmcblk0p9') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/root') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mtdblock1') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mtdblock2') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mtdblock3') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mtdblock4') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mtdblock5') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mtdblock6') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mtdblock7') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mtdblock8') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mtdblock9') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/root') != -1:
|
||||
line = '#' + line
|
||||
out.write(line)
|
||||
if not os.path.exists('' + getNeoLocation() + 'ImageBoot/.without_copying'):
|
||||
if not os.path.exists('%s/ImageBoot/%s/etc/enigma2' % (media, target)):
|
||||
cmd = 'mkdir -p %s/ImageBoot/%s/etc/enigma2' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'touch %s/ImageBoot/%s/etc/enigma2/settings' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'grep "config.Nims" /etc/enigma2/settings >> %s/ImageBoot/%s/etc/enigma2/settings' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'grep "av.videomode.DVI" /etc/enigma2/settings >> %s/ImageBoot/%s/etc/enigma2/settings' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'grep "config.OpenWebif" /etc/enigma2/settings >> %s/ImageBoot/%s/etc/enigma2/settings' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'grep "config.osd" /etc/enigma2/settings >> %s/ImageBoot/%s/etc/enigma2/settings' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'grep "config.timezone.val" /etc/enigma2/settings >> %s/ImageBoot/%s/etc/enigma2/settings' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'grep "config.servicelist.startuproot" /etc/enigma2/settings >> %s/ImageBoot/%s/etc/enigma2/settings' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'grep "UUID=" /etc/fstab >> %s/ImageBoot/%s/etc/fstab' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(namefile2, namefile)
|
||||
|
||||
tpmd = media + '/ImageBoot/' + target + '/etc/init.d/tpmd'
|
||||
if os.path.exists(tpmd):
|
||||
#####################################
|
||||
if not os.path.exists('' + media_target + '/boot/zImage.' + getBoxHostName() + ''):
|
||||
namefile = media + '/ImageBoot/' + target + '/etc/fstab'
|
||||
namefile2 = namefile + '.tmp'
|
||||
if os.path.exists(namefile2):
|
||||
out = open(namefile2, 'w')
|
||||
f = open(namefile, 'r')
|
||||
for line in f.readlines():
|
||||
if line.find('/dev/mmcblk0p1') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mmcblk0p2') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mmcblk0p3') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mmcblk0p4') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mmcblk0p5') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mmcblk0p6') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mmcblk0p7') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mmcblk0p8') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mmcblk0p9') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/root') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mtdblock1') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mtdblock2') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mtdblock3') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mtdblock4') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mtdblock5') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mtdblock6') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mtdblock7') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mtdblock8') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/mtdblock9') != -1:
|
||||
line = '#' + line
|
||||
elif line.find('/dev/root') != -1:
|
||||
line = '#' + line
|
||||
out.write(line)
|
||||
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(namefile2, namefile)
|
||||
|
||||
tpmd = media + '/ImageBoot/' + target + '/etc/init.d/tpmd'
|
||||
if os.path.exists(tpmd):
|
||||
os.system('rm ' + tpmd)
|
||||
|
||||
fname = media + '/ImageBoot/' + target + '/usr/lib/enigma2/python/Components/config.py'
|
||||
if os.path.exists(fname):
|
||||
fname2 = fname + '.tmp'
|
||||
out = open(fname2, 'w')
|
||||
f = open(fname, 'r')
|
||||
for line in f.readlines():
|
||||
if line.find('if file(""/proc/stb/info/vumodel")') != -1:
|
||||
line = '#' + line
|
||||
out.write(line)
|
||||
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(fname2, fname)
|
||||
|
||||
|
||||
targetfile = media + '/ImageBoot/' + target + '/etc/vsftpd.conf'
|
||||
if os.path.exists(targetfile):
|
||||
targetfile2 = targetfile + '.tmp'
|
||||
out = open(targetfile2, 'w')
|
||||
f = open(targetfile, 'r')
|
||||
for line in f.readlines():
|
||||
if not line.startswith('nopriv_user'):
|
||||
out.write(line)
|
||||
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(targetfile2, targetfile)
|
||||
|
||||
|
||||
mypath = media + '/ImageBoot/' + target + '/usr/lib/opkg/info/'
|
||||
cmd = 'mkdir -p %s/ImageBoot/%s/var/lib/opkg/info > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if not os.path.exists(mypath):
|
||||
mypath = media + '/ImageBoot/' + target + '/var/lib/opkg/info/'
|
||||
for fn in os.listdir(mypath):
|
||||
if fn.find('kernel-image') != -1 and fn.find('postinst') != -1:
|
||||
filename = mypath + fn
|
||||
filename2 = filename + '.tmp'
|
||||
out = open(filename2, 'w')
|
||||
f = open(filename, 'r')
|
||||
fname = media + '/ImageBoot/' + target + '/usr/lib/enigma2/python/Components/config.py'
|
||||
if os.path.exists(fname):
|
||||
fname2 = fname + '.tmp'
|
||||
out = open(fname2, 'w')
|
||||
f = open(fname, 'r')
|
||||
for line in f.readlines():
|
||||
if line.find('/boot') != -1:
|
||||
line = line.replace('/boot', '/boot > /dev/null 2>\\&1; exit 0')
|
||||
if line.find('if file(""/proc/stb/info/vumodel")') != -1:
|
||||
line = '#' + line
|
||||
out.write(line)
|
||||
|
||||
if f.close():
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(fname2, fname)
|
||||
|
||||
targetfile = media + '/ImageBoot/' + target + '/etc/vsftpd.conf'
|
||||
if os.path.exists(targetfile):
|
||||
targetfile2 = targetfile + '.tmp'
|
||||
out = open(targetfile2, 'w')
|
||||
f = open(targetfile, 'r')
|
||||
for line in f.readlines():
|
||||
if not line.startswith('nopriv_user'):
|
||||
out.write(line)
|
||||
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(targetfile2, targetfile)
|
||||
|
||||
mypath = media + '/ImageBoot/' + target + '/usr/lib/opkg/info/'
|
||||
cmd = 'mkdir -p %s/ImageBoot/%s/var/lib/opkg/info > /dev/null 2>&1' % (media, target)
|
||||
rc = os.system(cmd)
|
||||
if not os.path.exists(mypath):
|
||||
mypath = media + '/ImageBoot/' + target + '/var/lib/opkg/info/'
|
||||
for fn in os.listdir(mypath):
|
||||
if fn.find('kernel-image') != -1 and fn.find('postinst') != -1:
|
||||
filename = mypath + fn
|
||||
filename2 = filename + '.tmp'
|
||||
out = open(filename2, 'w')
|
||||
f = open(filename, 'r')
|
||||
for line in f.readlines():
|
||||
if line.find('/boot') != -1:
|
||||
line = line.replace('/boot', '/boot > /dev/null 2>\\&1; exit 0')
|
||||
out.write(line)
|
||||
|
||||
if f.close():
|
||||
out.close()
|
||||
os.rename(filename2, filename)
|
||||
cmd = 'chmod -R 0755 %s' % filename
|
||||
rc = os.system(cmd)
|
||||
if fn.find('-bootlogo.postinst') != -1:
|
||||
filename = mypath + fn
|
||||
filename2 = filename + '.tmp'
|
||||
out = open(filename2, 'w')
|
||||
f = open(filename, 'r')
|
||||
for line in f.readlines():
|
||||
if line.find('/boot') != -1:
|
||||
line = line.replace('/boot', '/boot > /dev/null 2>\\&1; exit 0')
|
||||
out.write(line)
|
||||
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(filename2, filename)
|
||||
cmd = 'chmod -R 0755 %s' % filename
|
||||
rc = os.system(cmd)
|
||||
if fn.find('-bootlogo.postinst') != -1:
|
||||
filename = mypath + fn
|
||||
filename2 = filename + '.tmp'
|
||||
out = open(filename2, 'w')
|
||||
f = open(filename, 'r')
|
||||
for line in f.readlines():
|
||||
if line.find('/boot') != -1:
|
||||
line = line.replace('/boot', '/boot > /dev/null 2>\\&1; exit 0')
|
||||
out.write(line)
|
||||
if fn.find('-bootlogo.postrm') != -1:
|
||||
filename = mypath + fn
|
||||
filename2 = filename + '.tmp'
|
||||
out = open(filename2, 'w')
|
||||
f = open(filename, 'r')
|
||||
for line in f.readlines():
|
||||
if line.find('/boot') != -1:
|
||||
line = line.replace('/boot', '/boot > /dev/null 2>\\&1; exit 0')
|
||||
out.write(line)
|
||||
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(filename2, filename)
|
||||
cmd = 'chmod -R 0755 %s' % filename
|
||||
rc = os.system(cmd)
|
||||
if fn.find('-bootlogo.postrm') != -1:
|
||||
filename = mypath + fn
|
||||
filename2 = filename + '.tmp'
|
||||
out = open(filename2, 'w')
|
||||
f = open(filename, 'r')
|
||||
for line in f.readlines():
|
||||
if line.find('/boot') != -1:
|
||||
line = line.replace('/boot', '/boot > /dev/null 2>\\&1; exit 0')
|
||||
out.write(line)
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(filename2, filename)
|
||||
cmd = 'chmod -R 0755 %s' % filename
|
||||
rc = os.system(cmd)
|
||||
if fn.find('-bootlogo.preinst') != -1:
|
||||
filename = mypath + fn
|
||||
filename2 = filename + '.tmp'
|
||||
out = open(filename2, 'w')
|
||||
f = open(filename, 'r')
|
||||
for line in f.readlines():
|
||||
if line.find('/boot') != -1:
|
||||
line = line.replace('/boot', '/boot > /dev/null 2>\\&1; exit 0')
|
||||
out.write(line)
|
||||
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(filename2, filename)
|
||||
cmd = 'chmod -R 0755 %s' % filename
|
||||
rc = os.system(cmd)
|
||||
if fn.find('-bootlogo.preinst') != -1:
|
||||
filename = mypath + fn
|
||||
filename2 = filename + '.tmp'
|
||||
out = open(filename2, 'w')
|
||||
f = open(filename, 'r')
|
||||
for line in f.readlines():
|
||||
if line.find('/boot') != -1:
|
||||
line = line.replace('/boot', '/boot > /dev/null 2>\\&1; exit 0')
|
||||
out.write(line)
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(filename2, filename)
|
||||
cmd = 'chmod -R 0755 %s' % filename
|
||||
rc = os.system(cmd)
|
||||
if fn.find('-bootlogo.prerm') != -1:
|
||||
filename = mypath + fn
|
||||
filename2 = filename + '.tmp'
|
||||
out = open(filename2, 'w')
|
||||
f = open(filename, 'r')
|
||||
for line in f.readlines():
|
||||
if line.find('/boot') != -1:
|
||||
line = line.replace('/boot', '/boot > /dev/null 2>\\&1; exit 0')
|
||||
out.write(line)
|
||||
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(filename2, filename)
|
||||
cmd = 'chmod -R 0755 %s' % filename
|
||||
rc = os.system(cmd)
|
||||
if fn.find('-bootlogo.prerm') != -1:
|
||||
filename = mypath + fn
|
||||
filename2 = filename + '.tmp'
|
||||
out = open(filename2, 'w')
|
||||
f = open(filename, 'r')
|
||||
for line in f.readlines():
|
||||
if line.find('/boot') != -1:
|
||||
line = line.replace('/boot', '/boot > /dev/null 2>\\&1; exit 0')
|
||||
out.write(line)
|
||||
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(filename2, filename)
|
||||
cmd = 'chmod -R 0755 %s' % filename
|
||||
rc = os.system(cmd)
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(filename2, filename)
|
||||
cmd = 'chmod -R 0755 %s' % filename
|
||||
rc = os.system(cmd)
|
||||
|
||||
os.system('mkdir -p ' + media_target + '/media/hdd' + dev_null)
|
||||
os.system('mkdir -p ' + media_target + '/media/usb' + dev_null)
|
||||
@@ -618,8 +585,8 @@ def NEOBootMainEx(source, target, stopenigma, CopyFiles, CopyKernel, TvList, Mon
|
||||
out.write('Flash')
|
||||
out.close()
|
||||
if '.tar.xz' not in source and not os.path.exists('' + getNeoLocation() + '/ImageBoot/%s/etc/issue' % target):
|
||||
os.system('echo ""; echo "Nie zainstalowano systemu ! Powodem b\xc5\x82\xc4\x99du instalacji mo\xc5\xbce by\xc4\x87 \xc5\xbale spakowany plik image w zip lub nie jest to sytem dla Twojego modelu ."')
|
||||
os.system('echo "Instalowany system może sieę nie uruchomić poprawnie! Sprawdż poprawność kataogow w instalwoanym image!!!"')
|
||||
os.system('echo ""; echo "No system installed! The reason for the installation error may be badly packed image files or it is not a system for your model."')
|
||||
os.system('echo "The installed system may not start. Check the correctness of the installed image directory!!!"')
|
||||
os.system('rm -r ' + getNeoLocation() + '/ImageBoot/%s' % target )
|
||||
|
||||
if os.path.exists('' + getNeoLocation() + 'ubi'):
|
||||
@@ -634,6 +601,7 @@ def NEOBootMainEx(source, target, stopenigma, CopyFiles, CopyKernel, TvList, Mon
|
||||
os.system('rm -f /tmp/init4; init 3')
|
||||
|
||||
os.system('echo "End of installation:"; date +%T')
|
||||
os.system('echo "If you want to save the installation process from the console press green."')
|
||||
|
||||
def RemoveUnpackDirs():
|
||||
os.chdir(media + '/ImagesUpload')
|
||||
@@ -691,6 +659,12 @@ def RemoveUnpackDirs():
|
||||
elif os.path.exists('' + getNeoLocation() + 'ImagesUpload/h9'):
|
||||
rc = os.system('mv ' + getNeoLocation() + 'ImagesUpload/bootargs.bin ' + getNeoLocation() + 'ImagesUpload/h9; mv ' + getNeoLocation() + 'ImagesUpload/fastboot.bin ' + getNeoLocation() + 'ImagesUpload/h9')
|
||||
rc = os.system('rm -r ' + getNeoLocation() + 'ImagesUpload/h9')
|
||||
elif os.path.exists('' + getNeoLocation() + 'ImagesUpload/h9combo'):
|
||||
rc = os.system('mv ' + getNeoLocation() + 'ImagesUpload/force_h9combo_READ.ME ' + getNeoLocation() + 'ImagesUpload/h9combo; mv ' + getNeoLocation() + 'ImagesUpload/unforce_h9combo.txt ' + getNeoLocation() + 'ImagesUpload/h9combo')
|
||||
rc = os.system('rm -r ' + getNeoLocation() + 'ImagesUpload/h9combo')
|
||||
elif os.path.exists('' + getNeoLocation() + 'ImagesUpload/h10'):
|
||||
rc = os.system('mv ' + getNeoLocation() + 'ImagesUpload/force_h10_READ.ME ' + getNeoLocation() + 'ImagesUpload/h10; mv ' + getNeoLocation() + 'ImagesUpload/unforce_h10.txt ' + getNeoLocation() + 'ImagesUpload/h10')
|
||||
rc = os.system('rm -r ' + getNeoLocation() + 'ImagesUpload/h10')
|
||||
elif os.path.exists('' + getNeoLocation() + 'ImagesUpload/uclan'):
|
||||
rc = os.system('mv ' + getNeoLocation() + 'ImagesUpload/usb_update.bin ' + getNeoLocation() + 'ImagesUpload/uclan')
|
||||
rc = os.system('rm -r ' + getNeoLocation() + 'ImagesUpload/uclan')
|
||||
@@ -720,7 +694,7 @@ def RemoveUnpackDirs():
|
||||
|
||||
def NEOBootExtract(source, target, ZipDelete, BlackHole):
|
||||
RemoveUnpackDirs()
|
||||
os.system('echo "Installation started:"; date +%T;echo "Extracting the installation file..."')
|
||||
os.system('echo "Press green to hide Console or red to abort the installation\nInstallation started:"; date +%T;echo "Extracting the installation file..."')
|
||||
|
||||
if os.path.exists('' + getNeoLocation() + 'ImageBoot/.without_copying'):
|
||||
os.system('rm -f ' + getNeoLocation() + 'ImageBoot/.without_copying')
|
||||
@@ -740,7 +714,7 @@ def NEOBootExtract(source, target, ZipDelete, BlackHole):
|
||||
to = '' + getNeoLocation() + 'ImageBoot/' + target
|
||||
cmd = 'chmod -R 0777 %s' % to
|
||||
rc = os.system(cmd)
|
||||
cmd = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/nfidump ' + sourcefile2 + ' ' + getNeoLocation() + 'ImageBoot/' + target
|
||||
cmd = '' + extensions_path + 'NeoBoot/bin/nfidump ' + sourcefile2 + ' ' + getNeoLocation() + 'ImageBoot/' + target
|
||||
rc = os.system(cmd)
|
||||
if ZipDelete == 'True':
|
||||
rc = os.system('rm -rf ' + sourcefile2)
|
||||
@@ -909,7 +883,7 @@ def NEOBootExtract(source, target, ZipDelete, BlackHole):
|
||||
|
||||
#Instalacja image nandsim
|
||||
os.system('echo "Instalacja - nandsim w toku..."')
|
||||
rc = os.system('insmod /lib/modules/%s/kernel/drivers/mtd/nand/nandsim.ko cache_file=' + getNeoLocation() + 'image_cache first_id_byte=0x20 second_id_byte=0xaa third_id_byte=0x00 fourth_id_byte=0x15;sleep 5' % getKernelVersion())
|
||||
rc = os.system('insmod /lib/modules/' + getKernelVersion() + '/kernel/drivers/mtd/nand/nandsim.ko cache_file=' + getNeoLocation() + 'image_cache first_id_byte=0x20 second_id_byte=0xaa third_id_byte=0x00 fourth_id_byte=0x15;sleep 5' )#% getKernelVersion())
|
||||
cmd = 'dd if=%s of=/dev/mtdblock%s bs=2048' % (rootfname, mtd)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'ubiattach /dev/ubi_ctrl -m %s -O 2048' % mtd
|
||||
@@ -937,7 +911,7 @@ def NEOBootExtract(source, target, ZipDelete, BlackHole):
|
||||
os.system('sleep 5; init 4; sleep 5; init 3 ')
|
||||
|
||||
#UBI_READER
|
||||
elif os.path.exists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/ubi_reader/ubi_extract_files.py'):
|
||||
elif os.path.exists('' + extensions_path + 'NeoBoot/ubi_reader/ubi_extract_files.py'):
|
||||
if os.path.exists('' + getNeoLocation() + 'ImagesUpload/venton-hdx'):
|
||||
os.chdir('venton-hdx')
|
||||
if os.path.exists('' + getNeoLocation() + 'ImagesUpload/hde'):
|
||||
@@ -1095,13 +1069,23 @@ def NEOBootExtract(source, target, ZipDelete, BlackHole):
|
||||
if os.path.exists('' + getNeoLocation() + 'ImagesUpload/xp1000'):
|
||||
os.chdir('xp1000')
|
||||
|
||||
if os.path.exists('' + getNeoLocation() + 'ImagesUpload/formuler1'):
|
||||
os.chdir('formuler1')
|
||||
if os.path.exists('' + getNeoLocation() + 'ImagesUpload/formuler2'):
|
||||
os.chdir('formuler2')
|
||||
if os.path.exists('' + getNeoLocation() + 'ImagesUpload/formuler3'):
|
||||
os.chdir('formuler3')
|
||||
if os.path.exists('' + getNeoLocation() + 'ImagesUpload/formuler4turbo'):
|
||||
os.chdir('formuler4turbo')
|
||||
|
||||
|
||||
#Instalacja image ubi_reader
|
||||
os.system('echo "Instalacja - ubi_reader w toku..."')
|
||||
if os.path.exists('' + getNeoLocation() + 'ImagesUpload/vuplus/root_cfe_auto.*'):
|
||||
os.system('mv -f root_cfe_auto.* rootfs.bin')
|
||||
cmd = 'chmod 777 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/ubi_reader/ubi_extract_files.py'
|
||||
cmd = 'chmod 777 ' + extensions_path + 'NeoBoot/ubi_reader/ubi_extract_files.py'
|
||||
rc = os.system(cmd)
|
||||
cmd = 'python /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/ubi_reader/ubi_extract_files.py rootfs.bin -o' + getNeoLocation() + 'ubi'
|
||||
cmd = 'python ' + extensions_path + 'NeoBoot/ubi_reader/ubi_extract_files.py rootfs.bin -o' + getNeoLocation() + 'ubi'
|
||||
rc = os.system(cmd)
|
||||
os.chdir('/home/root')
|
||||
os.system('mv ' + getNeoLocation() + 'ubi/rootfs/* ' + getNeoLocation() + 'ImageBoot/%s/' % target)
|
||||
@@ -1119,9 +1103,9 @@ def NEOBootExtract(source, target, ZipDelete, BlackHole):
|
||||
os.system('mv -f rootfs.ubi rootfs.bin')
|
||||
os.system('echo "Instalacja - ubi_reader w toku..."')
|
||||
print '[NeoBoot] Extracting UBIFS image and moving extracted image to our target'
|
||||
cmd = 'chmod 777 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/ubi_reader/ubi_extract_files.py'
|
||||
cmd = 'chmod 777 ' + extensions_path + 'NeoBoot/ubi_reader/ubi_extract_files.py'
|
||||
rc = os.system(cmd)
|
||||
cmd = 'python /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/ubi_reader/ubi_extract_files.py rootfs.bin -o ' + getNeoLocation() + 'ubi'
|
||||
cmd = 'python ' + extensions_path + 'NeoBoot/ubi_reader/ubi_extract_files.py rootfs.bin -o ' + getNeoLocation() + 'ubi'
|
||||
rc = os.system(cmd)
|
||||
os.chdir('/home/root')
|
||||
cmd = 'cp -r -p ' + getNeoLocation() + 'ubi/rootfs/* ' + getNeoLocation() + 'ImageBoot/' + target
|
||||
@@ -1208,6 +1192,17 @@ def NEOBootExtract(source, target, ZipDelete, BlackHole):
|
||||
os.system('echo "Please wait. System installation Zgemma H9S ."')
|
||||
cmd = 'chmod 777 ' + getNeoLocation() + 'ImagesUpload/zgemma/h9/rootfs.tar.bz2; tar -jxf ' + getNeoLocation() + 'ImagesUpload/zgemma/h9/rootfs.tar.bz2 -C ' + getNeoLocation() + 'ImageBoot/' + target + ' > /dev/null 2>&1'
|
||||
rc = os.system(cmd)
|
||||
|
||||
elif os.path.exists('' + getNeoLocation() + 'ImagesUpload/h9combo/rootfs.tar.bz2'):
|
||||
os.system('echo "Please wait. System installation Zgemma h9combo ."')
|
||||
cmd = 'chmod 777 ' + getNeoLocation() + 'ImagesUpload/h9combo/rootfs.tar.bz2; tar -jxf ' + getNeoLocation() + 'ImagesUpload/h9combo/rootfs.tar.bz2 -C ' + getNeoLocation() + 'ImageBoot/' + target + ' > /dev/null 2>&1'
|
||||
rc = os.system(cmd)
|
||||
|
||||
elif os.path.exists('' + getNeoLocation() + 'ImagesUpload/h10/rootfs.tar.bz2'):
|
||||
os.system('echo "Please wait. System installation Zgemma h10 ."')
|
||||
cmd = 'chmod 777 ' + getNeoLocation() + 'ImagesUpload/h10/rootfs.tar.bz2; tar -jxf ' + getNeoLocation() + 'ImagesUpload/h10/rootfs.tar.bz2 -C ' + getNeoLocation() + 'ImageBoot/' + target + ' > /dev/null 2>&1'
|
||||
rc = os.system(cmd)
|
||||
|
||||
elif os.path.exists('' + getNeoLocation() + 'ImagesUpload/miraclebox/mini4k'):
|
||||
os.system('echo "Please wait. System installation Miraclebox mini4k."')
|
||||
cmd = 'chmod 777 ' + getNeoLocation() + 'ImagesUpload/miraclebox/mini4k/rootfs.tar.bz2; tar -jxvf ' + getNeoLocation() + 'ImagesUpload/miraclebox/mini4k/rootfs.tar.bz2 -C ' + getNeoLocation() + 'ImageBoot/' + target + ' > /dev/null 2>&1'
|
||||
@@ -1274,11 +1269,11 @@ def NEOBootExtract(source, target, ZipDelete, BlackHole):
|
||||
|
||||
cmd = 'mkdir ' + getNeoLocation() + 'ImageBoot/%s/boot/blackhole' % target
|
||||
rc = os.system(cmd)
|
||||
cmd = 'cp -f /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/version ' + getNeoLocation() + 'ImageBoot/%s/boot/blackhole' % target
|
||||
cmd = 'cp -f ' + extensions_path + 'NeoBoot/bin/version ' + getNeoLocation() + 'ImageBoot/%s/boot/blackhole' % target
|
||||
rc = os.system(cmd)
|
||||
cmd = 'mv ' + getNeoLocation() + 'ImageBoot/%s/usr/lib/enigma2/python/Blackhole/BhUtils.pyo ' + getNeoLocation() + 'ImageBoot/%s/usr/lib/enigma2/python/Blackhole/BhUtils.pyo.org' % (target, target)
|
||||
rc = os.system(cmd)
|
||||
cmd = 'cp -rf /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/utilsbh ' + getNeoLocation() + 'ImageBoot/%s/usr/lib/enigma2/python/Blackhole/BhUtils.py' % target
|
||||
cmd = 'cp -rf ' + extensions_path + 'NeoBoot/bin/utilsbh ' + getNeoLocation() + 'ImageBoot/%s/usr/lib/enigma2/python/Blackhole/BhUtils.py' % target
|
||||
rc = os.system(cmd)
|
||||
localfile = '' + getNeoLocation() + 'ImageBoot/%s/boot/blackhole/version' % target
|
||||
temp_file = open(localfile, 'w')
|
||||
|
||||
@@ -1,14 +1,20 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#from __future__ import print_function
|
||||
#from Plugins.Extensions.NeoBoot.__init__ import _
|
||||
|
||||
from Plugins.Extensions.NeoBoot.__init__ import _
|
||||
import os
|
||||
import time
|
||||
from Tools.Directories import fileExists, pathExists#, fileCheck
|
||||
from Tools.Directories import fileExists, pathExists, fileCheck
|
||||
from Tools.CList import CList
|
||||
from Components.SystemInfo import SystemInfo
|
||||
from Components.Console import Console
|
||||
from Task import LoggingTask
|
||||
import Task
|
||||
from Screens.Screen import Screen
|
||||
from Components.ActionMap import ActionMap
|
||||
from Components.MenuList import MenuList
|
||||
from Components.Label import Label
|
||||
from Components.Pixmap import Pixmap
|
||||
from Screens.MessageBox import MessageBox
|
||||
|
||||
def readFile(filename):
|
||||
file = open(filename)
|
||||
@@ -374,19 +380,22 @@ class Harddisk():
|
||||
task.weighting = 1
|
||||
task = MkfsTask(job, _('Creating filesystem'))
|
||||
big_o_options = ['dir_index']
|
||||
if isFileSystemSupported('ext4'):
|
||||
task.setTool('mkfs.ext4')
|
||||
if size > 20000:
|
||||
try:
|
||||
version = map(int, open('/proc/version', 'r').read().split(' ', 4)[2].split('.', 2)[:2])
|
||||
if version[0] > 3 or version[0] > 2 and version[1] >= 2:
|
||||
task.args += ['-C', '262144']
|
||||
big_o_options.append('bigalloc')
|
||||
except Exception as ex:
|
||||
print 'Failed to detect Linux version:', ex
|
||||
|
||||
else:
|
||||
task.setTool('mkfs.ext3')
|
||||
###__blokada hash dla ext4 >>>
|
||||
# if isFileSystemSupported('ext4'):
|
||||
# task.setTool('mkfs.ext4')
|
||||
# if size > 20000:
|
||||
# try:
|
||||
# version = map(int, open('/proc/version', 'r').read().split(' ', 4)[2].split('.', 2)[:2])
|
||||
# if version[0] > 3 or version[0] > 2 and version[1] >= 2:
|
||||
# task.args += ['-C', '262144']
|
||||
# big_o_options.append('bigalloc')
|
||||
# except Exception as ex:
|
||||
# print 'Failed to detect Linux version:', ex
|
||||
# else:
|
||||
# task.setTool('mkfs.ext3')
|
||||
|
||||
task.setTool('mkfs.ext3')
|
||||
if size > 250000:
|
||||
task.args += ['-T',
|
||||
'largefile',
|
||||
@@ -939,6 +948,77 @@ class MkfsTask(Task.LoggingTask):
|
||||
self.log.append(data)
|
||||
|
||||
|
||||
###########################__From HarddiskSetup_################################
|
||||
class HarddiskSetup(Screen):
|
||||
|
||||
def __init__(self, session, hdd, action, text, question):
|
||||
Screen.__init__(self, session)
|
||||
self.action = action
|
||||
self.question = question
|
||||
self.setTitle(_('Setup hard disk'))
|
||||
self['model'] = Label(_('Model: ') + hdd.model())
|
||||
self['capacity'] = Label(_('Capacity: ') + hdd.capacity())
|
||||
self['bus'] = Label(_('Bus: ') + hdd.bus())
|
||||
self['key_red'] = Label(_('Cancel'))
|
||||
self['key_green'] = Label(text)
|
||||
self['actions'] = ActionMap(['OkCancelActions'], {'ok': self.hddQuestion,
|
||||
'cancel': self.close})
|
||||
self['shortcuts'] = ActionMap(['ShortcutActions'], {'red': self.close,
|
||||
'green': self.hddQuestion})
|
||||
|
||||
def hddQuestion(self):
|
||||
message = self.question + '\n' + _('You can continue watching TV etc. while this is running.')
|
||||
self.session.openWithCallback(self.hddConfirmed, MessageBox, message)
|
||||
|
||||
def hddConfirmed(self, confirmed):
|
||||
if not confirmed:
|
||||
return
|
||||
from Components.Task import job_manager
|
||||
try:
|
||||
job = self.action()
|
||||
job_manager.AddJob(job, onSuccess=job_manager.popupTaskView)
|
||||
from Screens.TaskView import JobView
|
||||
self.session.open(JobView, job, afterEventChangeable=False)
|
||||
except Exception as ex:
|
||||
self.session.open(MessageBox, str(ex), type=MessageBox.TYPE_ERROR, timeout=10)
|
||||
|
||||
self.close()
|
||||
|
||||
|
||||
class HarddiskSelection(Screen):
|
||||
def __init__(self, session):
|
||||
Screen.__init__(self, session)
|
||||
self.setTitle(_('Select hard disk'))
|
||||
self.skinName = 'HarddiskSelection'
|
||||
if harddiskmanager.HDDCount() == 0:
|
||||
tlist = []
|
||||
tlist.append((_('no storage devices found'), 0))
|
||||
self['hddlist'] = MenuList(tlist)
|
||||
else:
|
||||
self['hddlist'] = MenuList(harddiskmanager.HDDList())
|
||||
self['key_red'] = Label(_('Cancel'))
|
||||
self['key_green'] = Label(_('Select'))
|
||||
self['actions'] = ActionMap(['OkCancelActions'], {'ok': self.okbuttonClick,
|
||||
'cancel': self.close})
|
||||
self['shortcuts'] = ActionMap(['ShortcutActions'], {'red': self.close,
|
||||
'green': self.okbuttonClick})
|
||||
|
||||
def doIt(self, selection):
|
||||
self.session.openWithCallback(self.close, HarddiskSetup, selection, action=selection.createInitializeJob, text=_('Initialize'), question=_('Do you really want to initialize the device?\nAll data on the disk will be lost!'))
|
||||
|
||||
def okbuttonClick(self):
|
||||
selection = self['hddlist'].getCurrent()
|
||||
if selection[1] != 0:
|
||||
self.doIt(selection[1])
|
||||
|
||||
|
||||
class HarddiskFsckSelection(HarddiskSelection):
|
||||
|
||||
def doIt(self, selection):
|
||||
self.session.openWithCallback(self.close, HarddiskSetup, selection, action=selection.createCheckJob, text=_('Check'), question=_('Do you really want to check the filesystem?\nThis could take lots of time!'))
|
||||
###########################__end HarddiskSetup_################################
|
||||
|
||||
|
||||
harddiskmanager = HarddiskManager()
|
||||
|
||||
def isSleepStateDevice(device):
|
||||
@@ -965,4 +1045,4 @@ def internalHDDNotSleeping(external = False):
|
||||
|
||||
|
||||
harddiskmanager = HarddiskManager()
|
||||
SystemInfo['ext4'] = isFileSystemSupported('ext4') or isFileSystemSupported('ext3')
|
||||
SystemInfo['ext4'] = isFileSystemSupported('ext4') or isFileSystemSupported('ext3')
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
#!/bin/sh
|
||||
# script gutosie
|
||||
IMAGEKATALOG=ImageBoot
|
||||
NEODEVICE=$( cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location)
|
||||
|
||||
if [ ! -e /usr/bin/ipkg ]; then
|
||||
ln -sfn /usr/bin/opkg /usr/bin/ipkg
|
||||
fi
|
||||
if [ ! -e /usr/bin/ipkg-cl ]; then
|
||||
ln -sfn /usr/bin/opkg-cl /usr/bin/ipkg-cl
|
||||
fi
|
||||
|
||||
#echo "Start network and telnet ..."
|
||||
#/etc/init.d/networking stop; sync; /etc/init.d/networking start;
|
||||
|
||||
|
||||
if [ -f /etc/init.d/inadyn-mt ] ; then
|
||||
/etc/init.d/inadyn-mt start
|
||||
fi
|
||||
|
||||
if [ -e /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh ]; then
|
||||
/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [ -f /etc/rcS.d/S50fat.sh ] ; then
|
||||
ln -s /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/S50fat.sh /etc/rcS.d/S50neo.sh
|
||||
telnetd on
|
||||
echo ok
|
||||
rm -f /etc/rcS.d/S50fat.sh
|
||||
echo "file S50fat.sh delete"
|
||||
fi
|
||||
echo ok
|
||||
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
from __init__ import _
|
||||
|
||||
from Plugins.Extensions.NeoBoot.__init__ import _
|
||||
from enigma import getDesktop
|
||||
from Plugins.Plugin import PluginDescriptor
|
||||
from Screens.ChoiceBox import ChoiceBox
|
||||
@@ -31,27 +31,46 @@ import os
|
||||
from Screens.VirtualKeyBoard import VirtualKeyBoard
|
||||
import gettext, os
|
||||
from Plugins.Extensions.NeoBoot.files.stbbranding import getTunerModel
|
||||
LinkNeoBoot = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot'
|
||||
|
||||
|
||||
try:
|
||||
cat = gettext.translation('lang', '/usr/lib/enigma2/python/Plugins/Extensions/files/po', [config.osd.language.getText()])
|
||||
_ = cat.gettext
|
||||
except IOError:
|
||||
pass
|
||||
|
||||
|
||||
class ManagerDevice(Screen):
|
||||
screenwidth = getDesktop(0).size().width()
|
||||
if screenwidth and screenwidth == 1920:
|
||||
skin = '<screen name="ManagerDevice" position="center,center" size="1235,748">\n\t\t<ePixmap pixmap="skin_default/buttons/red.png" position="35,16" size="253,52" alphatest="on" />\n\t\t<ePixmap pixmap="skin_default/buttons/green.png" position="315,15" size="279,50" alphatest="on" />\n\t\t<ePixmap pixmap="skin_default/buttons/yellow.png" position="647,18" size="263,48" alphatest="on" />\n\t\t<ePixmap pixmap="skin_default/buttons/blue.png" position="965,19" size="269,51" alphatest="on" />\n\t\t<widget name="key_red" position="14,17" zPosition="1" size="258,48" font="Regular;30" halign="center" valign="center" backgroundColor="un9f1313" transparent="1" />\n\t\t<widget name="key_green" position="297,17" zPosition="1" size="298,48" font="Regular;30" halign="center" valign="center" backgroundColor="un1f771f" transparent="1" />\n\t\t<widget name="key_yellow" position="631,18" zPosition="1" size="268,48" font="Regular;30" halign="center" valign="center" backgroundColor="una08500" transparent="1" />\n\t\t<widget name="key_blue" position="940,21" zPosition="1" size="266,45" font="Regular;30" halign="center" valign="center" backgroundColor="un18188b" transparent="1" />\n\t\t<widget source="list" render="Listbox" position="12,76" size="1212,651" scrollbarMode="showOnDemand">\n\t\t\t<convert type="TemplatedMultiContent">\n\t\t\t\t{"template": [\n\t\t\t\t MultiContentEntryText(pos = (90, 5), size = (600, 30), font=0, text = 0),\n\t\t\t\t MultiContentEntryText(pos = (110, 60), size = (900, 100), font=1, flags = RT_VALIGN_TOP, text = 1),\n\t\t\t\t MultiContentEntryPixmapAlphaBlend(pos = (0, 0), size = (160, 160,), png = 2),\n\t\t\t\t],\n\t\t\t\t"fonts": [gFont("Regular", 33),gFont("Regular", 33)],\n\t\t\t\t"itemHeight": 140\n\t\t\t\t}\n\t\t\t</convert>\n\t\t</widget>\n\t\t<widget name="lab1" zPosition="2" position="32,92" size="1182,69" font="Regular;30" halign="center" transparent="1" />\n\t</screen>'
|
||||
|
||||
skin = """<screen name="ManagerDevice" position="400,150" size="1235,748">
|
||||
<widget name="key_red" position="14,17" zPosition="1" size="271,49" font="dugme;30" halign="center" valign="center" backgroundColor="red" transparent="1" foregroundColor="red" />
|
||||
<widget name="key_green" position="289,17" zPosition="1" size="369,49" font="dugme;30" halign="center" valign="center" backgroundColor="green" transparent="1" foregroundColor="green" />
|
||||
<widget name="key_yellow" position="661,17" zPosition="1" size="302,49" font="dugme;30" halign="center" valign="center" backgroundColor="yellow" transparent="1" foregroundColor="yellow" />
|
||||
<widget name="key_blue" position="967,17" zPosition="1" size="257,49" font="dugme;30" halign="center" valign="center" backgroundColor="blue" transparent="1" foregroundColor="blue" />
|
||||
<eLabel position="18,70" size="1204,2" backgroundColor="blue" foregroundColor="blue" name="linia" />
|
||||
<eLabel position="18,670" size="1204,2" backgroundColor="blue" foregroundColor="blue" name="linia" />
|
||||
<eLabel backgroundColor="black" font="dugme; 30" foregroundColor="orange" position="536,674" size="197,56" text="Exit - Back" transparent="1" />
|
||||
<widget source="list" render="Listbox" position="14,137" size="1210,530" scrollbarMode="showOnDemand">
|
||||
<convert type="TemplatedMultiContent">\n\n\t\t\t\t{"template": [\n\n\t\t\t\t MultiContentEntryText(pos = (90, 5), size = (600, 75), font=0, text = 0),\n\n\t\t\t\t MultiContentEntryText(pos = (110, 60), size = (900, 80), font=1, flags = RT_VALIGN_TOP, text = 1),\n\n\t\t\t\t MultiContentEntryPixmapAlphaBlend(pos = (0, 0), size = (150, 130,)),\n\n\t\t\t\t],\n\t\t\t\t"fonts": [gFont("Regular", 33),gFont("Regular", 33)],\n\n\t\t\t\t"itemHeight": 140\n\t\t\t\t}</convert>
|
||||
</widget>
|
||||
<widget name="lab1" zPosition="2" position="28,163" size="1182,69" font="baslk;30" halign="center" transparent="1" />
|
||||
</screen>"""
|
||||
else:
|
||||
skin = '<screen position="center,center" size="640,460">\n\t\t<ePixmap pixmap="skin_default/buttons/red.png" position="25,0" size="140,40" alphatest="on" />\n\t\t<ePixmap pixmap="skin_default/buttons/green.png" position="175,0" size="140,40" alphatest="on" />\n\t\t<ePixmap pixmap="skin_default/buttons/yellow.png" position="325,0" size="140,40" alphatest="on" />\n\t\t<ePixmap pixmap="skin_default/buttons/blue.png" position="475,0" size="140,40" alphatest="on" />\n\t\t<widget name="key_red" position="25,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />\n\t\t<widget name="key_green" position="175,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />\n\t\t<widget name="key_yellow" position="325,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#a08500" transparent="1" />\n\t\t <widget name="key_blue" position="475,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#18188b" transparent="1" />\n\t\t<widget source="list" render="Listbox" position="10,50" size="620,450" scrollbarMode="showOnDemand" >\n\t\t\t<convert type="TemplatedMultiContent">\n\t\t\t\t{"template": [\n\t\t\t\t MultiContentEntryText(pos = (90, 0), size = (600, 30), font=0, text = 0),\n\t\t\t\t MultiContentEntryText(pos = (110, 30), size = (600, 50), font=1, flags = RT_VALIGN_TOP, text = 1),\n\t\t\t\t MultiContentEntryPixmapAlphaBlend(pos = (0, 0), size = (80, 80), png = 2),\n\t\t\t\t],\n\t\t\t\t"fonts": [gFont("Regular", 24),gFont("Regular", 20)],\n\t\t\t\t"itemHeight": 85\n\t\t\t\t}\n\t\t\t</convert>\n\t\t</widget>\n\t\t<widget name="lab1" zPosition="2" position="50,90" size="600,40" font="Regular;22" halign="center" transparent="1"/>\n\t</screen>'
|
||||
skin = """<screen name="ManagerDevice" position="center,center" size="752,460">
|
||||
<eLabel backgroundColor="black" font="Regular; 30" foregroundColor="orange" position="315,405" size="169,51" text="Exit - Back" transparent="1" />
|
||||
<widget name="key_red" position="21,0" zPosition="1" size="151,47" font="Regular;20" halign="center" valign="center" backgroundColor="red" transparent="1" foregroundColor="red" />
|
||||
<widget name="key_green" position="216,0" zPosition="1" size="140,47" font="Regular;20" halign="center" valign="center" backgroundColor="green" transparent="1" foregroundColor="green" />
|
||||
<widget name="key_yellow" position="400,0" zPosition="1" size="140,47" font="Regular;20" halign="center" valign="center" backgroundColor="yellow" transparent="1" foregroundColor="yellow" />
|
||||
<widget name="key_blue" position="587,0" zPosition="1" size="149,46" font="Regular;20" halign="center" valign="center" backgroundColor="blue" transparent="1" foregroundColor="blue" />
|
||||
<widget source="list" render="Listbox" position="18,63" size="721,341" scrollbarMode="showOnDemand">
|
||||
<convert type="TemplatedMultiContent">\n\t\t\t\t{"template": [\n\t\t\t\t MultiContentEntryText(pos = (90, 0), size = (600, 30), font=0, text = 0),\n\t\t\t\t MultiContentEntryText(pos = (110, 30), size = (600, 50), font=1, flags = RT_VALIGN_TOP, text = 1),\n\t\t\t\t MultiContentEntryPixmapAlphaBlend(pos = (0, 0), size = (80, 80)),\n\t\t\t\t],\n\t\t\t\t"fonts": [gFont("Regular", 24),gFont("Regular", 20)],\n\t\t\t\t"itemHeight": 85\n\t\t\t\t}\n\t\t\t</convert>
|
||||
</widget>
|
||||
<widget name="lab1" zPosition="2" position="29,111" size="699,40" font="Regular;22" halign="center" transparent="1" />
|
||||
</screen>"""
|
||||
|
||||
|
||||
def __init__(self, session):
|
||||
Screen.__init__(self, session)
|
||||
Screen.setTitle(self, _('Mount Manager'))
|
||||
self['key_red'] = Label(_('Initialize'))
|
||||
self['key_red'] = Label(_('Initialize ext3'))
|
||||
self['key_green'] = Label(_('SetupMounts'))
|
||||
self['key_yellow'] = Label(_('Unmount'))
|
||||
self['key_yellow'] = Label(_('Initialize ext4'))
|
||||
self['key_blue'] = Label(_('Exit'))
|
||||
self['lab1'] = Label()
|
||||
self.onChangedEntry = []
|
||||
@@ -59,15 +78,27 @@ class ManagerDevice(Screen):
|
||||
self['list'] = List(self.list)
|
||||
self['list'].onSelectionChanged.append(self.selectionChanged)
|
||||
self['actions'] = ActionMap(['WizardActions', 'ColorActions', 'MenuActions'], {'back': self.close,
|
||||
'red': self.Format,
|
||||
'red': self.Format_ext3,
|
||||
'green': self.SetupMounts,
|
||||
'yellow': self.Unmount,
|
||||
'blue': self.Mount})
|
||||
'yellow': self.Format_ext4,
|
||||
'blue': self.ExitBack,
|
||||
'back': self.close})
|
||||
self.activityTimer = eTimer()
|
||||
self.activityTimer.timeout.get().append(self.updateList2)
|
||||
self.updateList()
|
||||
self.onShown.append(self.setWindowTitle)
|
||||
|
||||
def Format_ext3(self):
|
||||
from Harddisk import HarddiskSelection
|
||||
self.session.openWithCallback(self.updateList, HarddiskSelection)
|
||||
|
||||
def Format_ext4(self):
|
||||
from Screens.HarddiskSetup import HarddiskSelection
|
||||
self.session.openWithCallback(self.updateList, HarddiskSelection)
|
||||
|
||||
def ExitBack(self):
|
||||
self.close()
|
||||
|
||||
def setWindowTitle(self):
|
||||
self.setTitle(_('Mount Manager'))
|
||||
|
||||
@@ -123,20 +154,24 @@ class ManagerDevice(Screen):
|
||||
device2 = re.sub('[0-9]', '', device)
|
||||
devicetype = path.realpath('/sys/block/' + device2 + '/device')
|
||||
d2 = device
|
||||
name = _('HARD DISK: ')
|
||||
mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/dev_hdd.png'
|
||||
name = _('HARD DISK: ')
|
||||
mypixmap = '' + LinkNeoBoot + '/images/dev_hdd.png'
|
||||
model = file('/sys/block/' + device2 + '/device/model').read()
|
||||
model = str(model).replace('\n', '')
|
||||
des = ''
|
||||
if devicetype.find('usb') != -1:
|
||||
name = _('USB: ')
|
||||
mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/dev_usb.png'
|
||||
mypixmap = '' + LinkNeoBoot + '/images/dev_usb.png'
|
||||
if devicetype.find('usb1') != -1:
|
||||
name = _('USB1: ')
|
||||
mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/dev_usb.png'
|
||||
mypixmap = '' + LinkNeoBoot + '/images/dev_usb.png'
|
||||
if devicetype.find('usb2') != -1:
|
||||
name = _('USB2: ')
|
||||
mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/dev_usb.png'
|
||||
mypixmap = '' + LinkNeoBoot + '/images/dev_usb.png'
|
||||
if devicetype.find('card') != -1:
|
||||
name = _('CARD: ')
|
||||
mypixmap = '' + LinkNeoBoot + '/images/dev_sd.png'
|
||||
|
||||
name = name + model
|
||||
self.Console = Console()
|
||||
self.Console.ePopen("sfdisk -l /dev/sd? | grep swap | awk '{print $(NF-9)}' >/tmp/devices.tmp")
|
||||
@@ -198,13 +233,6 @@ class ManagerDevice(Screen):
|
||||
os.system('cp /etc/fstab.org /etc/fstab')
|
||||
self.session.openWithCallback(self.updateList, DevicesConf)
|
||||
|
||||
def Format(self):
|
||||
from Screens.HarddiskSetup import HarddiskSelection
|
||||
self.session.openWithCallback(self.updateList, HarddiskSelection)
|
||||
|
||||
def Mount(self):
|
||||
self.close()
|
||||
|
||||
def Unmount(self):
|
||||
sel = self['list'].getCurrent()
|
||||
if sel:
|
||||
@@ -270,9 +298,19 @@ class ManagerDevice(Screen):
|
||||
class DevicesConf(Screen, ConfigListScreen):
|
||||
screenwidth = getDesktop(0).size().width()
|
||||
if screenwidth and screenwidth == 1920:
|
||||
skin = '<screen name="DevicesConf" position="center,center" size="976,728" title="Choose where to mount your devices to:">\n\t\t<ePixmap pixmap="skin_default/buttons/red.png" position="109,16" size="251,63" alphatest="on" />\n\t\t<ePixmap pixmap="skin_default/buttons/green.png" position="551,15" size="257,63" alphatest="on" />\n\t\t<widget name="key_red" position="110,13" zPosition="1" size="252,67" font="Regular;35" halign="center" valign="center" backgroundColor="#FF0000" transparent="1" />\n\t\t<widget name="key_green" position="549,15" zPosition="1" size="262,65" font="Regular;35" halign="center" valign="center" backgroundColor="#008000" transparent="1" />\n\t\t<widget name="config" position="31,113" size="898,489" font="Regular;25" scrollbarMode="showOnDemand" />\n\t\t<widget name="Linconn" position="34,621" size="904,32" font="Regular;33" halign="center" valign="center" backgroundColor="#FF0000" />\n\t</screen>'
|
||||
skin = """<screen name="DevicesConfFullHD" position="400,150" size="976,728" title="Choose where to mount your devices to:">
|
||||
<eLabel backgroundColor="black" font="baslk; 25" foregroundColor="red" position="150,900" size="800,30" text=" Exit - Back " transparent="1" />
|
||||
<widget name="key_red" position="110,13" zPosition="1" size="335,67" font="baslk;30" halign="center" valign="center" backgroundColor="red" transparent="1" foregroundColor="red" />
|
||||
<widget name="key_green" position="549,15" zPosition="1" size="362,65" font="baslk;30" halign="center" valign="center" backgroundColor="green" transparent="1" foregroundColor="green" />
|
||||
<widget name="config" position="33,179" size="891,385" font="Regular;21" scrollbarMode="showOnDemand" />
|
||||
</screen>"""
|
||||
else:
|
||||
skin = '<screen position="center,center" size="640,460" title="Choose where to mount your devices to:">\n\t\t<ePixmap pixmap="skin_default/buttons/red.png" position="25,0" size="140,40" alphatest="on" />\n\t\t<ePixmap pixmap="skin_default/buttons/green.png" position="175,0" size="140,40" alphatest="on" />\n\t\t<widget name="key_red" position="25,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />\n\t\t<widget name="key_green" position="175,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />\n\t\t<widget name="config" position="30,60" size="580,275" scrollbarMode="showOnDemand"/>\n\t\t<widget name="Linconn" position="30,375" size="580,20" font="Regular;18" halign="center" valign="center" backgroundColor="#9f1313"/>\n\t</screen>'
|
||||
skin = """<screen name="DevicesConfHD" position="171,130" size="903,460" title="Choose where to mount your devices to:">
|
||||
<eLabel backgroundColor="black" font="Regular;30" foregroundColor="orange" position="366,388" size="295,65" text="Exit - Back" transparent="1" />
|
||||
<widget name="key_red" position="36,0" zPosition="1" size="363,59" font="Regular;30" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
|
||||
<widget name="key_green" position="548,0" zPosition="1" size="332,60" font="Regular;30" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="green" />
|
||||
<widget name="config" position="31,85" size="839,279" scrollbarMode="showOnDemand" />
|
||||
</screen>"""
|
||||
|
||||
def __init__(self, session):
|
||||
Screen.__init__(self, session)
|
||||
@@ -326,19 +364,23 @@ class DevicesConf(Screen, ConfigListScreen):
|
||||
devicetype = path.realpath('/sys/block/' + device2 + '/device')
|
||||
d2 = device
|
||||
name = _('HARD DISK: ')
|
||||
mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/dev_hdd.png'
|
||||
mypixmap = '' + LinkNeoBoot + '/images/dev_hdd.png'
|
||||
model = file('/sys/block/' + device2 + '/device/model').read()
|
||||
model = str(model).replace('\n', '')
|
||||
des = ''
|
||||
if devicetype.find('usb') != -1:
|
||||
name = _('USB: ')
|
||||
mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/dev_usb.png'
|
||||
mypixmap = '' + LinkNeoBoot + '/images/dev_usb.png'
|
||||
if devicetype.find('usb1') != -1:
|
||||
name = _('USB1: ')
|
||||
mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/dev_usb.png'
|
||||
mypixmap = '' + LinkNeoBoot + '/images/dev_usb.png'
|
||||
if devicetype.find('usb2') != -1:
|
||||
name = _('USB2: ')
|
||||
mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/dev_usb.png'
|
||||
mypixmap = '' + LinkNeoBoot + '/images/dev_usb.png'
|
||||
if devicetype.find('card') != -1:
|
||||
name = _('CARD: ')
|
||||
mypixmap = '' + LinkNeoBoot + '/images/dev_sd.png'
|
||||
|
||||
name = name + model
|
||||
f = open('/proc/mounts', 'r')
|
||||
for line in f.readlines():
|
||||
@@ -369,7 +411,11 @@ class DevicesConf(Screen, ConfigListScreen):
|
||||
('/media/usb', '/media/usb'),
|
||||
('/media/usb1', '/media/usb1'),
|
||||
('/media/usb2', '/media/usb2'),
|
||||
('/media/usb3', '/media/usb3')]))
|
||||
('/media/usb3', '/media/usb3'),
|
||||
('/media/usb3', '/media/cf'),
|
||||
('/media/usb3', '/media/card'),
|
||||
('/media/cf', '/media/cf'),
|
||||
('/media/card', '/media/card')]))
|
||||
if dtype == 'Linux':
|
||||
dtype = 'ext2', 'ext3', 'ext4'
|
||||
else:
|
||||
@@ -434,73 +480,77 @@ class DevicesConf(Screen, ConfigListScreen):
|
||||
out.close()
|
||||
|
||||
self.device_uuid2 = result.split('UUID=')[1].split(' ')[0].replace('"', '')
|
||||
if fileExists('/usr/lib/enigma2/python/Plugins/SystemPlugins/DeviceManager2'):
|
||||
out1 = open('/etc/devicemanager.cfg', 'a')
|
||||
line1 = '"' + self.device_uuid2 + '"' + ':' + self.mountp + '\n'
|
||||
out1.write(line1)
|
||||
out1.close()
|
||||
elif fileExists('/usr/lib/enigma2/python/Plugins/SystemPlugins/DeviceManager'):
|
||||
out2 = open('/usr/lib/enigma2/python/Plugins/SystemPlugins/DeviceManager/devicemanager.cfg', 'a')
|
||||
line2 = '"' + self.device_uuid2 + '"' + ':' + self.mountp + '\n'
|
||||
out2.write(line2)
|
||||
out2.close()
|
||||
|
||||
if fileExists('/etc/init.d/udev'):
|
||||
filename = '/etc/init.d/udev'
|
||||
if os.path.exists(filename):
|
||||
# if fileExists('/usr/lib/enigma2/python/Plugins/SystemPlugins/DeviceManager2'):
|
||||
# out1 = open('/etc/devicemanager.cfg', 'a')
|
||||
# line1 = '"' + self.device_uuid2 + '"' + ':' + self.mountp + '\n'
|
||||
# out1.write(line1)
|
||||
# out1.close()
|
||||
# elif fileExists('/usr/lib/enigma2/python/Plugins/SystemPlugins/DeviceManager'):
|
||||
# out2 = open('/usr/lib/enigma2/python/Plugins/SystemPlugins/DeviceManager/devicemanager.cfg', 'a')
|
||||
# line2 = '"' + self.device_uuid2 + '"' + ':' + self.mountp + '\n'
|
||||
# out2.write(line2)
|
||||
# out2.close()
|
||||
|
||||
|
||||
filename2 = filename + '.tmp'
|
||||
out = open(filename2, 'w')
|
||||
f = open(filename, 'r')
|
||||
for line in f.readlines():
|
||||
if line.find('mount -a /media/hdd; mount -a /media/usb') != -1:
|
||||
line = ''
|
||||
out.write(line)
|
||||
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(filename2, filename)
|
||||
|
||||
|
||||
|
||||
filename2 = filename + '.tmp'
|
||||
out = open(filename2, 'w')
|
||||
f = open(filename, 'r')
|
||||
for line in f.readlines():
|
||||
if line.find('exit 0') != -1:
|
||||
line = ''
|
||||
out.write(line)
|
||||
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(filename2, filename)
|
||||
os.system('echo "mount -a /media/hdd; mount -a /media/usb" >> /etc/init.d/udev; chmod 0755 /etc/init.d/udev ')
|
||||
|
||||
if fileExists('/etc/init.d/mdev'):
|
||||
filename = '/etc/init.d/mdev'
|
||||
if os.path.exists(filename):
|
||||
|
||||
filename2 = filename + '.tmp'
|
||||
out = open(filename2, 'w')
|
||||
f = open(filename, 'r')
|
||||
for line in f.readlines():
|
||||
if line.find('mount -a /media/hdd; mount -a /media/usb') != -1:
|
||||
line = ''
|
||||
out.write(line)
|
||||
|
||||
f.close()
|
||||
out.close()
|
||||
os.rename(filename2, filename)
|
||||
|
||||
system('echo "" >> /etc/init.d/mdev; echo "mount -a /media/hdd; mount -a /media/usb" >> /etc/init.d/mdev; chmod 0755 /etc/init.d/mdev ')
|
||||
|
||||
|
||||
#SetDiskLabel - dziekuje autorowi
|
||||
class SetDiskLabel(Screen):
|
||||
skin = '\n\t\t<screen position="center,center" size="600,200" title="Set Disk Label v1.1" >\n\t\t<widget name="infoTXT" position="25,20" zPosition="1" size="310,25" font="Regular;20" halign="left" valign="center" backgroundColor="transpBlack" transparent="1"/>\n\t\t<widget name="devlist" position="400,20" size="125,25" />\n\t\t<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/buttons/k_left.png" position="350,15" size="40,40" alphatest="on" />\n\t\t<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/buttons/k_right.png" position="550,15" size="40,40" alphatest="on" />\n\t\t<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/buttons/k_up.png" position="350,105" size="40,40" alphatest="on" />\n\t\t<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/buttons/k_down.png" position="550,105" size="40,40" alphatest="on" />\n\t\t<widget name="labelname" position="25,65" zPosition="1" size="310,25" font="Regular;20" halign="left" valign="center" backgroundColor="transpBlack" transparent="1"/>\n\t\t<widget name="disklabel" position="400,65" size="125,25" zPosition="1" font="Regular;20" halign="center" valign="left"/>\n\t\t<widget name="labeltoset" position="25,110" zPosition="1" size="310,25" font="Regular;20" halign="left" valign="center" backgroundColor="transpBlack" transparent="1"/>\n\t\t<widget name="listlabel" position="400,110" size="125,25" zPosition="1" font="Regular;20" halign="center" valign="left"/>\n\t\t<ePixmap pixmap="skin_default/buttons/key_red.png" position="40,167" size="40,40" alphatest="on" />\n\t\t<ePixmap pixmap="skin_default/buttons/key_green.png" position="170,167" size="40,40" alphatest="on" />\n\t\t<ePixmap pixmap="skin_default/buttons/key_yellow.png" position="300,167" size="40,40" alphatest="on" />\n\t\t<ePixmap pixmap="skin_default/buttons/key_blue.png" position="430,167" size="40,40" alphatest="on" />\n\t\t<widget name="key_red" position="70,160" zPosition="1" size="90,40" font="Regular;14" halign="center" valign="left" backgroundColor="transpBlack" transparent="1" />\n\t\t<widget name="key_green" position="200,160" zPosition="1" size="90,40" font="Regular;14" halign="center" valign="left" backgroundColor="transpBlack" transparent="1" />\n\t\t<widget name="key_yellow" position="330,160" zPosition="1" size="90,40" font="Regular;14" halign="center" valign="left" backgroundColor="transpBlack" transparent="1" />\n\t\t<widget name="key_blue" position="460,160" zPosition="1" size="90,40" font="Regular;14" halign="center" valign="left" backgroundColor="transpBlack" transparent="1" />\n\t</screen>'
|
||||
screenwidth = getDesktop(0).size().width()
|
||||
if screenwidth and screenwidth == 1920:
|
||||
skin ="""<screen name="SetDiskLabel" position="400,188" size="1100,601" title="Set Disk Label v1.1">
|
||||
<widget name="infoTXT" position="22,62" zPosition="1" size="591,86" font="baslk;28" halign="left" valign="center" backgroundColor="transpBlack" transparent="1" />
|
||||
|
||||
<widget name="devlist" position="685,60" size="310,132" font="Regular;20" valign="center" />
|
||||
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/k_left.png" position="628,86" size="40,40" alphatest="on" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/k_right.png" position="1015,85" size="40,40" alphatest="on" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/k_up.png" position="630,381" size="40,42" alphatest="on" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/k_down.png" position="1010,383" size="40,40" alphatest="on" />
|
||||
|
||||
<widget name="labelname" position="22,209" zPosition="1" size="591,86" font="baslk;30" valign="center" backgroundColor="transpBlack" transparent="1" />
|
||||
<widget name="disklabel" position="697,212" size="290,77" zPosition="1" font="baslk;30" valign="left" />
|
||||
<widget name="labeltoset" position="22,363" zPosition="1" size="591,86" font="baslk;30" valign="center" backgroundColor="transpBlack" transparent="1" />
|
||||
<widget name="listlabel" position="685,354" size="310,145" zPosition="1" font="Regular;20" valign="center" />
|
||||
|
||||
<ePixmap pixmap="skin_default/buttons/key_red.png" position="14,534" size="40,40" alphatest="on" />
|
||||
<ePixmap pixmap="skin_default/buttons/key_green.png" position="259,535" size="40,40" alphatest="on" />
|
||||
<ePixmap pixmap="skin_default/buttons/key_yellow.png" position="567,535" size="40,40" alphatest="on" />
|
||||
<ePixmap pixmap="skin_default/buttons/key_blue.png" position="814,532" size="40,40" alphatest="on" />
|
||||
|
||||
<widget name="key_red" position="60,526" zPosition="1" size="196,40" font="baslk;25" halign="left" valign="left" backgroundColor="transpBlack" transparent="1" />
|
||||
<widget name="key_green" position="304,526" zPosition="1" size="255,40" font="baslk;25" halign="left" valign="left" backgroundColor="transpBlack" transparent="1" />
|
||||
<widget name="key_yellow" position="613,526" zPosition="1" size="196,40" font="baslk;25" halign="left" valign="left" backgroundColor="transpBlack" transparent="1" />
|
||||
<widget name="key_blue" position="860,526" zPosition="1" size="233,40" font="baslk;25" halign="left" valign="left" backgroundColor="transpBlack" transparent="1" />
|
||||
<eLabel text="%s" font="Regular; 25" position="23,-10" size="968,57" halign="center" foregroundColor="yellow" backgroundColor="black" transparent="1" />
|
||||
</screen> """ % (_('!!!Do not set the label for /dev/mmcblk0p !!!'))
|
||||
else:
|
||||
skin = """<screen position="center,center" size="600,200" title="Set Disk Label v1.1" >
|
||||
<widget name="infoTXT" position="25,20" zPosition="1" size="310,38" font="Regular;20" halign="left" valign="center" backgroundColor="transpBlack" transparent="1" />
|
||||
<widget name="devlist" position="400,20" size="125,25" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/k_left.png" position="350,15" size="40,40" alphatest="on" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/k_right.png" position="550,15" size="40,40" alphatest="on" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/k_up.png" position="350,105" size="40,40" alphatest="on" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/k_down.png" position="550,105" size="40,40" alphatest="on" />
|
||||
<widget name="labelname" position="25,65" zPosition="1" size="310,25" font="Regular;20" halign="left" valign="center" backgroundColor="transpBlack" transparent="1"/>
|
||||
<widget name="disklabel" position="400,65" size="125,25" zPosition="1" font="Regular;20" halign="center" valign="left"/>
|
||||
<widget name="labeltoset" position="25,110" zPosition="1" size="310,25" font="Regular;20" halign="left" valign="center" backgroundColor="transpBlack" transparent="1"/>
|
||||
<widget name="listlabel" position="400,110" size="125,25" zPosition="1" font="Regular;20" valign="left"/>
|
||||
<ePixmap pixmap="skin_default/buttons/key_red.png" position="40,167" size="40,40" alphatest="on" />
|
||||
<ePixmap pixmap="skin_default/buttons/key_green.png" position="170,167" size="40,40" alphatest="on" />
|
||||
<ePixmap pixmap="skin_default/buttons/key_yellow.png" position="300,167" size="40,40" alphatest="on" />
|
||||
<ePixmap pixmap="skin_default/buttons/key_blue.png" position="430,167" size="40,40" alphatest="on" />
|
||||
<widget name="key_red" position="70,160" zPosition="1" size="90,40" font="Regular;14" halign="center" valign="left" backgroundColor="transpBlack" transparent="1" />
|
||||
<widget name="key_green" position="200,160" zPosition="1" size="90,40" font="Regular;14" halign="center" valign="left" backgroundColor="transpBlack" transparent="1" />
|
||||
<widget name="key_yellow" position="330,160" zPosition="1" size="90,40" font="Regular;14" halign="center" valign="left" backgroundColor="transpBlack" transparent="1" />
|
||||
<widget name="key_blue" position="460,160" zPosition="1" size="90,40" font="Regular;14" halign="center" valign="left" backgroundColor="transpBlack" transparent="1" />
|
||||
</screen>"""
|
||||
|
||||
def __init__(self, session):
|
||||
global liczymy
|
||||
Screen.__init__(self, session)
|
||||
self.labList = ['hdd', 'usb']
|
||||
self.labList = ['hdd', 'usb','card', 'cf']
|
||||
self.list = []
|
||||
self.sprDev()
|
||||
self.devlist = []
|
||||
@@ -653,6 +703,6 @@ class DeviceManagerSummary(Screen):
|
||||
|
||||
def SkinPath():
|
||||
myskinpath = resolveFilename(SCOPE_CURRENT_SKIN, '')
|
||||
if myskinpath == '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/':
|
||||
myskinpath = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/'
|
||||
if myskinpath == '' + LinkNeoBoot + '/images/':
|
||||
myskinpath = '' + LinkNeoBoot + '/images/'
|
||||
return myskinpath
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
#!/bin/sh
|
||||
#DESCRIPTION=This script by gutosie
|
||||
|
||||
opkg update
|
||||
opkg install --force-reinstall mtd-utils
|
||||
opkg install --force-reinstall mtd-utils-ubifs
|
||||
opkg install --force-reinstall mtd-utils-jffs2
|
||||
opkg install --force-reinstall kernel-module-nandsim
|
||||
opkg install --force-reinstall python-subprocess
|
||||
opkg install --force-reinstall python-argparse
|
||||
opkg install --force-reinstall curl
|
||||
opkg install --force-reinstall liblzo2-2
|
||||
opkg install --force-reinstall python-imaging
|
||||
opkg install --force-maintainer --force-reinstall --force-overwrite kernel-image
|
||||
opkg configure update-modules
|
||||
cd
|
||||
@@ -1,22 +0,0 @@
|
||||
#!/bin/sh
|
||||
IMAGE=ImageBoot
|
||||
NEOBOOTMOUNT=$( cat /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location)
|
||||
rm -f /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neom
|
||||
|
||||
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 == '$NEOBOOTMOUNT' ]; then
|
||||
echo $nhdd
|
||||
echo "mkdir "$nhdd >> /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neom
|
||||
echo "mount "$item $nhdd >> /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neom
|
||||
else
|
||||
echo "umount "$nhdd >> /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neom
|
||||
echo "mkdir "$nhdd >> /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neom
|
||||
echo "mount "$item $nhdd >> /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neom
|
||||
echo ok
|
||||
fi
|
||||
done
|
||||
chmod 0755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neom
|
||||
|
||||
220
NeoBoot/files/neoconsole.py
Normal file
@@ -0,0 +1,220 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from Plugins.Extensions.NeoBoot.__init__ import _
|
||||
from enigma import eConsoleAppContainer
|
||||
from Screens.Screen import Screen
|
||||
from Components.ActionMap import ActionMap
|
||||
from Components.ScrollLabel import ScrollLabel
|
||||
from Components.Sources.StaticText import StaticText
|
||||
from Screens.MessageBox import MessageBox
|
||||
from Components.Label import Label
|
||||
|
||||
|
||||
class Console(Screen):
|
||||
skin = """<screen name="ConsoleN" position="80,100" size="1010,230" title="Command execution...">
|
||||
<widget name="text" position="-2,-1" size="1015,230" font="Console;14" />
|
||||
</screen>"""
|
||||
|
||||
# def __init__(self, session, title = 'Console', cmdlist = None, finishedCallback = None, closeOnSuccess = False):
|
||||
# Screen.__init__(self, session)
|
||||
|
||||
def __init__(self, session, title = _('Console'), cmdlist = None, finishedCallback = None, closeOnSuccess = False):
|
||||
Screen.__init__(self, session)
|
||||
self.finishedCallback = finishedCallback
|
||||
self.closeOnSuccess = closeOnSuccess
|
||||
self.errorOcurred = False
|
||||
self['key_red'] = Label(_('Stop action'))
|
||||
self['key_green'] = Label(_('Hide Console'))
|
||||
self['text'] = ScrollLabel('')
|
||||
self['summary_description'] = StaticText('')
|
||||
self['actions'] = ActionMap(['WizardActions', 'DirectionActions', 'ColorActions'], {'ok': self.cancel,
|
||||
'back': self.cancel,
|
||||
'up': self.key_up,
|
||||
'down': self.key_down,
|
||||
'green': self.key_green,
|
||||
'red': self.key_red}, -1)
|
||||
self.cmdlist = cmdlist
|
||||
self.newtitle = title
|
||||
self.screen_hide = False
|
||||
self.cancel_msg = None
|
||||
self.output_file = ''
|
||||
self.onShown.append(self.updateTitle)
|
||||
self.container = eConsoleAppContainer()
|
||||
self.run = 0
|
||||
self.container.appClosed.append(self.runFinished)
|
||||
self.container.dataAvail.append(self.dataAvail)
|
||||
self.onLayoutFinish.append(self.startRun)
|
||||
return
|
||||
|
||||
def updateTitle(self):
|
||||
self.setTitle(self.newtitle)
|
||||
|
||||
def doExec(self, cmd):
|
||||
if isinstance(cmd, (list, tuple)):
|
||||
return self.container.execute(cmd[0], *cmd)
|
||||
else:
|
||||
return self.container.execute(cmd)
|
||||
|
||||
def startRun(self):
|
||||
self['text'].setText(_('Execution progress:') + '\n\n')
|
||||
self['summary_description'].setText(_('Execution progress:'))
|
||||
print '[Console] executing in run', self.run, ' the command:', self.cmdlist[self.run]
|
||||
if self.doExec(self.cmdlist[self.run]):
|
||||
self.runFinished(-1)
|
||||
|
||||
def runFinished(self, retval):
|
||||
if retval:
|
||||
self.errorOcurred = True
|
||||
self.toggleScreenHide(True)
|
||||
self.run += 1
|
||||
if self.run != len(self.cmdlist):
|
||||
if self.doExec(self.cmdlist[self.run]):
|
||||
self.runFinished(-1)
|
||||
else:
|
||||
# self['key_red'].setText(_('Close'))
|
||||
# self['key_green'].setText(_('Save'))
|
||||
self.toggleScreenHide(True)
|
||||
if self.cancel_msg:
|
||||
self.cancel_msg.close()
|
||||
from Tools.Directories import fileExists
|
||||
if not fileExists('/etc/vtiversion.info'):
|
||||
lastpage = self['text'].isAtLastPage()
|
||||
self['text'].appendText('\n' + _('Execution finished!!'))
|
||||
self['summary_description'].setText('\n' + _('Execution finished!!'))
|
||||
if self.finishedCallback is not None:
|
||||
self.finishedCallback()
|
||||
if not self.errorOcurred and self.closeOnSuccess:
|
||||
self.output_file = 'end'
|
||||
self.cancel()
|
||||
return
|
||||
|
||||
def key_up(self):
|
||||
if self.screen_hide:
|
||||
self.toggleScreenHide()
|
||||
return
|
||||
self['text'].pageUp()
|
||||
|
||||
def key_down(self):
|
||||
if self.screen_hide:
|
||||
self.toggleScreenHide()
|
||||
return
|
||||
self['text'].pageDown()
|
||||
|
||||
def key_green(self):
|
||||
if self.screen_hide:
|
||||
self.toggleScreenHide()
|
||||
return
|
||||
if self.output_file == 'end':
|
||||
pass
|
||||
elif self.output_file.startswith('/tmp/'):
|
||||
self['text'].setText(self.readFile(self.output_file))
|
||||
self['key_green'].setText(_(' '))
|
||||
self.output_file = 'end'
|
||||
elif self.run == len(self.cmdlist):
|
||||
self.saveOutputText()
|
||||
#self.toggleScreenHide()
|
||||
else:
|
||||
self.toggleScreenHide()
|
||||
|
||||
def key_red(self):
|
||||
if self.screen_hide:
|
||||
self.toggleScreenHide()
|
||||
return
|
||||
if self.run == len(self.cmdlist):
|
||||
self.cancel()
|
||||
else:
|
||||
self.cancel_msg = self.session.openWithCallback(self.cancelCB, MessageBox, _('Cancel execution?'), type=MessageBox.TYPE_YESNO, default=False)
|
||||
|
||||
def cancelCB(self, ret = None):
|
||||
self.cancel_msg = None
|
||||
if ret:
|
||||
self.cancel(True)
|
||||
return
|
||||
|
||||
def saveOutputText(self):
|
||||
from time import time, localtime
|
||||
lt = localtime(time())
|
||||
self.output_file = '/tmp/%02d%02d%02d_console.txt' % (lt[3], lt[4], lt[5])
|
||||
self.session.openWithCallback(self.saveOutputTextCB, MessageBox, _("Save the commands and the output to a file?\n('%s')") % self.output_file, type=MessageBox.TYPE_YESNO, default=True)
|
||||
|
||||
def formatCmdList(self, source):
|
||||
if isinstance(source, (list, tuple)):
|
||||
for x in source:
|
||||
for y in self.formatCmdList(x):
|
||||
yield y
|
||||
|
||||
else:
|
||||
yield source
|
||||
|
||||
def saveOutputTextCB(self, ret = None):
|
||||
if ret:
|
||||
from os import path
|
||||
failtext = _("Path to save not exist: '/tmp/'")
|
||||
if path.exists('/tmp/'):
|
||||
text = 'commands ...\n\n'
|
||||
try:
|
||||
cmdlist = list(self.formatCmdList(self.cmdlist))
|
||||
text += 'command line: %s\n\n' % cmdlist[0]
|
||||
script = ''
|
||||
for cmd in cmdlist[0].split():
|
||||
if '.' in cmd:
|
||||
if cmd[-3:] in ('.py', '.sh'):
|
||||
script = cmd
|
||||
break
|
||||
|
||||
if script and path.isfile(script):
|
||||
text += 'script listing: %s\n\n%s\n\n' % (script, self.readFile(script))
|
||||
if len(cmdlist) > 1:
|
||||
text += 'next commands:\n\n' + '\n'.join(cmdlist[1:]) + '\n\n'
|
||||
except:
|
||||
text += 'error read commands!!!\n\n'
|
||||
|
||||
text += '-' * 50 + '\n\noutputs ...\n\n%s' % self['text'].getText()
|
||||
try:
|
||||
f = open(self.output_file, 'w')
|
||||
f.write(text)
|
||||
f.close()
|
||||
self['key_green'].setText(_('Load'))
|
||||
return
|
||||
except:
|
||||
failtext = _("File write error: '%s'") % self.output_file
|
||||
|
||||
self.output_file = 'end'
|
||||
self['key_green'].setText(_(' '))
|
||||
self.session.open(MessageBox, failtext, type=MessageBox.TYPE_ERROR)
|
||||
else:
|
||||
self.output_file = ''
|
||||
|
||||
def toggleScreenHide(self, setshow = False):
|
||||
if self.screen_hide or setshow:
|
||||
self.show()
|
||||
else:
|
||||
self.hide()
|
||||
self.screen_hide = not (self.screen_hide or setshow)
|
||||
|
||||
def readFile(self, file):
|
||||
try:
|
||||
with open(file, 'r') as rdfile:
|
||||
rd = rdfile.read()
|
||||
rdfile.close()
|
||||
except:
|
||||
if file == self.output_file:
|
||||
rd = self['text'].getText()
|
||||
else:
|
||||
rd = "File read error: '%s'\n" % file
|
||||
|
||||
return rd
|
||||
|
||||
def cancel(self, force = False):
|
||||
if self.screen_hide:
|
||||
self.toggleScreenHide()
|
||||
return
|
||||
if force or self.run == len(self.cmdlist):
|
||||
self.close()
|
||||
self.container.appClosed.remove(self.runFinished)
|
||||
self.container.dataAvail.remove(self.dataAvail)
|
||||
if self.run != len(self.cmdlist):
|
||||
self.container.kill()
|
||||
|
||||
def dataAvail(self, str):
|
||||
self['text'].appendText(str)
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#from __future__ import print_function
|
||||
#from Plugins.Extensions.NeoBoot.__init__ import _ , Log, PluginPath
|
||||
|
||||
from Plugins.Extensions.NeoBoot.__init__ import _
|
||||
import sys
|
||||
import os
|
||||
import time
|
||||
@@ -18,6 +18,44 @@ def getNeoLocation():
|
||||
f.close()
|
||||
return locatino
|
||||
|
||||
|
||||
#check ext
|
||||
def getFormat():
|
||||
neoformat='UNKNOWN'
|
||||
if os.path.exists('/proc/mounts'):
|
||||
with open('/proc/mounts', 'r') as f:
|
||||
lines = f.read()
|
||||
f.close()
|
||||
if lines.find('ext2') != -1:
|
||||
neoformat='ext2'
|
||||
elif lines.find('ext3') != -1:
|
||||
neoformat='ext3'
|
||||
elif lines.find('ext4') != -1:
|
||||
neoformat='ext4'
|
||||
elif lines.find('nfs') != -1:
|
||||
neoformat='nfs'
|
||||
|
||||
return neoformat
|
||||
|
||||
|
||||
def getNEO_filesystems():
|
||||
neo_filesystems='UNKNOWN'
|
||||
if os.path.exists('/tmp/.neo_format'):
|
||||
with open('/tmp/.neo_format', 'r') as f:
|
||||
lines = f.read()
|
||||
f.close()
|
||||
if lines.find('ext2') != -1:
|
||||
neo_filesystems='1'
|
||||
elif lines.find('ext3') != -1:
|
||||
neo_filesystems='1'
|
||||
elif lines.find('ext4') != -1:
|
||||
neo_filesystems='1'
|
||||
elif lines.find('nfs') != -1:
|
||||
neo_filesystems='1'
|
||||
|
||||
return neo_filesystems
|
||||
|
||||
|
||||
def Log(param = ''):
|
||||
global LogFileObj
|
||||
#first close object if exists
|
||||
@@ -68,14 +106,14 @@ def getCPUtype():
|
||||
#check install
|
||||
def getFSTAB():
|
||||
install='UNKNOWN'
|
||||
if os.path.exists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/installNeo'):
|
||||
with open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/installNeo', 'r') as f:
|
||||
if os.path.exists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/reading_blkid'):
|
||||
with open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/reading_blkid', 'r') as f:
|
||||
lines = f.read()
|
||||
f.close()
|
||||
if lines.find('UUID') != -1:
|
||||
install='OKinstall'
|
||||
install='UUID'
|
||||
elif not lines.find('UUID') != -1:
|
||||
install='NOinstall'
|
||||
install='NOUUID'
|
||||
return install
|
||||
|
||||
def getFSTAB2():
|
||||
@@ -87,7 +125,7 @@ def getFSTAB2():
|
||||
if lines.find('UUID') != -1:
|
||||
install='OKinstall'
|
||||
elif not lines.find('UUID') != -1:
|
||||
install='NOinstall'
|
||||
install='NOUUID'
|
||||
return install
|
||||
|
||||
def getINSTALLNeo():
|
||||
@@ -144,8 +182,7 @@ def getLabelDisck():
|
||||
lines = f.read()
|
||||
f.close()
|
||||
if lines.find('LABEL=') != -1:
|
||||
label='LABEL='
|
||||
|
||||
label='LABEL='
|
||||
return label
|
||||
|
||||
#checking device neo
|
||||
@@ -209,7 +246,6 @@ def getNeoMount2():
|
||||
elif lines.find('/dev/sdf1 /media/usb2') != -1:
|
||||
neo='usb_install_/dev/sdf1'
|
||||
|
||||
|
||||
return neo
|
||||
|
||||
def getNeoMount3():
|
||||
@@ -350,22 +386,57 @@ def runCMDS(cmdsList):
|
||||
ret = os.system(myCMD)
|
||||
return rett
|
||||
|
||||
#####################################
|
||||
|
||||
def getImageDistro():
|
||||
if fileExists('/etc/issue.net'):
|
||||
try:
|
||||
obraz = open('/etc/issue.net', 'r').readlines()
|
||||
imagetype = obraz[0][:-1]
|
||||
image = imagetype[0:-2]
|
||||
return image
|
||||
except:
|
||||
False
|
||||
|
||||
elif fileExists('/etc/vtiversion.info'):
|
||||
image = 'VTI'
|
||||
def getImageDistroN():
|
||||
image='Internal storage'
|
||||
|
||||
if fileExists('/.multinfo') and fileExists ('%sImageBoot/.imagedistro' % getNeoLocation() ):
|
||||
with open('%sImageBoot/.imagedistro' % getNeoLocation() , 'r') as f:
|
||||
image = f.readline().strip()
|
||||
f.close()
|
||||
|
||||
elif not fileExists('/.multinfo') and fileExists('/etc/vtiversion.info'):
|
||||
f = open("/etc/vtiversion.info",'r')
|
||||
imagever = f.readline().strip().replace("Release ", " ")
|
||||
f.close()
|
||||
image = imagever
|
||||
|
||||
elif not fileExists('/.multinfo') and fileExists('/etc/bhversion'):
|
||||
f = open("/etc/bhversion",'r')
|
||||
imagever = f.readline().strip()
|
||||
f.close()
|
||||
image = imagever
|
||||
|
||||
# elif not fileExists('/.multinfo') and fileExists('/etc/vtiversion.info'):
|
||||
# image = 'VTI Team Image '
|
||||
|
||||
elif fileExists('/.multinfo') and fileExists('/etc/bhversion'):
|
||||
image = 'Flash ' + ' ' + getBoxHostName()
|
||||
|
||||
elif fileExists('/.multinfo') and fileExists('/etc/vtiversion.info'):
|
||||
image = 'Flash ' + ' ' + getBoxHostName()
|
||||
|
||||
|
||||
elif fileExists('/usr/lib/enigma2/python/boxbranding.so') and not fileExists('/.multinfo'):
|
||||
from boxbranding import getImageDistro
|
||||
image = getImageDistro()
|
||||
|
||||
elif fileExists('/media/InternalFlash/etc/issue.net') and fileExists('/.multinfo') and not fileExists('%sImageBoot/.imagedistro' % getNeoLocation() ):
|
||||
obraz = open('/media/InternalFlash/etc/issue.net', 'r').readlines()
|
||||
imagetype = obraz[0][:-3]
|
||||
image = imagetype
|
||||
|
||||
elif fileExists('/etc/issue.net') and not fileExists('/.multinfo'):
|
||||
obraz = open('/etc/issue.net', 'r').readlines()
|
||||
imagetype = obraz[0][:-3]
|
||||
image = imagetype
|
||||
|
||||
else:
|
||||
image = 'Inernal Flash ' + ' ' + getBoxHostName()
|
||||
|
||||
return image
|
||||
|
||||
|
||||
def getKernelVersionString():
|
||||
try:
|
||||
result = popen('uname -r', 'r').read().strip('\n').split('-')
|
||||
|
||||
|
Before Width: | Height: | Size: 431 B |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 854 B |
|
Before Width: | Height: | Size: 310 B |
|
Before Width: | Height: | Size: 868 B |
|
Before Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 604 B |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 331 B |
|
Before Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 67 KiB |
1
NeoBoot/neoskins/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
BIN
NeoBoot/neoskins/__init__.pyo
Normal file
319
NeoBoot/neoskins/default.py
Normal file
@@ -0,0 +1,319 @@
|
||||
# skin = ./meoskins/defaul_skin - gutosie
|
||||
|
||||
from Screens.Screen import Screen
|
||||
from Components.Pixmap import Pixmap
|
||||
import os
|
||||
|
||||
#Colors (#AARRGGBB)
|
||||
#____Recommended colors - Zalecane kolory :
|
||||
#color name="white" value="#ffffff"
|
||||
#color name="darkwhite" value="#00dddddd"
|
||||
#color name="red" value="#f23d21"
|
||||
#color name="green" value="#389416"
|
||||
#color name="blue" value="#0064c7"
|
||||
#color name="yellow" value="#bab329"
|
||||
#color name="orange" value="#00ffa500"
|
||||
#color name="gray" value="#808080"
|
||||
#color name="lightgrey" value="#009b9b9b"
|
||||
# green = '#00389416' lub #00389416
|
||||
# red = '#00ff2525'
|
||||
# yellow = '#00ffe875'
|
||||
# orange = '#00ff7f50'
|
||||
# seledynowy = #00FF00
|
||||
# jasny-blue = #99FFFF
|
||||
|
||||
# Zamiast font=Regular ktory nie rozpoznaje polskich znakow np. na VTi, mozesz zmienic na ponizsze font="*:
|
||||
# font - genel
|
||||
# font - baslk
|
||||
# font - tasat
|
||||
# font - dugme
|
||||
|
||||
# <widget name="config" position="1177,256" size="703,717" itemHeight="43" font="genel;30" scrollbarMode="showOnDemand" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" foregroundColorSelected="#00FFFFF" backgroundColorSelected="#1A27408B" scrollbarSliderBorderWidth="1" scrollbarWidth="8" scrollbarSliderForegroundColor="#00FFFFFF" scrollbarSliderBorderColor="#0027408B" enableWrapAround="1" transparent="1" />
|
||||
|
||||
###____ Skin Ultra HD - ImageChooseFULLHD ___ mod. gutosie___
|
||||
ImageChooseFULLHD ="""
|
||||
<screen name="ImageChooseFULLHD" position="center,center" size="1920,1080" title=" " flags="wfNoBorder" backgroundColor="transparent">
|
||||
<eLabel backgroundColor="black" font="dugme; 30" foregroundColor="#99FFFF" position="70,50" size="298,55" valign="center" text="NEOBoot Multi-image" transparent="1" />
|
||||
<widget name="config" position="1177,250" size="668,715" selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/selektor.png" itemHeight="45" font="dugme;30" scrollbarMode="showOnDemand" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" foregroundColorSelected="#00FFFFF" backgroundColorSelected="#1A27408B" scrollbarSliderBorderWidth="1" scrollbarWidth="8" scrollbarSliderForegroundColor="#99FFFF" scrollbarSliderBorderColor="#0027408B" enableWrapAround="1" transparent="1" />
|
||||
<widget name="progreso" position="590,600" size="542,10" borderWidth="1" zPosition="3" />
|
||||
<ePixmap position="-76,0" zPosition="-7" size="1997,1078" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/skin.png" />
|
||||
<ePixmap position="54,981" zPosition="-7" size="1809,55" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/pasek.png" />
|
||||
<ePixmap position="71,903" zPosition="-7" size="509,54" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/pasek2.png" />
|
||||
<ePixmap position="71,820" zPosition="-7" size="509,54" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/pasek2.png" />
|
||||
<ePixmap position="71,736" zPosition="-7" size="509,54" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/pasek2.png" />
|
||||
<ePixmap position="70,655" zPosition="-7" size="509,54" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/pasek2.png" />
|
||||
<ePixmap position="64,417" zPosition="-7" size="509,54" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/pasek2.png" />
|
||||
<ePixmap position="587,631" zPosition="-2" size="545,340" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrix.png" />
|
||||
<ePixmap position="1170,186" size="45,64" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/updown.png" alphatest="on" />
|
||||
<eLabel position="70,155" size="1075,2" backgroundColor="blue" foregroundColor="blue" name="linia" />
|
||||
<eLabel position="70,395" size="1075,2" backgroundColor="blue" foregroundColor="blue" name="linia2" />
|
||||
<widget name="device_icon" position="131,490" size="176,136" alphatest="on" zPosition="2" />
|
||||
<widget name="key_red" position="130,990" zPosition="1" size="507,38" font="dugme;30" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00ff0d0d" />
|
||||
<widget name="key_green" position="690,990" zPosition="1" size="334,38" font="dugme;30" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00FF00" />
|
||||
<widget name="key_yellow" position="1085,990" zPosition="1" size="480,38" font="dugme;30" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="yellow" />
|
||||
<widget name="key_blue" position="1620,990" zPosition="1" size="240,38" font="dugme;30" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="#0000cbf6" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/red.png" position="80,990" size="34,38" zPosition="1" alphatest="blend" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/green.png" position="640,990" size="34,38" zPosition="1" alphatest="blend" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/yellow.png" position="1035,990" size="34,38" zPosition="1" alphatest="blend" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/blue.png" position="1570,990" size="34,38" zPosition="1" alphatest="blend" />
|
||||
<widget name="key_menu" position="230,425" zPosition="1" size="300,30" font="dugme;30" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00ffe875" />
|
||||
<ePixmap position="80,426" size="75,31" zPosition="10" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/menu.png" transparent="1" alphatest="blend" />
|
||||
<ePixmap position="158,427" size="70,31" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/arrowleft.png" alphatest="blend" zPosition="3" />
|
||||
<eLabel backgroundColor="black" font="dugme; 30" foregroundColor="#00dddddd" position="85,660" size="59,45" valign="center" text="1 >" transparent="1" />
|
||||
<eLabel backgroundColor="black" font="dugme; 30" foregroundColor="#00dddddd" position="85,742" size="59,45" valign="center" text="2 >" transparent="1" />
|
||||
<eLabel backgroundColor="black" font="dugme; 30" foregroundColor="#00dddddd" position="85,826" size="61,45" valign="center" text="3 >" transparent="1" />
|
||||
<widget name="key_1" position="150,660" zPosition="1" size="425,45" font="dugme;30" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
|
||||
<widget name="key_2" position="150,742" zPosition="1" size="423,45" font="dugme;30" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00FF00" />
|
||||
<widget name="key_3" position="150,826" zPosition="1" size="425,45" font="dugme;30" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="yellow" />
|
||||
<widget name="label1" position="1179,147" size="661,99" zPosition="1" halign="center" font="dugme;33" foregroundColor="red" backgroundColor="black" transparent="1" />
|
||||
<widget name="label2" position="70,164" zPosition="1" size="561,66" font="dugme;30" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />
|
||||
<widget name="label3" position="505,475" zPosition="1" size="625,110" font="dugme;28" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="yellow" />
|
||||
<widget name="label4" position="70,244" zPosition="1" size="476,66" font="dugme;30" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />
|
||||
<widget name="label5" position="951,164" zPosition="1" size="191,66" font="dugme;30" halign="right" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00ffe875" />
|
||||
<widget name="label16" position="1169,50" zPosition="1" size="186,55" font="dugme;30" halign="right" valign="center" backgroundColor="black" transparent="1" foregroundColor="#99FFFF" />
|
||||
<widget name="label7" position="1073,323" zPosition="1" size="71,66" font="dugme;30" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00FF00" />
|
||||
<widget name="label8" position="70,324" zPosition="1" size="1000,66" font="dugme;30" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />
|
||||
<widget name="label10" position="1028,421" zPosition="1" size="102,50" font="dugme;30" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="yellow" />
|
||||
<widget name="label13" position="699,421" zPosition="1" size="316,50" font="dugme;30" halign="right" valign="center" backgroundColor="black" transparent="1"/>
|
||||
<widget name="label14" position="552,50" zPosition="1" size="281,55" font="dugme;30" halign="right" valign="center" backgroundColor="black" transparent="1" foregroundColor="#99FFFF" />
|
||||
<widget name="label15" position="322,586" zPosition="1" size="265,42" font="dugme;30" halign="center" valign="right" backgroundColor="black" transparent="1" />
|
||||
<widget name="label6" position="551,235" zPosition="1" size="593,85" font="dugme;30" halign="right" valign="center" backgroundColor="black" transparent="1" foregroundColor="yellow" />
|
||||
<widget name="label17" position="674,162" size="274,66" font="dugme;30" halign="right" valign="center" zPosition="1" backgroundColor="black" transparent="1" foregroundColor="#00ffe875" />
|
||||
<widget name="label9" position="845,47" zPosition="1" size="306,56" font="dugme;30" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="yellow" />
|
||||
<widget name="label19" position="80,907" size="502,45" font="dugme;25" halign="left" valign="center" zPosition="1" backgroundColor="black" transparent="1" foregroundColor="orange" />
|
||||
<widget name="label20" position="1368,50" zPosition="1" size="537,55" font="dugme;30" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="yellow" />
|
||||
<widget name="label21" position="371,49" size="179,56" font="dugme;30" halign="center" valign="center" zPosition="1" backgroundColor="black" transparent="1" foregroundColor="#00ff7f50" />
|
||||
|
||||
</screen>
|
||||
"""
|
||||
|
||||
|
||||
###____ Skin Ultra HD - ImageChooseULTRAHD ___ mod. gutosie___
|
||||
ImageChooseULTRAHD ="""
|
||||
<screen name="NeoBootImageChoose" position="0,0" size="3840,2160" flags="wfNoBorder" backgroundColor="#ff111111">
|
||||
<widget source="Title" render="Label" position="174,108" size="1575,150" font="baslk;102" valign="bottom" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" noWrap="1" transparent="1" />
|
||||
<widget name="label1" position="210,360" size="2100,90" font="genel;60" foregroundColor="#00DAA520" backgroundColor="#1A0F0F0F" halign="left" valign="center" zPosition="1" transparent="1" />
|
||||
<widget name="config" position="210,480" size="2100,510" itemHeight="102" font="genel;60" scrollbarMode="showOnDemand" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" foregroundColorSelected="#00FFFFF" backgroundColorSelected="#1A27408B" scrollbarSliderBorderWidth="1" scrollbarWidth="8" scrollbarSliderForegroundColor="#00FFFFFF" scrollbarSliderBorderColor="#0027408B" enableWrapAround="1" transparent="1" />
|
||||
<eLabel position="210,1020" size="2100,3" backgroundColor="#0027408B" />
|
||||
<widget name="label2" position="252,1050" size="780,90" font="genel;60" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" halign="right" valign="center" zPosition="1" transparent="1" />
|
||||
<widget name="label4" position="252,1140" size="780,90" font="genel;60" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" halign="right" valign="center" zPosition="1" transparent="1" />
|
||||
<widget name="label8" position="252,1230" size="780,90" font="genel;60" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" halign="right" valign="center" zPosition="1" transparent="1" />
|
||||
<widget name="label5" position="1062,1050" size="1230,90" font="genel;60" foregroundColor="#0058CCFF" backgroundColor="#1A0F0F0F" halign="left" valign="center" zPosition="1" transparent="1" />
|
||||
<widget name="label6" position="1062,1140" size="1230,90" font="genel;60" foregroundColor="#0058CCFF" backgroundColor="#1A0F0F0F" halign="left" valign="center" zPosition="1" transparent="1" />
|
||||
<widget name="label7" position="1062,1230" size="1230,90" font="genel;60" foregroundColor="#0058CCFF" backgroundColor="#1A0F0F0F" halign="left" valign="center" zPosition="1" transparent="1" />
|
||||
<eLabel position="210,1350" size="2100,3" backgroundColor="#0027408B" />
|
||||
<ePixmap position="210,1410" size="90,90" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/key_1_UHD.png" zPosition="1" alphatest="blend" />
|
||||
<ePixmap position="210,1512" size="90,90" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/key_2_UHD.png" zPosition="1" alphatest="blend" />
|
||||
<ePixmap position="210,1614" size="90,90" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/key_3_UHD.png" zPosition="1" alphatest="blend" />
|
||||
<widget position="330,1410" size="660,78" name="key_1" font="genel;60" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" halign="left" valign="center" zPosition="1" transparent="1" />
|
||||
<widget position="330,1512" size="660,78" name="key_2" font="genel;60" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" halign="left" valign="center" zPosition="1" transparent="1" />
|
||||
<widget position="330,1614" size="660,78" name="key_3" font="genel;60" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" halign="left" valign="center" zPosition="1" transparent="1" />
|
||||
<widget name="device_icon" position="1110,1428" size="216,252" zPosition="1" transparent="1" alphatest="blend" />
|
||||
<widget name="label3" position="1410,1428" size="900,90" font="genel;60" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" halign="left" valign="center" zPosition="1" transparent="1" />
|
||||
<widget name="progreso" position="1416,1536" size="660,33" borderWidth="0" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" zPosition="2" transparent="1" />
|
||||
<eLabel position="1416,1551" size="660,3" backgroundColor="#00FFFFFF" zPosition="1" />
|
||||
<widget name="label11" position="1410,1578" size="900,90" font="genel;60" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" halign="left" valign="center" zPosition="1" transparent="1" />
|
||||
<ePixmap position="2850,1800" size="243,120" zPosition="10" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/bt_menu_UHD.png" transparent="1" alphatest="blend" />
|
||||
<ePixmap position="3135,1800" size="243,120" zPosition="10" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/bt_ok_UHD.png" transparent="1" alphatest="blend" />
|
||||
<ePixmap position="3420,1800" size="243,120" zPosition="10" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/bt_exit_UHD.png" transparent="1" alphatest="blend" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/btc_red_UHD.png" position="105,1905" size="90,120" alphatest="blend" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/btc_green_UHD.png" position="654,1905" size="90,120" alphatest="blend" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/btc_yellow_UHD.png" position="1203,1905" size="90,120" alphatest="blend" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/btc_blue_UHD.png" position="1752,1905" size="90,120" alphatest="blend" />
|
||||
<widget name="key_red" position="210,1914" size="510,90" noWrap="1" zPosition="1" valign="center" font="dugme;60" halign="left" backgroundColor="#1A0F0F0F" foregroundColor="#00FFFFFF" transparent="1" />
|
||||
<widget name="key_green" position="759,1914" size="510,90" noWrap="1" zPosition="1" valign="center" font="dugme;60" halign="left" backgroundColor="#1A0F0F0F" foregroundColor="#00FFFFFF" transparent="1" />
|
||||
<widget name="key_yellow" position="1308,1914" size="510,90" noWrap="1" zPosition="1" valign="center" font="dugme;60" halign="left" backgroundColor="#1A0F0F0F" foregroundColor="#00FFFFFF" transparent="1" />
|
||||
<widget name="key_blue" position="1857,1914" size="510,90" noWrap="1" zPosition="1" valign="center" font="dugme;60" halign="left" backgroundColor="#1A0F0F0F" foregroundColor="#00FFFFFF" transparent="1" />
|
||||
<eLabel position="120,75" zPosition="-10" size="2265,1950" backgroundColor="#1A0F0F0F" name="layer1" />
|
||||
<eLabel position="2385,180" zPosition="-10" size="1335,1740" backgroundColor="#1A27408B" name="layer2" />
|
||||
<ePixmap position="2700,600" size="768,258" zPosition="5" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/logo.png" transparent="1" alphatest="blend" />
|
||||
<widget source="global.CurrentTime" render="Label" position="1956,90" size="420,180" font="tasat;150" noWrap="1" halign="center" valign="bottom" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" transparent="1">
|
||||
<convert type="ClockToText">Default</convert></widget>
|
||||
<widget source="global.CurrentTime" render="Label" position="1536,90" size="420,81" font="tasat;48" noWrap="1" halign="right" valign="bottom" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" transparent="1">
|
||||
<convert type="ClockToText">Format:%A</convert></widget>
|
||||
<widget source="global.CurrentTime" render="Label" position="1536,162" size="420,81" font="tasat;48" noWrap="1" halign="right" valign="bottom" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" transparent="1">
|
||||
<convert type="ClockToText">Format:%e. %b.</convert>
|
||||
</widget>
|
||||
</screen>"""
|
||||
|
||||
|
||||
###____ Skin HD - ImageChoose ___mod. gutosie ___
|
||||
ImageChooseHD ="""
|
||||
<screen name="NeoBootImageChoose" position="center,center" size="1280, 720" backgroundColor="transpBlack">
|
||||
<ePixmap position="0,0" zPosition="-1" size="1274,720" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/1frame_base-fs8.png" />
|
||||
<widget source="session.VideoPicture" render="Pig" position=" 836,89" size="370,208" zPosition="3" backgroundColor="#ff000000" />
|
||||
<ePixmap position="870,304" zPosition="-1" size="300,14" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/1chan_p1_bar.png" alphatest="on" />
|
||||
<widget source="Title" render="Label" position="12,5" size="788,30" font="Regular;28" halign="left" foregroundColor="#58bcff" backgroundColor="transpBlack" transparent="1" />
|
||||
<widget name="label9" position="818,4" zPosition="10" size="385,30" font="Regular;24" foregroundColor="#58bcff" backgroundColor="black" halign="left" transparent="1" />
|
||||
<widget selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/slekvti.png" name="config" enableWrapAround="1" position="30,150" size="270,370" itemHeight="25" font="Regular;18" zPosition="2" foregroundColor="#00cc99" scrollbarMode="showNever" transparent="1" />
|
||||
<widget name="device_icon" position="470,71" size="177,132" alphatest="on" zPosition="2" />
|
||||
<ePixmap position="20,135" zPosition="1" size="280,400" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/border_menu1.png" />
|
||||
<widget name="progreso" position="369,216" size="377,11" borderWidth="1" zPosition="3" foregroundColor="white" />
|
||||
<widget name="label3" position="328,232" zPosition="1" size="477,60" font="Regular;20" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#58ccff" />
|
||||
<ePixmap position="319,426" zPosition="4" size="500,4" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/separator.png" alphatest="blend" transparent="1" />
|
||||
<ePixmap position="319,310" zPosition="4" size="500,4" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/separator.png" alphatest="blend" transparent="1" />
|
||||
<widget name="label2" position="320,340" zPosition="1" size="275,26" font="Regular;20" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />
|
||||
<widget name="label5" position="600,339" zPosition="1" size="164,27" font="Regular;20" halign="right" valign="center" backgroundColor="black" transparent="1" foregroundColor="#58ccff" />
|
||||
<widget name="label4" position="25,597" zPosition="1" size="319,25" font="Regular;20" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
|
||||
<widget name="label6" position="346,597" zPosition="1" size="444,25" font="Regular;20" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
|
||||
<widget name="label8" position="320,381" zPosition="1" size="378,25" font="Regular;20" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />
|
||||
<widget name="label7" position="700,381" zPosition="1" size="66,25" font="Regular;20" halign="right" valign="center" backgroundColor="black" transparent="1" foregroundColor="#58ccff" />
|
||||
<eLabel backgroundColor="black" font="Regular; 20" foregroundColor="#58ccff" position="319,450" size="51,25" text="1 >" transparent="1" />
|
||||
<eLabel backgroundColor="black" font="Regular; 20" foregroundColor="#58ccff" position="318,480" size="52,25" text="2 >" transparent="1" />
|
||||
<eLabel backgroundColor="black" font="Regular; 20" foregroundColor="#58ccff" position="318,510" size="52,25" text="3 >" transparent="1" />
|
||||
<eLabel backgroundColor="black" font="Regular; 20" foregroundColor="#58ccff" position="317,540" size="53,25" text="4 >" transparent="1" />
|
||||
<widget name="key_1" position="375,450" zPosition="1" size="349,25" font="Regular;18" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />
|
||||
<widget name="key_2" position="374,480" zPosition="1" size="350,25" font="Regular;20" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />
|
||||
<widget name="key_3" position="373,510" zPosition="1" size="350,25" font="Regular;20" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />
|
||||
<widget name="label19" position="373,540" zPosition="1" size="438,25" font="Regular;20" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />
|
||||
<ePixmap position="926,489" zPosition="1" size="228,130" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/1matrix.png" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/red25.png" position="-4,650" size="209,40" alphatest="blend" />
|
||||
<widget name="key_red" position="0,670" zPosition="2" size="250,45" font="Regular; 15" halign="center" backgroundColor="transpBlack" transparent="1" foregroundColor="white" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/green25.png" position="213,650" size="204,40" alphatest="blend" />
|
||||
<widget name="key_green" position="259,671" size="155,45" zPosition="1" font="Regular; 15" halign="center" backgroundColor="transpBlack" transparent="1" foregroundColor="white" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/yellow25.png" position="431,650" size="247,40" alphatest="blend" />
|
||||
<widget name="key_yellow" position="421,670" size="270,46" zPosition="1" font="Regular; 15" halign="center" backgroundColor="transpBlack" transparent="1" foregroundColor="white" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/blue25.png" position="690,650" size="197,40" alphatest="blend" />
|
||||
<widget name="key_blue" position="712,670" size="209,46" zPosition="1" font="Regular; 15" halign="center" backgroundColor="transpBlack" transparent="1" foregroundColor="white" />
|
||||
<widget name="key_menu" position="1065,648" zPosition="1" size="181,45" font="Regular;22" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="#58bcff" />
|
||||
<eLabel backgroundColor="black" font="Regular; 24" foregroundColor="white" position="950,651" size="102,45" halign="left" valign="center" text="MENU >" transparent="1" />
|
||||
<widget source="global.CurrentTime" render="Label" position="1052,39" size="152,41" backgroundColor="black" transparent="1" zPosition="1" font="Regular;25" valign="center" halign="right">
|
||||
<convert type="ClockToText">Format:%-H:%M</convert>
|
||||
</widget>
|
||||
</screen>
|
||||
"""
|
||||
|
||||
|
||||
###____ Skin FULLHD - MyUpgradeFULLHD ___mod. gutosie ___
|
||||
MyUpgradeFULLHD ="""
|
||||
<screen name="MyUpgradeFULLHD" position="center,center" size="1380,570" title="Tools Neoboot">
|
||||
<ePixmap position="594,255" zPosition="-2" size="623,313" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrix.png" />
|
||||
<widget source="list" render="Listbox" position="33,101" size="1328,124" scrollbarMode="showOnDemand">
|
||||
<convert type="TemplatedMultiContent">\
|
||||
{"template": [MultiContentEntryText(pos = (90, 1), size = (1250, 66), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
|
||||
MultiContentEntryPixmapAlphaTest(pos = (8, 4), size = (66, 66), png = 1),
|
||||
],
|
||||
"fonts": [gFont("dugme", 40)],
|
||||
"itemHeight": 66
|
||||
}
|
||||
</convert>
|
||||
</widget>
|
||||
<eLabel text="---NeoBoot upgrade new version--- " font="tasat; 40" position="188,21" size="1042,70" halign="center" foregroundColor="red" backgroundColor="black" transparent="1" />
|
||||
<eLabel text="Exit -Back" font="tasat; 40" position="27,441" size="389,80" halign="center" foregroundColor="yellow" backgroundColor="black" transparent="1" />
|
||||
</screen>"""
|
||||
|
||||
|
||||
###____ Skin UltraHD - MyUpgradeUltraHD ___mod. gutosie ___
|
||||
MyUpgradeUltraHD ="""
|
||||
<screen name="MyUpgradeUltraHD" position="center,center" size="2100,1020" flags="wfNoBorder" backgroundColor="#ff111111">
|
||||
<widget name="label1" position="180,210" size="1740,78" font="genel;60" halign="center" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" zPosition="1" transparent="1" />
|
||||
<widget source="list" render="Listbox" position="210,390" size="1680,252" itemHeight="132" font="genel;66" scrollbarMode="showOnDemand" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" foregroundColorSelected="#00FFFFF" backgroundColorSelected="#1A27408B" scrollbarSliderBorderWidth="1" scrollbarWidth="8" scrollbarSliderForegroundColor="#00FFFFFF" scrollbarSliderBorderColor="#0027408B" enableWrapAround="1" transparent="1">
|
||||
<convert type="TemplatedMultiContent">
|
||||
{"template": [MultiContentEntryText(pos=(0,0), size=(1680,132), flags=RT_HALIGN_CENTER|RT_VALIGN_CENTER, text=0)], "fonts": [gFont("Regular",66)], "itemHeight":132}\n </convert>
|
||||
</widget>
|
||||
<widget name="label2" position="180,600" size="1740,78" font="genel;60" halign="center" foregroundColor="#00DAA520" backgroundColor="#1A0F0F0F" zPosition="1" transparent="1" />
|
||||
<ePixmap position="774,840" size="243,120" zPosition="2" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/logo.png" transparent="1" alphatest="blend" />
|
||||
<ePixmap position="1083,840" size="243,120" zPosition="2" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/bt_exit_UHD.png" transparent="1" alphatest="blend" />
|
||||
<eLabel position="120,0" zPosition="-2" size="1890,60" backgroundColor="#1A27408B" name="popupUst" />
|
||||
<eLabel position="0,60" zPosition="-2" size="2100,900" backgroundColor="#1A0F0F0F" name="popupOrt" />
|
||||
<eLabel position="90,900" zPosition="-1" size="1920,120" backgroundColor="#1A27408B" name="popupAlt" />
|
||||
</screen>"""
|
||||
|
||||
|
||||
###____ Skin MyUpgradeHD - MyUpgradeHD ___mod. gutosie ___
|
||||
MyUpgradeHD ="""
|
||||
<screen name="MyUpgradeHD" position="center,center" size="1127,569" title="Tools NeoBoot">
|
||||
<ePixmap position="492,223" zPosition="-2" size="589,298" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrix.png" />
|
||||
<widget source="list" render="Listbox" position="18,122" size="1085,82" scrollbarMode="showOnDemand">
|
||||
<convert type="TemplatedMultiContent">
|
||||
{"template": [MultiContentEntryText(pos = (90, 1), size = (920, 66), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
|
||||
MultiContentEntryPixmapAlphaTest(pos = (8, 4), size = (66, 66), png = 1),
|
||||
],
|
||||
"fonts": [gFont("Regular", 40)],
|
||||
"itemHeight": 66
|
||||
}
|
||||
</convert>
|
||||
</widget>
|
||||
<eLabel text="NeoBoot wykry\xc5\x82 nowsz\xc4\x85 wersj\xc4\x99 wtyczki. " font="Regular; 40" position="27,40" size="1042,70" halign="center" foregroundColor="red" backgroundColor="black" transparent="1" />
|
||||
<eLabel text="EXIT - Zrezygnuj" font="Regular; 40" position="27,441" size="389,80" halign="center" foregroundColor="yellow" backgroundColor="black" transparent="1" />
|
||||
</screen>"""
|
||||
|
||||
|
||||
###____ Skin NeoBootInstallationFULLHD - NeoBootInstallationFULLHD ___mod. gutosie ___
|
||||
NeoBootInstallationFULLHD ="""
|
||||
<screen name="NeoBootInstallationFULLHD" position="410,138" size="1200,850" title="NeoBoot">
|
||||
<widget name="label3" position="10,632" size="1178,114" zPosition="1" halign="center" font="dugme;28" backgroundColor="black" transparent="1" foregroundColor="#ffffff" />
|
||||
<ePixmap position="643,282" zPosition="-2" size="531,331" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrix.png" />
|
||||
<eLabel position="15,76" size="1177,2" backgroundColor="blue" foregroundColor="blue" name="linia" />
|
||||
<eLabel position="10,622" size="1168,3" backgroundColor="blue" foregroundColor="blue" name="linia" />
|
||||
<eLabel position="14,752" size="1168,3" backgroundColor="blue" foregroundColor="blue" name="linia" />
|
||||
<eLabel position="15,276" size="1183,2" backgroundColor="blue" foregroundColor="blue" name="linia" />
|
||||
<widget name="label1" position="14,4" size="1180,62" zPosition="1" halign="center" font="dugme;28" backgroundColor="black" transparent="1" foregroundColor="#ffffff" />
|
||||
<widget name="label2" position="15,82" size="1178,190" zPosition="1" halign="center" font="dugme;28" backgroundColor="black" transparent="1" foregroundColor="yellow" />
|
||||
<widget name="config" position="15,285" size="641,329" font="dugme; 28" itemHeight="42" scrollbarMode="showOnDemand" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/redcor.png" position="48,812" size="140,28" alphatest="on" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/greencor.png" position="311,816" size="185,28" alphatest="on" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/yellowcor.png" position="614,815" size="150,28" alphatest="on" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/bluecor.png" position="958,817" size="140,26" alphatest="on" />
|
||||
<widget name="key_red" position="19,760" zPosition="1" size="221,47" font="dugme; 28" halign="center" valign="center" backgroundColor="red" transparent="1" foregroundColor="red" />
|
||||
<widget name="key_green" position="289,761" zPosition="1" size="227,47" font="dugme; 28" halign="center" valign="center" backgroundColor="green" transparent="1" foregroundColor="green" />
|
||||
<widget name="key_yellow" position="583,760" zPosition="1" size="224,51" font="dugme; 28" halign="center" valign="center" backgroundColor="yellow" transparent="1" foregroundColor="yellow" />
|
||||
<widget name="key_blue" position="856,761" zPosition="1" size="326,52" font="dugme; 28" halign="center" valign="center" backgroundColor="blue" transparent="1" foregroundColor="blue" />
|
||||
</screen>"""
|
||||
|
||||
###____ Skin NeoBootInstallationUltraHD - NeoBootInstallationUltraHD ___mod. gutosie ___
|
||||
NeoBootInstallationUltraHD ="""
|
||||
<screen name="NeoBootInstallationUltraHD" position="0,0" size="3840,2160" flags="wfNoBorder" backgroundColor="#ff111111">
|
||||
<widget source="Title" render="Label" position="174,108" size="1575,150" font="baslk;102" valign="bottom" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" noWrap="1" transparent="1" />
|
||||
<widget name="label1" position="210,360" size="2100,90" font="genel;72" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" zPosition="1" transparent="1" />
|
||||
<widget name="label2" position="210,480" size="2100,570" font="genel;60" foregroundColor="#00DAA520" backgroundColor="#1A0F0F0F" zPosition="1" transparent="1" />
|
||||
<widget name="config" position="210,690" size="2100,540" itemHeight="108" font="genel;60" zPosition="2" scrollbarMode="showOnDemand" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" foregroundColorSelected="#00FFFFF" backgroundColorSelected="#1A27408B" scrollbarSliderBorderWidth="1" scrollbarWidth="8" scrollbarSliderForegroundColor="#00FFFFFF" scrollbarSliderBorderColor="#0027408B" enableWrapAround="1" transparent="1" />
|
||||
<eLabel position="210,1470" size="2100,3" backgroundColor="#0027408B" />
|
||||
<widget name="label3" position="150,1500" size="2100,90" font="genel;60" halign="center" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" zPosition="1" transparent="1" />
|
||||
<eLabel position="210,1620" size="2100,3" backgroundColor="#0027408B" />
|
||||
<ePixmap position="3420,1800" size="243,120" zPosition="10" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/bt_exit_UHD.png" transparent="1" alphatest="blend" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/btc_red_UHD.png" position="105,1905" size="90,120" alphatest="blend" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/btc_green_UHD.png" position="654,1905" size="90,120" alphatest="blend" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/btc_yellow_UHD.png" position="1203,1905" size="90,120" alphatest="blend" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/btc_blue_UHD.png" position="1752,1905" size="90,120" alphatest="blend" />
|
||||
<widget name="key_red" position="210,1914" size="510,90" noWrap="1" zPosition="1" valign="center" font="dugme;60" halign="left" backgroundColor="#1A0F0F0F" foregroundColor="#00FFFFFF" transparent="1" />
|
||||
<widget name="key_green" position="759,1914" size="510,90" noWrap="1" zPosition="1" valign="center" font="dugme;60" halign="left" backgroundColor="#1A0F0F0F" foregroundColor="#00FFFFFF" transparent="1" />
|
||||
<widget name="key_yellow" position="1308,1914" size="510,90" noWrap="1" zPosition="1" valign="center" font="dugme;60" halign="left" backgroundColor="#1A0F0F0F" foregroundColor="#00FFFFFF" transparent="1" />
|
||||
<widget name="key_blue" position="1857,1914" size="510,90" noWrap="1" zPosition="1" valign="center" font="dugme;60" halign="left" backgroundColor="#1A0F0F0F" foregroundColor="#00FFFFFF" transparent="1" />
|
||||
<eLabel position="120,75" zPosition="-10" size="2265,1950" backgroundColor="#1A0F0F0F" name="layer1" />
|
||||
<eLabel position="2385,180" zPosition="-10" size="1335,1740" backgroundColor="#1A27408B" name="layer2" />
|
||||
<ePixmap position="2700,600" size="768,258" zPosition="5" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/neoskins/metrix/skin/logo.png" transparent="1" alphatest="blend" />
|
||||
<widget source="global.CurrentTime" render="Label" position="1956,90" size="420,180" font="tasat;150" noWrap="1" halign="center" valign="bottom" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" transparent="1"><convert type="ClockToText">Default</convert>
|
||||
</widget>
|
||||
<widget source="global.CurrentTime" render="Label" position="1536,90" size="420,81" font="tasat;48" noWrap="1" halign="right" valign="bottom" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" transparent="1">
|
||||
<convert type="ClockToText">Format:%A</convert>
|
||||
</widget>
|
||||
<widget source="global.CurrentTime" render="Label" position="1536,162" size="420,81" font="tasat;48" noWrap="1" halign="right" valign="bottom" foregroundColor="#00FFFFFF" backgroundColor="#1A0F0F0F" transparent="1"><convert type="ClockToText">Format:%e. %b.</convert>
|
||||
</widget>
|
||||
</screen>"""
|
||||
|
||||
|
||||
###____ Skin NeoBootInstallationHD - NeoBootInstallationHD ___mod. gutosie ___
|
||||
NeoBootInstallationHD ="""
|
||||
<screen position="center, center" size="835, 500" title="NeoBoot">
|
||||
<ePixmap position="0,0" zPosition="-1" size="835,500" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/frame835x500.png" />
|
||||
<widget name="label1" position="10,15" size="840,30" zPosition="1" halign="center" font="Regular;25" foregroundColor="red" backgroundColor="black" transparent="1" />
|
||||
<widget name="label2" position="7,100" size="840,296" zPosition="1" halign="center" font="Regular;20" backgroundColor="black" foregroundColor="#58ccff" transparent="1"/>
|
||||
<widget name="config" position="220,200" size="440,207" backgroundColor="black" scrollbarMode="showOnDemand" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/redcor.png" position="48,406" size="140,40" alphatest="on" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/greencor.png" position="246,406" size="140,40" alphatest="on" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/yellowcor.png" position="474,406" size="150,40" alphatest="on" />
|
||||
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/bluecor.png" position="675,406" size="140,40" alphatest="on" />
|
||||
<widget name="key_red" position="48,406" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="red" transparent="1" />
|
||||
<widget name="key_green" position="248,406" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="green" transparent="1" />
|
||||
<widget name="key_yellow" position="474,406" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="yellow" transparent="1" />
|
||||
<widget name="key_blue" position="672,415" zPosition="1" size="145,45" font="Regular;20" halign="center" valign="center" backgroundColor="blue" transparent="1" />
|
||||
<widget name="label3" position="20,339" size="816,61" zPosition="1" halign="center" font="Regular;24" backgroundColor="black" transparent="1" foregroundColor="#58ccff" />
|
||||
</screen>"""
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
BIN
NeoBoot/neoskins/osans.ttf
Normal file
BIN
NeoBoot/neoskins/sagoe.ttf
Normal file
1086
NeoBoot/plugin.py
@@ -102,7 +102,7 @@ class StartImage(Screen):
|
||||
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')
|
||||
system('chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh')
|
||||
self.sel = self['list'].getCurrent()
|
||||
if self.sel:
|
||||
self.sel = self.sel[2]
|
||||
@@ -1,159 +0,0 @@
|
||||
#!/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',
|
||||
'et1x000',
|
||||
'dm920',
|
||||
'ax51',
|
||||
'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()
|
||||
@@ -1,159 +0,0 @@
|
||||
#!/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()
|
||||
@@ -1,53 +0,0 @@
|
||||
#!/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
|
||||
@@ -1,115 +0,0 @@
|
||||
#!/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
|
||||
@@ -1,157 +0,0 @@
|
||||
#!/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()
|
||||
@@ -1,159 +0,0 @@
|
||||
#!/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',
|
||||
'bcm73625'
|
||||
'mbmini',
|
||||
'h3',
|
||||
'ini-1000sv',
|
||||
'osmini'
|
||||
'formuler4turbo'] :
|
||||
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()
|
||||
@@ -1,159 +0,0 @@
|
||||
#!/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()
|
||||
@@ -1,115 +0,0 @@
|
||||
#!/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
|
||||
@@ -1,112 +0,0 @@
|
||||
#!/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
|
||||
@@ -1,116 +0,0 @@
|
||||
#!/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
|
||||
@@ -1,119 +0,0 @@
|
||||
#!/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
|
||||
@@ -1,120 +0,0 @@
|
||||
#!/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
|
||||
@@ -1,116 +0,0 @@
|
||||
#!/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
|
||||
@@ -1,159 +0,0 @@
|
||||
#!/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()
|
||||
@@ -1,148 +0,0 @@
|
||||
#!/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()
|
||||
@@ -1,157 +0,0 @@
|
||||
#!/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()
|
||||
@@ -1,139 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
import re
|
||||
from ubi.volume import get_volumes
|
||||
from ubi.block import sort, get_blocks_in_list, extract_blocks
|
||||
from ubi.defines import *
|
||||
from ubi import display
|
||||
from ubi.image import description as image
|
||||
from ubi.block import layout
|
||||
|
||||
class ubi:
|
||||
|
||||
def __init__(self, ubi_file):
|
||||
self._file = ubi_file
|
||||
self._first_peb_num = 0
|
||||
self._blocks = extract_blocks(self)
|
||||
self._block_count = len(self.blocks)
|
||||
if self._block_count <= 0:
|
||||
raise Exception('No blocks found.')
|
||||
layout_list, data_list, int_vol_list, unknown_list = sort.by_type(self.blocks)
|
||||
self._layout_blocks_list = layout_list
|
||||
self._data_blocks_list = data_list
|
||||
self._int_vol_blocks_list = int_vol_list
|
||||
self._unknown_blocks_list = unknown_list
|
||||
arbitrary_block = self.blocks.itervalues().next()
|
||||
self._min_io_size = arbitrary_block.ec_hdr.vid_hdr_offset
|
||||
self._leb_size = self.file.block_size - arbitrary_block.ec_hdr.data_offset
|
||||
layout_pairs = layout.group_pairs(self.blocks, self.layout_blocks_list)
|
||||
layout_infos = layout.associate_blocks(self.blocks, layout_pairs, self.first_peb_num)
|
||||
self._images = []
|
||||
for i in range(0, len(layout_infos)):
|
||||
self._images.append(image(self.blocks, layout_infos[i]))
|
||||
|
||||
def _get_file(self):
|
||||
return self._file
|
||||
|
||||
file = property(_get_file)
|
||||
|
||||
def _get_images(self):
|
||||
return self._images
|
||||
|
||||
images = property(_get_images)
|
||||
|
||||
def _get_data_blocks_list(self):
|
||||
return self._data_blocks_list
|
||||
|
||||
data_blocks_list = property(_get_data_blocks_list)
|
||||
|
||||
def _get_layout_blocks_list(self):
|
||||
return self._layout_blocks_list
|
||||
|
||||
layout_blocks_list = property(_get_layout_blocks_list)
|
||||
|
||||
def _get_int_vol_blocks_list(self):
|
||||
return self._int_vol_blocks_list
|
||||
|
||||
int_vol_blocks_list = property(_get_int_vol_blocks_list)
|
||||
|
||||
def _get_unknown_blocks_list(self):
|
||||
return self._unknown_blocks_list
|
||||
|
||||
unknown_blocks_list = property(_get_unknown_blocks_list)
|
||||
|
||||
def _get_block_count(self):
|
||||
return self._block_count
|
||||
|
||||
block_count = property(_get_block_count)
|
||||
|
||||
def _set_first_peb_num(self, i):
|
||||
self._first_peb_num = i
|
||||
|
||||
def _get_first_peb_num(self):
|
||||
return self._first_peb_num
|
||||
|
||||
first_peb_num = property(_get_first_peb_num, _set_first_peb_num)
|
||||
|
||||
def _get_leb_size(self):
|
||||
return self._leb_size
|
||||
|
||||
leb_size = property(_get_leb_size)
|
||||
|
||||
def _get_peb_size(self):
|
||||
return self.file.block_size
|
||||
|
||||
peb_size = property(_get_peb_size)
|
||||
|
||||
def _get_min_io_size(self):
|
||||
return self._min_io_size
|
||||
|
||||
min_io_size = property(_get_min_io_size)
|
||||
|
||||
def _get_blocks(self):
|
||||
return self._blocks
|
||||
|
||||
blocks = property(_get_blocks)
|
||||
|
||||
def display(self, tab = ''):
|
||||
display.ubi(self, tab)
|
||||
|
||||
|
||||
def get_peb_size(path):
|
||||
file_offset = 0
|
||||
offsets = []
|
||||
f = open(path, 'rb')
|
||||
f.seek(0, 2)
|
||||
file_size = f.tell() + 1
|
||||
f.seek(0)
|
||||
for i in range(0, file_size, FILE_CHUNK_SZ):
|
||||
buf = f.read(FILE_CHUNK_SZ)
|
||||
for m in re.finditer(UBI_EC_HDR_MAGIC, buf):
|
||||
start = m.start()
|
||||
if not file_offset:
|
||||
file_offset = start
|
||||
idx = start
|
||||
else:
|
||||
idx = start + file_offset
|
||||
offsets.append(idx)
|
||||
|
||||
file_offset += FILE_CHUNK_SZ
|
||||
|
||||
f.close()
|
||||
occurances = {}
|
||||
for i in range(0, len(offsets)):
|
||||
try:
|
||||
diff = offsets[i] - offsets[i - 1]
|
||||
except:
|
||||
diff = offsets[i]
|
||||
|
||||
if diff not in occurances:
|
||||
occurances[diff] = 0
|
||||
occurances[diff] += 1
|
||||
|
||||
most_frequent = 0
|
||||
block_size = 0
|
||||
for offset in occurances:
|
||||
if occurances[offset] > most_frequent:
|
||||
most_frequent = occurances[offset]
|
||||
block_size = offset
|
||||
|
||||
return block_size
|
||||
@@ -1,59 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
import re
|
||||
from ubi import display
|
||||
from ubi.defines import *
|
||||
from ubi.headers import *
|
||||
|
||||
class description(object):
|
||||
|
||||
def __init__(self, block_buf):
|
||||
self.file_offset = -1
|
||||
self.peb_num = -1
|
||||
self.leb_num = -1
|
||||
self.size = -1
|
||||
self.vid_hdr = None
|
||||
self.is_internal_vol = False
|
||||
self.vtbl_recs = []
|
||||
self.ec_hdr = extract_ec_hdr(block_buf[0:UBI_EC_HDR_SZ])
|
||||
if not self.ec_hdr.errors:
|
||||
self.vid_hdr = extract_vid_hdr(block_buf[self.ec_hdr.vid_hdr_offset:self.ec_hdr.vid_hdr_offset + UBI_VID_HDR_SZ])
|
||||
self.is_internal_vol = self.vid_hdr.vol_id >= UBI_INTERNAL_VOL_START
|
||||
if self.vid_hdr.vol_id >= UBI_INTERNAL_VOL_START:
|
||||
self.vtbl_recs = extract_vtbl_rec(block_buf[self.ec_hdr.data_offset:])
|
||||
self.leb_num = self.vid_hdr.lnum
|
||||
self.is_vtbl = bool(self.vtbl_recs) or False
|
||||
self.is_valid = not self.ec_hdr.errors and not self.vid_hdr.errors
|
||||
return
|
||||
|
||||
def __repr__(self):
|
||||
return 'Block: PEB# %s: LEB# %s' % (self.peb_num, self.leb_num)
|
||||
|
||||
def display(self, tab = ''):
|
||||
display.block(self, tab)
|
||||
|
||||
|
||||
def get_blocks_in_list(blocks, idx_list):
|
||||
return {i:blocks[i] for i in idx_list}
|
||||
|
||||
|
||||
def extract_blocks(ubi):
|
||||
blocks = {}
|
||||
start_peb = 0
|
||||
ubi.file.seek(ubi.file.start_offset)
|
||||
peb_count = 0
|
||||
cur_offset = 0
|
||||
for i in range(ubi.file.start_offset, ubi.file.end_offset, ubi.file.block_size):
|
||||
buf = ubi.file.read(ubi.file.block_size)
|
||||
if buf.startswith(UBI_EC_HDR_MAGIC):
|
||||
blk = description(buf)
|
||||
blk.file_offset = i
|
||||
blk.peb_num = ubi.first_peb_num + peb_count
|
||||
blk.size = ubi.file.block_size
|
||||
blocks[blk.peb_num] = blk
|
||||
peb_count += 1
|
||||
else:
|
||||
cur_offset += ubi.file.block_size
|
||||
ubi.first_peb_num = cur_offset / ubi.file.block_size
|
||||
ubi.file.start_offset = cur_offset
|
||||
|
||||
return blocks
|
||||
@@ -1,23 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
from ubi.block import sort
|
||||
|
||||
def group_pairs(blocks, layout_blocks_list):
|
||||
layouts_grouped = [[blocks[layout_blocks_list[0]].peb_num]]
|
||||
for l in layout_blocks_list[1:]:
|
||||
for lnd in layouts_grouped:
|
||||
if blocks[l].vtbl_recs[0].name == blocks[lnd[0]].vtbl_recs[0].name:
|
||||
lnd.append(blocks[l].peb_num)
|
||||
break
|
||||
else:
|
||||
layouts_grouped.append([blocks[l].peb_num])
|
||||
|
||||
return layouts_grouped
|
||||
|
||||
|
||||
def associate_blocks(blocks, layout_pairs, start_peb_num):
|
||||
seq_blocks = []
|
||||
for layout_pair in layout_pairs:
|
||||
seq_blocks = sort.by_image_seq(blocks, blocks[layout_pair[0]].ec_hdr.image_seq)
|
||||
layout_pair.append(seq_blocks)
|
||||
|
||||
return layout_pairs
|
||||
@@ -1,84 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
def list_by_list(blist, slist):
|
||||
slist_blocks = []
|
||||
for block in blist:
|
||||
if block in slist:
|
||||
slist_blocks.append(block)
|
||||
|
||||
return slist_blocks
|
||||
|
||||
|
||||
def by_image_seq(blocks, image_seq):
|
||||
seq_blocks = []
|
||||
for block in blocks:
|
||||
if blocks[block].ec_hdr.image_seq == image_seq:
|
||||
seq_blocks.append(block)
|
||||
|
||||
return seq_blocks
|
||||
|
||||
|
||||
def by_range(blocks, block_range):
|
||||
peb_range = range(block_range[0], block_range[1])
|
||||
return [ i for i in blocks if i in peb_range ]
|
||||
|
||||
|
||||
def by_leb(blocks):
|
||||
slist_len = len(blocks)
|
||||
slist = ['x'] * slist_len
|
||||
for block in blocks:
|
||||
if blocks[block].leb_num >= slist_len:
|
||||
add_elements = blocks[block].leb_num - slist_len + 1
|
||||
slist += ['x'] * add_elements
|
||||
slist_len = len(slist)
|
||||
slist[blocks[block].leb_num] = block
|
||||
|
||||
return slist
|
||||
return sorted(blocks.iterkeys(), key=lambda x: blocks[x].leb_num)
|
||||
|
||||
|
||||
def by_vol_id(blocks, slist = None):
|
||||
vol_blocks = {}
|
||||
for i in blocks:
|
||||
if slist and i not in slist:
|
||||
continue
|
||||
elif not blocks[i].is_valid:
|
||||
continue
|
||||
if blocks[i].vid_hdr.vol_id not in vol_blocks:
|
||||
vol_blocks[blocks[i].vid_hdr.vol_id] = []
|
||||
vol_blocks[blocks[i].vid_hdr.vol_id].append(blocks[i].peb_num)
|
||||
|
||||
return vol_blocks
|
||||
|
||||
|
||||
def clean_bad(blocks, slist = None):
|
||||
clean_blocks = []
|
||||
for i in range(0, len(blocks)):
|
||||
if slist and i not in slist:
|
||||
continue
|
||||
if blocks[i].is_valid:
|
||||
clean_blocks.append(i)
|
||||
|
||||
return clean_blocks
|
||||
|
||||
|
||||
def by_type(blocks, slist = None):
|
||||
layout = []
|
||||
data = []
|
||||
int_vol = []
|
||||
unknown = []
|
||||
for i in blocks:
|
||||
if slist and i not in slist:
|
||||
continue
|
||||
if blocks[i].is_vtbl and blocks[i].is_valid:
|
||||
layout.append(i)
|
||||
elif blocks[i].is_internal_vol and blocks[i].is_valid:
|
||||
int_vol.append(i)
|
||||
elif blocks[i].is_valid:
|
||||
data.append(i)
|
||||
else:
|
||||
unknown.append(i)
|
||||
|
||||
return (layout,
|
||||
data,
|
||||
int_vol,
|
||||
unknown)
|
||||
@@ -1,63 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
import struct
|
||||
UBI_CRC32_INIT = 4294967295L
|
||||
UBI_MAX_VOLUMES = 128
|
||||
UBI_INTERNAL_VOL_START = 2147479551
|
||||
UBI_EC_HDR_MAGIC = 'UBI#'
|
||||
EC_HDR_FORMAT = '>4sB3sQIII32sI'
|
||||
EC_HDR_FIELDS = ['magic',
|
||||
'version',
|
||||
'padding',
|
||||
'ec',
|
||||
'vid_hdr_offset',
|
||||
'data_offset',
|
||||
'image_seq',
|
||||
'padding2',
|
||||
'hdr_crc']
|
||||
UBI_EC_HDR_SZ = struct.calcsize(EC_HDR_FORMAT)
|
||||
UBI_VID_HDR_MAGIC = 'UBI!'
|
||||
VID_HDR_FORMAT = '>4sBBBBII4sIIII4sQ12sI'
|
||||
VID_HDR_FIELDS = ['magic',
|
||||
'version',
|
||||
'vol_type',
|
||||
'copy_flag',
|
||||
'compat',
|
||||
'vol_id',
|
||||
'lnum',
|
||||
'padding',
|
||||
'data_size',
|
||||
'used_ebs',
|
||||
'data_pad',
|
||||
'data_crc',
|
||||
'padding2',
|
||||
'sqnum',
|
||||
'padding3',
|
||||
'hdr_crc']
|
||||
UBI_VID_HDR_SZ = struct.calcsize(VID_HDR_FORMAT)
|
||||
VTBL_REC_FORMAT = '>IIIBBH128sB23sI'
|
||||
VTBL_REC_FIELDS = ['reserved_pebs',
|
||||
'alignment',
|
||||
'data_pad',
|
||||
'vol_type',
|
||||
'upd_marker',
|
||||
'name_len',
|
||||
'name',
|
||||
'flags',
|
||||
'padding',
|
||||
'crc']
|
||||
UBI_VTBL_REC_SZ = struct.calcsize(VTBL_REC_FORMAT)
|
||||
UBI_VID_DYNAMIC = 1
|
||||
UBI_VID_STATIC = 2
|
||||
PRINT_VOL_TYPE_LIST = [0, 'dynamic', 'static']
|
||||
UBI_VTBL_AUTORESIZE_FLG = 1
|
||||
UBI_COMPAT_DELETE = 1
|
||||
UBI_COMPAT_RO = 2
|
||||
UBI_COMPAT_PRESERVE = 4
|
||||
UBI_COMPAT_REJECT = 5
|
||||
PRINT_COMPAT_LIST = [0,
|
||||
'Delete',
|
||||
'Read Only',
|
||||
0,
|
||||
'Preserve',
|
||||
'Reject']
|
||||
FILE_CHUNK_SZ = 5242880
|
||||
@@ -1,108 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
from ubi.defines import PRINT_COMPAT_LIST, PRINT_VOL_TYPE_LIST, UBI_VTBL_AUTORESIZE_FLG
|
||||
|
||||
def ubi(ubi, tab = ''):
|
||||
print '%sUBI File' % tab
|
||||
print '%s---------------------' % tab
|
||||
print '\t%sMin I/O: %s' % (tab, ubi.min_io_size)
|
||||
print '\t%sLEB Size: %s' % (tab, ubi.leb_size)
|
||||
print '\t%sPEB Size: %s' % (tab, ubi.peb_size)
|
||||
print '\t%sTotal Block Count: %s' % (tab, ubi.block_count)
|
||||
print '\t%sData Block Count: %s' % (tab, len(ubi.data_blocks_list))
|
||||
print '\t%sLayout Block Count: %s' % (tab, len(ubi.layout_blocks_list))
|
||||
print '\t%sInternal Volume Block Count: %s' % (tab, len(ubi.int_vol_blocks_list))
|
||||
print '\t%sUnknown Block Count: %s' % (tab, len(ubi.unknown_blocks_list))
|
||||
print '\t%sFirst UBI PEB Number: %s' % (tab, ubi.first_peb_num)
|
||||
|
||||
|
||||
def image(image, tab = ''):
|
||||
print '%s%s' % (tab, image)
|
||||
print '%s---------------------' % tab
|
||||
print '\t%sImage Sequence Num: %s' % (tab, image.image_seq)
|
||||
for volume in image.volumes:
|
||||
print '\t%sVolume Name:%s' % (tab, volume)
|
||||
|
||||
print '\t%sPEB Range: %s - %s' % (tab, image.peb_range[0], image.peb_range[1])
|
||||
|
||||
|
||||
def volume(volume, tab = ''):
|
||||
print '%s%s' % (tab, volume)
|
||||
print '%s---------------------' % tab
|
||||
print '\t%sVol ID: %s' % (tab, volume.vol_id)
|
||||
print '\t%sName: %s' % (tab, volume.name)
|
||||
print '\t%sBlock Count: %s' % (tab, volume.block_count)
|
||||
print '\n'
|
||||
print '\t%sVolume Record' % tab
|
||||
print '\t%s---------------------' % tab
|
||||
vol_rec(volume.vol_rec, '\t\t%s' % tab)
|
||||
print '\n'
|
||||
|
||||
|
||||
def block(block, tab = '\t'):
|
||||
print '%s%s' % (tab, block)
|
||||
print '%s---------------------' % tab
|
||||
print '\t%sFile Offset: %s' % (tab, block.file_offset)
|
||||
print '\t%sPEB #: %s' % (tab, block.peb_num)
|
||||
print '\t%sLEB #: %s' % (tab, block.leb_num)
|
||||
print '\t%sBlock Size: %s' % (tab, block.size)
|
||||
print '\t%sInternal Volume: %s' % (tab, block.is_internal_vol)
|
||||
print '\t%sIs Volume Table: %s' % (tab, block.is_vtbl)
|
||||
print '\t%sIs Valid: %s' % (tab, block.is_valid)
|
||||
if not block.ec_hdr.errors:
|
||||
print '\n'
|
||||
print '\t%sErase Count Header' % tab
|
||||
print '\t%s---------------------' % tab
|
||||
ec_hdr(block.ec_hdr, '\t\t%s' % tab)
|
||||
if block.vid_hdr and not block.vid_hdr.errors:
|
||||
print '\n'
|
||||
print '\t%sVID Header Header' % tab
|
||||
print '\t%s---------------------' % tab
|
||||
vid_hdr(block.vid_hdr, '\t\t%s' % tab)
|
||||
if block.vtbl_recs:
|
||||
print '\n'
|
||||
print '\t%sVolume Records' % tab
|
||||
print '\t%s---------------------' % tab
|
||||
for vol in block.vtbl_recs:
|
||||
vol_rec(vol, '\t\t%s' % tab)
|
||||
|
||||
print '\n'
|
||||
|
||||
|
||||
def ec_hdr(ec_hdr, tab = ''):
|
||||
for key, value in ec_hdr:
|
||||
if key == 'errors':
|
||||
value = ','.join(value)
|
||||
print '%s%s: %r' % (tab, key, value)
|
||||
|
||||
|
||||
def vid_hdr(vid_hdr, tab = ''):
|
||||
for key, value in vid_hdr:
|
||||
if key == 'errors':
|
||||
value = ','.join(value)
|
||||
elif key == 'compat':
|
||||
if value in PRINT_COMPAT_LIST:
|
||||
value = PRINT_COMPAT_LIST[value]
|
||||
else:
|
||||
value = -1
|
||||
elif key == 'vol_type':
|
||||
if value < len(PRINT_VOL_TYPE_LIST):
|
||||
value = PRINT_VOL_TYPE_LIST[value]
|
||||
else:
|
||||
value = -1
|
||||
print '%s%s: %s' % (tab, key, value)
|
||||
|
||||
|
||||
def vol_rec(vol_rec, tab = ''):
|
||||
for key, value in vol_rec:
|
||||
if key == 'errors':
|
||||
value = ','.join(value)
|
||||
elif key == 'vol_type':
|
||||
if value < len(PRINT_VOL_TYPE_LIST):
|
||||
value = PRINT_VOL_TYPE_LIST[value]
|
||||
else:
|
||||
value = -1
|
||||
elif key == 'flags' and value == UBI_VTBL_AUTORESIZE_FLG:
|
||||
value = 'autoresize'
|
||||
elif key == 'name':
|
||||
value = value.strip('\x00')
|
||||
print '%s%s: %s' % (tab, key, value)
|
||||
@@ -1,89 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
import struct
|
||||
from ubi.defines import *
|
||||
from ubi.headers import errors
|
||||
|
||||
class ec_hdr(object):
|
||||
|
||||
def __init__(self, buf):
|
||||
fields = dict(zip(EC_HDR_FIELDS, struct.unpack(EC_HDR_FORMAT, buf)))
|
||||
for key in fields:
|
||||
setattr(self, key, fields[key])
|
||||
|
||||
setattr(self, 'errors', [])
|
||||
|
||||
def __repr__(self):
|
||||
return 'Error Count Header'
|
||||
|
||||
def __iter__(self):
|
||||
for key in dir(self):
|
||||
if not key.startswith('_'):
|
||||
yield (key, getattr(self, key))
|
||||
|
||||
|
||||
class vid_hdr(object):
|
||||
|
||||
def __init__(self, buf):
|
||||
fields = dict(zip(VID_HDR_FIELDS, struct.unpack(VID_HDR_FORMAT, buf)))
|
||||
for key in fields:
|
||||
setattr(self, key, fields[key])
|
||||
|
||||
setattr(self, 'errors', [])
|
||||
|
||||
def __iter__(self):
|
||||
for key in dir(self):
|
||||
if not key.startswith('_'):
|
||||
yield (key, getattr(self, key))
|
||||
|
||||
def __repr__(self):
|
||||
return 'VID Header'
|
||||
|
||||
|
||||
class vtbl_rec(object):
|
||||
|
||||
def __init__(self, buf):
|
||||
fields = dict(zip(VTBL_REC_FIELDS, struct.unpack(VTBL_REC_FORMAT, buf)))
|
||||
for key in fields:
|
||||
setattr(self, key, fields[key])
|
||||
|
||||
setattr(self, 'errors', [])
|
||||
setattr(self, 'rec_index', -1)
|
||||
|
||||
def __repr__(self):
|
||||
return 'Volume Table Record: %s' % getattr(self, 'name')
|
||||
|
||||
def __iter__(self):
|
||||
for key in dir(self):
|
||||
if not key.startswith('_'):
|
||||
yield (key, getattr(self, key))
|
||||
|
||||
|
||||
def extract_ec_hdr(buf):
|
||||
ec_hdr_buf = buf
|
||||
ec_hdr_ret = ec_hdr(ec_hdr_buf)
|
||||
errors.ec_hdr(ec_hdr_ret, ec_hdr_buf)
|
||||
return ec_hdr_ret
|
||||
|
||||
|
||||
def extract_vid_hdr(buf):
|
||||
vid_hdr_buf = buf
|
||||
vid_hdr_ret = vid_hdr(vid_hdr_buf)
|
||||
errors.vid_hdr(vid_hdr_ret, vid_hdr_buf)
|
||||
return vid_hdr_ret
|
||||
|
||||
|
||||
def extract_vtbl_rec(buf):
|
||||
data_buf = buf
|
||||
vtbl_recs = []
|
||||
vtbl_rec_ret = ''
|
||||
for i in range(0, UBI_MAX_VOLUMES):
|
||||
offset = i * UBI_VTBL_REC_SZ
|
||||
vtbl_rec_buf = data_buf[offset:offset + UBI_VTBL_REC_SZ]
|
||||
if len(vtbl_rec_buf) == UBI_VTBL_REC_SZ:
|
||||
vtbl_rec_ret = vtbl_rec(vtbl_rec_buf)
|
||||
errors.vtbl_rec(vtbl_rec_ret, vtbl_rec_buf)
|
||||
if len(vtbl_rec_ret.errors) == 0:
|
||||
vtbl_rec_ret.rec_index = i
|
||||
vtbl_recs.append(vtbl_rec_ret)
|
||||
|
||||
return vtbl_recs
|
||||
@@ -1,28 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
from zlib import crc32
|
||||
from ubi.defines import *
|
||||
|
||||
def ec_hdr(ec_hdr, buf):
|
||||
if ec_hdr.hdr_crc != ~crc32(buf[:-4]) & 4294967295L:
|
||||
ec_hdr.errors.append('crc')
|
||||
return ec_hdr
|
||||
|
||||
|
||||
def vid_hdr(vid_hdr, buf):
|
||||
vid_hdr.errors = []
|
||||
if vid_hdr.hdr_crc != ~crc32(buf[:-4]) & 4294967295L:
|
||||
vid_hdr.errors.append('crc')
|
||||
return vid_hdr
|
||||
|
||||
|
||||
def vtbl_rec(vtbl_rec, buf):
|
||||
likely_vtbl = True
|
||||
if vtbl_rec.name_len != len(vtbl_rec.name.strip('\x00')):
|
||||
likely_vtbl = False
|
||||
elif vtbl_rec.vol_type not in (1, 2):
|
||||
likely_vtbl = False
|
||||
if vtbl_rec.crc != ~crc32(buf[:-4]) & 4294967295L:
|
||||
vtbl_rec.errors.append('crc')
|
||||
if not likely_vtbl:
|
||||
vtbl_rec.errors = ['False']
|
||||
return vtbl_rec
|
||||
@@ -1,38 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
from ubi import display
|
||||
from ubi.volume import get_volumes
|
||||
from ubi.block import get_blocks_in_list
|
||||
|
||||
class description(object):
|
||||
|
||||
def __init__(self, blocks, layout_info):
|
||||
self._image_seq = blocks[layout_info[0]].ec_hdr.image_seq
|
||||
self.vid_hdr_offset = blocks[layout_info[0]].ec_hdr.vid_hdr_offset
|
||||
self.version = blocks[layout_info[0]].ec_hdr.version
|
||||
self._start_peb = min(layout_info[2])
|
||||
self._end_peb = max(layout_info[2])
|
||||
self._volumes = get_volumes(blocks, layout_info)
|
||||
|
||||
def __repr__(self):
|
||||
return 'Image: %s' % self.image_seq
|
||||
|
||||
def get_blocks(self, blocks):
|
||||
return get_blocks_in_list(blocks, range(self._start_peb, self._end_peb + 1))
|
||||
|
||||
def _get_peb_range(self):
|
||||
return [self._start_peb, self._end_peb]
|
||||
|
||||
peb_range = property(_get_peb_range)
|
||||
|
||||
def _get_image_seq(self):
|
||||
return self._image_seq
|
||||
|
||||
image_seq = property(_get_image_seq)
|
||||
|
||||
def _get_volumes(self):
|
||||
return self._volumes
|
||||
|
||||
volumes = property(_get_volumes)
|
||||
|
||||
def display(self, tab = ''):
|
||||
display.image(self, tab)
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
from ubi import display
|
||||
from ubi.block import sort, get_blocks_in_list
|
||||
|
||||
class description(object):
|
||||
|
||||
def __init__(self, vol_id, vol_rec, block_list):
|
||||
self._vol_id = vol_id
|
||||
self._vol_rec = vol_rec
|
||||
self._name = self._vol_rec.name
|
||||
self._block_list = block_list
|
||||
|
||||
def __repr__(self):
|
||||
return 'Volume: %s' % self.name
|
||||
|
||||
def _get_name(self):
|
||||
return self._name
|
||||
|
||||
name = property(_get_name)
|
||||
|
||||
def _get_vol_id(self):
|
||||
return self._vol_id
|
||||
|
||||
vol_id = property(_get_vol_id)
|
||||
|
||||
def _get_block_count(self):
|
||||
return len(self._block_list)
|
||||
|
||||
block_count = property(_get_block_count)
|
||||
|
||||
def _get_vol_rec(self):
|
||||
return self._vol_rec
|
||||
|
||||
vol_rec = property(_get_vol_rec)
|
||||
|
||||
def _get_block_list(self):
|
||||
return self._block_list
|
||||
|
||||
block_list = property(_get_block_list)
|
||||
|
||||
def get_blocks(self, blocks):
|
||||
return get_blocks_in_list(blocks, self._block_list)
|
||||
|
||||
def display(self, tab = ''):
|
||||
display.volume(self, tab)
|
||||
|
||||
def reader(self, ubi):
|
||||
last_leb = 0
|
||||
for block in sort.by_leb(self.get_blocks(ubi.blocks)):
|
||||
if block == 'x':
|
||||
last_leb += 1
|
||||
yield '\xff' * ubi.leb_size
|
||||
else:
|
||||
last_leb += 1
|
||||
yield ubi.file.read_block_data(ubi.blocks[block])
|
||||
|
||||
|
||||
def get_volumes(blocks, layout_info):
|
||||
volumes = {}
|
||||
vol_blocks_lists = sort.by_vol_id(blocks, layout_info[2])
|
||||
for vol_rec in blocks[layout_info[0]].vtbl_recs:
|
||||
vol_name = vol_rec.name.strip('\x00')
|
||||
if vol_rec.rec_index not in vol_blocks_lists:
|
||||
vol_blocks_lists[vol_rec.rec_index] = []
|
||||
volumes[vol_name] = description(vol_rec.rec_index, vol_rec, vol_blocks_lists[vol_rec.rec_index])
|
||||
|
||||
return volumes
|
||||
@@ -1,65 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import os
|
||||
import sys
|
||||
import argparse_neo
|
||||
from ubi import ubi, get_peb_size
|
||||
from ubifs import ubifs
|
||||
from ubi_io import ubi_file, leb_virtual_file
|
||||
from ui.common import extract_files, output_dir
|
||||
if __name__ == '__main__':
|
||||
os.system('echo "\n[NeoBoot] Zip file unzipped.\nInstallation in progress, please wait ..."')
|
||||
description = 'Extract contents of UBI image.'
|
||||
usage = 'ubi_extract_files.py [options] filepath'
|
||||
parser = argparse_neo.ArgumentParser(usage=usage, description=description)
|
||||
parser.add_argument('-l', '--log-file', dest='logpath', help='Log output to file output/LOGPATH. (default: ubifs_output.log)')
|
||||
parser.add_argument('-k', '--keep-permissions', action='store_true', dest='permissions', help='Maintain file permissions, requires running as root. (default: False)')
|
||||
parser.add_argument('-q', '--quiet', action='store_true', dest='quiet', help='Suppress warnings and non-fatal errors. (default: False)')
|
||||
parser.add_argument('-p', '--peb-size', type=int, dest='block_size', help='Specify PEB size.')
|
||||
parser.add_argument('-o', '--output-dir', dest='output_path', help='Specify output directory path.')
|
||||
parser.add_argument('filepath', help='File to extract contents of.')
|
||||
if len(sys.argv) == 1:
|
||||
parser.print_help()
|
||||
sys.exit()
|
||||
args = parser.parse_args()
|
||||
if args.filepath:
|
||||
path = args.filepath
|
||||
if not os.path.exists(path):
|
||||
parser.error("File path doesn't exist.")
|
||||
if args.output_path:
|
||||
output_path = args.output_path
|
||||
else:
|
||||
img_name = os.path.splitext(os.path.basename(path))[0]
|
||||
output_path = os.path.join(output_dir, img_name)
|
||||
if args.logpath:
|
||||
log_to_file = True
|
||||
log_file = args.logpath
|
||||
else:
|
||||
log_to_file = None
|
||||
log_file = None
|
||||
if args.block_size:
|
||||
block_size = args.block_size
|
||||
else:
|
||||
block_size = get_peb_size(path)
|
||||
perms = args.permissions
|
||||
quiet = args.quiet
|
||||
if not os.path.exists(output_path):
|
||||
os.makedirs(output_path)
|
||||
ufile = ubi_file(path, block_size)
|
||||
uubi = ubi(ufile)
|
||||
for image in uubi.images:
|
||||
for volume in image.volumes:
|
||||
vol_out_path = os.path.join(output_path, volume)
|
||||
if not os.path.exists(vol_out_path):
|
||||
os.makedirs(vol_out_path)
|
||||
elif os.listdir(vol_out_path):
|
||||
parser.error('Volume output directory is not empty. %s' % vol_out_path)
|
||||
ufsfile = leb_virtual_file(uubi, image.volumes[volume])
|
||||
uubifs = ubifs(ufsfile)
|
||||
uubifs.log.log_file = log_file
|
||||
uubifs.log.log_to_file = log_to_file
|
||||
uubifs.log.quiet = quiet
|
||||
print 'Wait almost over ...\nLoading the image to: %s' % vol_out_path
|
||||
extract_files(uubifs, vol_out_path, perms)
|
||||
|
||||
sys.exit(0)
|
||||
@@ -1,116 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
from ubi.block import sort
|
||||
|
||||
class ubi_file(object):
|
||||
|
||||
def __init__(self, path, block_size, start_offset = 0, end_offset = None):
|
||||
self._fhandle = open(path, 'rb')
|
||||
self._start_offset = start_offset
|
||||
if end_offset:
|
||||
self._end_offset = end_offset
|
||||
else:
|
||||
self._fhandle.seek(0, 2)
|
||||
self._end_offset = self.tell()
|
||||
self._block_size = block_size
|
||||
if start_offset >= self._end_offset:
|
||||
raise Exception('Start offset larger than file size!')
|
||||
self._fhandle.seek(self._start_offset)
|
||||
|
||||
def _set_start(self, i):
|
||||
self._start_offset = i
|
||||
|
||||
def _get_start(self):
|
||||
return self._start_offset
|
||||
|
||||
start_offset = property(_get_start, _set_start)
|
||||
|
||||
def _get_end(self):
|
||||
return self._end_offset
|
||||
|
||||
end_offset = property(_get_end)
|
||||
|
||||
def _get_block_size(self):
|
||||
return self._block_size
|
||||
|
||||
block_size = property(_get_block_size)
|
||||
|
||||
def seek(self, offset):
|
||||
self._fhandle.seek(offset)
|
||||
|
||||
def read(self, size):
|
||||
return self._fhandle.read(size)
|
||||
|
||||
def tell(self):
|
||||
return self._fhandle.tell()
|
||||
|
||||
def reset(self):
|
||||
self._fhandle.seek(self.start_offset)
|
||||
|
||||
def reader(self):
|
||||
self.reset()
|
||||
while True:
|
||||
cur_loc = self._fhandle.tell()
|
||||
if self.end_offset and cur_loc > self.end_offset:
|
||||
break
|
||||
elif self.end_offset and self.end_offset - cur_loc < self.block_size:
|
||||
chunk_size = self.end_offset - cur_loc
|
||||
else:
|
||||
chunk_size = self.block_size
|
||||
buf = self.read(chunk_size)
|
||||
if not buf:
|
||||
break
|
||||
yield buf
|
||||
|
||||
def read_block(self, block):
|
||||
self.seek(block.file_offset)
|
||||
return self._fhandle.read(block.size)
|
||||
|
||||
def read_block_data(self, block):
|
||||
self.seek(block.file_offset + block.ec_hdr.data_offset)
|
||||
buf = self._fhandle.read(block.size - block.ec_hdr.data_offset - block.vid_hdr.data_pad)
|
||||
return buf
|
||||
|
||||
|
||||
class leb_virtual_file:
|
||||
|
||||
def __init__(self, ubi, volume):
|
||||
self._ubi = ubi
|
||||
self._volume = volume
|
||||
self._blocks = sort.by_leb(self._volume.get_blocks(self._ubi.blocks))
|
||||
self._seek = 0
|
||||
self.leb_data_size = len(self._blocks) * self._ubi.leb_size
|
||||
self._last_leb = -1
|
||||
self._last_buf = ''
|
||||
|
||||
def read(self, i):
|
||||
buf = ''
|
||||
leb = int(self.tell() / self._ubi.leb_size)
|
||||
offset = self.tell() % self._ubi.leb_size
|
||||
if leb == self._last_leb:
|
||||
self.seek(self.tell() + i)
|
||||
return self._last_buf[offset:offset + i]
|
||||
else:
|
||||
buf = self._ubi.file.read_block_data(self._ubi.blocks[self._blocks[leb]])
|
||||
self._last_buf = buf
|
||||
self._last_leb = leb
|
||||
self.seek(self.tell() + i)
|
||||
return buf[offset:offset + i]
|
||||
|
||||
def reset(self):
|
||||
self.seek(0)
|
||||
|
||||
def seek(self, offset):
|
||||
self._seek = offset
|
||||
|
||||
def tell(self):
|
||||
return self._seek
|
||||
|
||||
def reader(self):
|
||||
last_leb = 0
|
||||
for block in self._blocks:
|
||||
while 0 != self._ubi.blocks[block].leb_num - last_leb:
|
||||
last_leb += 1
|
||||
yield '\xff' * self._ubi.leb_size
|
||||
|
||||
last_leb += 1
|
||||
yield self._ubi.file.read_block_data(self._ubi.blocks[block])
|
||||