267 Commits

Author SHA1 Message Date
gutosie
52fe64fc37 Delete box.png 2020-05-11 17:56:49 +03:00
gutosie
db6b349cce Delete border_menu1.png 2020-05-11 17:56:37 +03:00
gutosie
3b2624a3be Delete border_menu.png 2020-05-11 17:56:29 +03:00
gutosie
b4bb89f1a7 Delete bluecor.png 2020-05-11 17:56:20 +03:00
gutosie
a5f5f6c451 Delete blue25.png 2020-05-11 17:56:11 +03:00
gutosie
752de0ba41 Delete blue.png 2020-05-11 17:56:03 +03:00
gutosie
3dac988e48 Delete bg500.png 2020-05-11 17:55:53 +03:00
gutosie
0140e95b05 Delete baza.png 2020-05-11 17:55:45 +03:00
gutosie
58f2bb64b0 Delete arrowup.png 2020-05-11 17:55:30 +03:00
gutosie
33fb5c4f24 Delete arrowleft.png 2020-05-11 17:55:22 +03:00
gutosie
80a02a1fff Delete arrowdown.png 2020-05-11 17:55:14 +03:00
gutosie
7983bea2d6 Delete 1matrix.png 2020-05-11 17:55:06 +03:00
gutosie
dd0d10768a Delete 1frame_base-fs8.png 2020-05-11 17:54:55 +03:00
gutosie
f777993eaf Delete 1channel_sel.png 2020-05-11 17:54:46 +03:00
gutosie
bd08a24ff3 Delete 1chan_p1_bar.png 2020-05-11 17:54:38 +03:00
gutosie
1c3a972b77 Delete userscript.sh 2020-05-11 17:51:54 +03:00
gutosie
4de8728e52 Delete neo_location 2020-05-11 17:51:38 +03:00
gutosie
1bb43ab6fe Delete libpngneo 2020-05-11 17:51:18 +03:00
gutosie
5e5e040a44 Delete neobm 2020-05-11 17:50:58 +03:00
gutosie
86097fa8a5 Delete inithelp 2020-05-11 17:50:31 +03:00
gutosie
425ee58006 Delete nanddump_arm 2020-05-11 17:50:18 +03:00
gutosie
052176b8e9 Delete nanddump_mips 2020-05-11 17:50:08 +03:00
gutosie
0603895a68 Delete neobm_mips 2020-05-11 17:49:52 +03:00
gutosie
6922580121 Delete neobmarm 2020-05-11 17:49:35 +03:00
gutosie
fa05b5256c Delete neoinitarm 2020-05-11 17:49:26 +03:00
gutosie
f6e82c018d Delete neoinitarmvu 2020-05-11 17:49:17 +03:00
gutosie
e8b7c3d0c5 Delete neoinitarmvuDuo4k 2020-05-11 17:49:04 +03:00
gutosie
cb9be373ac Delete neoinitmips 2020-05-11 17:48:54 +03:00
gutosie
9e4d94cde3 Delete neoinitmipsvu 2020-05-11 17:48:44 +03:00
gutosie
5e395f7638 Delete nfidump 2020-05-11 17:48:34 +03:00
gutosie
65252d42b8 Delete utilsbh 2020-05-11 17:48:25 +03:00
gutosie
1086509c60 Delete version 2020-05-11 17:48:09 +03:00
gutosie
f73a22f391 Delete fbclearmips 2020-05-11 17:47:54 +03:00
gutosie
0b854b3419 Delete fbcleararm 2020-05-11 17:47:44 +03:00
gutosie
805e7c309c Delete fbclear 2020-05-11 17:47:31 +03:00
gutosie
5fde288eaa neo_vip 2020-05-11 17:40:55 +03:00
gutosie
4c2060b0cf neo_vip 2020-05-11 17:37:09 +03:00
gutosie
af803be634 neo_vip 2020-05-11 17:36:20 +03:00
gutosie
a361038791 neo_vip 2020-05-11 17:31:20 +03:00
gutosie
27cbf58496 neo_vip 2020-05-11 17:29:55 +03:00
gutosie
44e351a001 neo_vip 2020-05-11 17:28:58 +03:00
gutosie
6663c3581f Delete vuZero4Kmmcblk0p4.sh 2020-05-11 17:12:27 +03:00
gutosie
2b4bb95bc8 Delete vu_dev_mtd1.sh 2020-05-11 17:12:17 +03:00
gutosie
bd6ccbaa2c Delete vu_dev_mtd2.sh 2020-05-11 17:12:09 +03:00
gutosie
ed2314577f Delete vu_mmcblk0p1.sh 2020-05-11 17:12:00 +03:00
gutosie
be555bcfd7 Delete vu_mtd1_run.py 2020-05-11 17:11:52 +03:00
gutosie
61f20f0f38 Delete vuDuo4Kmmcblk0p6.sh 2020-05-11 17:11:44 +03:00
gutosie
79045a3813 Delete vu_mtd2_run.py 2020-05-11 17:11:33 +03:00
gutosie
72ad9f04a9 Delete vu4k_run.py 2020-05-11 17:11:25 +03:00
gutosie
352cb35975 Delete ustym4kpro.sh 2020-05-11 17:11:13 +03:00
gutosie
9fa8cc4646 Delete ustym4kpro.py 2020-05-11 17:11:02 +03:00
gutosie
696f819bc0 Delete mips_run.py 2020-05-11 17:10:53 +03:00
gutosie
c2957a3e79 Delete h7s_run.py 2020-05-11 17:10:43 +03:00
gutosie
356724bfe0 Delete h7s_kernel.sh 2020-05-11 17:10:34 +03:00
gutosie
eaf98d4fa4 Delete findkerneldevice.py 2020-05-11 17:10:25 +03:00
gutosie
9de42b9c22 Delete duo4k_run.py 2020-05-11 17:10:16 +03:00
gutosie
25434f9946 Delete arm_run.py 2020-05-11 17:10:06 +03:00
gutosie
1d2b465d6b Delete neoskins 2020-05-11 17:06:39 +03:00
gutosie
9c279003c9 Create neoskins 2020-05-11 17:02:57 +03:00
gutosie
44fd15f859 Delete zero4k_run.py 2020-05-11 16:50:43 +03:00
gutosie
363ea9872a Delete Harddisk.py 2020-05-11 16:50:17 +03:00
gutosie
433f1e7151 Delete Task.py 2020-05-11 16:50:01 +03:00
gutosie
dd63fe217e Delete module_neoboot.sh 2020-05-11 16:49:47 +03:00
gutosie
552a3736bd Delete nConsole.py 2020-05-11 16:49:32 +03:00
gutosie
b98308c706 Delete lang.mo 2020-05-11 16:49:19 +03:00
gutosie
2d88114146 Delete lang.mo 2020-05-11 16:48:58 +03:00
gutosie
8a5f0444a2 Delete k_up.png 2020-05-11 16:48:40 +03:00
gutosie
d7c50d0091 Delete k_right.png 2020-05-11 16:48:32 +03:00
gutosie
db179e1990 Delete k_left.png 2020-05-11 16:48:23 +03:00
gutosie
5fc548d969 Delete k_down.png 2020-05-11 16:48:15 +03:00
gutosie
15d156b6dc neo_vip 2020-05-11 16:42:47 +03:00
gutosie
e740f386c0 vip 2020-05-11 15:02:44 +03:00
gutosie
0e69d2d6aa vip 2020-05-11 15:00:56 +03:00
gutosie
90d156dc99 9.00 2020-05-11 14:42:12 +03:00
gutosie
9ac06db4d9 neo_vip 2020-05-11 14:40:54 +03:00
gutosie
e3c0f33476 NEO_VIP 2020-05-11 13:01:10 +03:00
gutosie
1230964acf NEO_VIP 2020-05-11 12:59:19 +03:00
gutosie
f92cdd3743 neo-9 VIP 2020-05-11 12:57:13 +03:00
gutosie
ba2b54ed14 The END... 2020-04-29 20:13:48 +03:00
gutosie
15d5dc4e77 Update README.md 2020-04-28 17:56:40 +03:00
gutosie
2465806f5a Update README.md 2020-04-28 17:39:54 +03:00
gutosie
3bbd264560 Update README.md 2020-04-28 17:35:17 +03:00
gutosie
1797cf794d Update README.md 2020-04-28 17:34:54 +03:00
gutosie
2b876dcf54 Update README.md 2020-04-28 17:31:36 +03:00
gutosie
e7b053bde2 Update userscript.sh 2020-04-22 21:55:01 +03:00
gutosie
e6c6dcd3e9 Update userscript.sh 2020-04-22 21:54:13 +03:00
gutosie
1b1f10e48e zero4k fix 2020-04-17 23:59:44 +03:00
gutosie
87b2fec493 8.25 vuZero4K kernel.sh fix 2020-04-17 23:37:10 +03:00
gutosie
360f242c88 8.26 fix for 8.25 2020-04-16 15:04:54 +03:00
gutosie
0bac7c6239 8.25 update pugin 2020-04-16 15:02:55 +03:00
gutosie
55258aaad6 8.25n 2020-04-16 12:42:44 +03:00
gutosie
ca67b93ae1 neoboot 8.02 2020-04-16 11:43:56 +03:00
gutosie
57f75a69d5 8.25 test 2020-04-16 11:43:13 +03:00
gutosie
d8d6f4bf62 Update ver.8.25 2020-04-16 00:48:26 +03:00
gutosie
798be4fbe7 8.25 2020-04-15 23:47:50 +02:00
gutosie
c11ae75dd5 8.25 2020-04-15 23:47:06 +02:00
gutosie
14ab3b1eb9 8.25 2020-04-15 23:45:18 +02:00
gutosie
90c49b7fc2 fix8.24 2020-04-15 20:24:41 +02:00
gutosie
28d3af8ca1 8.24fix 2020-04-15 20:23:29 +02:00
gutosie
623382e603 5.24 fix 2020-04-15 20:22:47 +02:00
gutosie
8f2aaa071d fix8.24 2020-04-15 14:06:40 +03:00
gutosie
fb111278b4 unpak add 8.24 2020-04-15 13:04:10 +02:00
gutosie
6f2330d7af update neoboot 8.24 2020-04-15 14:01:34 +03:00
gutosie
1f5405ef11 8.2_up_init 2020-04-15 13:01:06 +02:00
gutosie
c162e37758 fix_update_8.24 2020-04-15 13:00:23 +02:00
gutosie
d8d7f154ee error 2020-04-15 13:57:34 +03:00
gutosie
f9ad48224a update_8.24 2020-04-15 12:57:07 +02:00
gutosie
09af5aa93c 8.24update 2020-04-15 12:55:35 +02:00
gutosie
df6c87e484 8.24 update 2020-04-15 12:54:31 +02:00
gutosie
b4650d2dbe 8.23 little fix 2020-04-14 18:21:31 +03:00
gutosie
c2e0ba5627 fix 8.23 2 boot 2020-04-14 17:15:34 +03:00
gutosie
d60340aa68 fix. 8.23 update 2020-04-14 15:46:07 +02:00
gutosie
18ec4f5649 update 8.32 fix all 2020-04-14 16:04:34 +03:00
gutosie
096cb1aed2 8.23 2020-04-14 16:03:42 +03:00
gutosie
55223b5899 update 8.23 2020-04-14 15:03:01 +02:00
gutosie
df5322d180 up_8.23 2020-04-14 15:02:19 +02:00
gutosie
ba7374561a fix_bug_8.22 2020-04-13 22:05:38 +02:00
gutosie
5941282c90 up_8.22 2020-04-13 19:39:00 +03:00
gutosie
d450c73f4d 8.22_update_ 2020-04-13 19:37:46 +03:00
gutosie
cb92175fcc fix_update 2020-04-13 19:36:48 +03:00
gutosie
7b7c5f1cbf new update 8.22 change 2020-04-13 19:08:41 +03:00
gutosie
ce2622d38e 8.22_new 2020-04-13 18:06:56 +02:00
gutosie
5aea86e3ce update_8.22 2020-04-13 18:06:17 +02:00
gutosie
1f3b918331 update 8.22 2020-04-13 18:05:22 +02:00
gutosie
db99f9246e old 2020-04-13 19:04:09 +03:00
gutosie
49426a3ddc 8.21 fix.cam_restart 2020-04-11 12:34:15 +02:00
gutosie
7c3130466f 8.21_fix 2020-04-11 10:26:09 +02:00
gutosie
71bc17c6c9 Update extract.py 2020-04-11 10:23:30 +02:00
gutosie
6d11b1b3f7 fix 8.21 2020-04-11 10:02:14 +02:00
gutosie
50e28e41fd fix_bub 2020-04-11 09:48:15 +02:00
gutosie
ed6fbfa73d bug fix 2020-04-11 09:40:27 +02:00
gutosie
fb108c719e update-8.21 2020-04-11 09:19:58 +02:00
gutosie
213e29e518 update 8.21 2020-04-11 09:19:25 +02:00
gutosie
7488fb242f activation_tools 2020-04-11 09:18:05 +02:00
gutosie
d8631f93e0 activation 2020-04-11 09:16:23 +02:00
gutosie
940bc856c5 Udate 8.20 add h9combo 2020-04-02 11:37:51 +03:00
gutosie
6da0b67879 update 8.20 2020-03-31 14:51:37 +03:00
gutosie
9330a549a1 update 8.20 2020-03-31 13:05:34 +03:00
gutosie
28097b4634 8.20 update 2020-03-31 12:52:46 +03:00
gutosie
77f53e5fc8 8.20 2020-03-31 12:52:13 +03:00
gutosie
f6f7ac063b update 8.19 2020-03-29 16:42:22 +03:00
gutosie
da3ab62269 update 8.19 2020-03-29 16:41:39 +03:00
gutosie
123bf515c5 update 8.18 2020-03-08 12:25:20 +02:00
gutosie
5e07023b39 ok 2020-03-08 12:05:23 +02:00
gutosie
6fab77f352 update 8.18 2020-03-08 11:23:54 +02:00
gutosie
4c9261dcf5 update 8.18 2020-03-08 11:23:02 +02:00
gutosie
99ba24ed9c Update README.md 2020-03-08 11:22:07 +02:00
gutosie
85d6d90587 8.17 2020-01-21 00:33:15 +02:00
gutosie
77014049b4 check internet 2020-01-20 22:23:50 +02:00
gutosie
c716ad0b26 update 8.17 2020-01-20 20:34:42 +02:00
gutosie
0eaa58b1ef Delete layout.pyo 2020-01-20 20:32:51 +02:00
gutosie
e50b10d96c Delete sort.pyo 2020-01-20 20:32:42 +02:00
gutosie
627ddaeb40 Delete errors.pyo 2020-01-20 20:32:25 +02:00
gutosie
63f41ba590 Delete defines.pyo 2020-01-20 20:32:10 +02:00
gutosie
2c95a2a88a Delete display.pyo 2020-01-20 20:32:00 +02:00
gutosie
069f2d9573 Delete image.pyo 2020-01-20 20:31:51 +02:00
gutosie
5de1b3c687 Delete extract.pyo 2020-01-20 20:31:29 +02:00
gutosie
f120dd0354 Delete defines.pyo 2020-01-20 20:31:19 +02:00
gutosie
71be4cf0c2 Delete log.pyo 2020-01-20 20:31:09 +02:00
gutosie
7b62e506a9 Delete misc.pyo 2020-01-20 20:31:01 +02:00
gutosie
731d68c919 Delete output.pyo 2020-01-20 20:30:50 +02:00
gutosie
baf570e8b5 Delete walk.pyo 2020-01-20 20:30:42 +02:00
gutosie
4a88f7b4bb Delete common.pyo 2020-01-20 20:30:28 +02:00
gutosie
9e390b6c1d Delete layout.pyo 2020-01-20 20:30:01 +02:00
gutosie
4cbe5d18c9 Delete sort.pyo 2020-01-20 20:29:52 +02:00
gutosie
f21bb74ad0 Delete errors.pyo 2020-01-20 20:29:39 +02:00
gutosie
1d6bde2a27 Delete defines.pyo 2020-01-20 20:29:23 +02:00
gutosie
37ae0e51de Delete display.pyo 2020-01-20 20:29:14 +02:00
gutosie
c0e3698ca4 Delete image.pyo 2020-01-20 20:29:04 +02:00
gutosie
be80ba5d40 Delete extract.pyo 2020-01-20 20:28:33 +02:00
gutosie
4e3410a4bd Delete defines.pyo 2020-01-20 20:28:21 +02:00
gutosie
25aa581d30 Delete log.pyo 2020-01-20 20:28:12 +02:00
gutosie
e07a1ce6b8 Delete misc.pyo 2020-01-20 20:28:02 +02:00
gutosie
e663ed5347 Delete walk.pyo 2020-01-20 20:27:52 +02:00
gutosie
191d645bc7 Delete output.pyo 2020-01-20 20:27:42 +02:00
gutosie
c65cf08443 Delete common.pyo 2020-01-20 20:27:28 +02:00
gutosie
d4f45e6385 Delete argparse_neo.pyo 2020-01-20 20:27:02 +02:00
gutosie
b21fe64f68 Delete __init__.py 2020-01-20 20:26:42 +02:00
gutosie
8db2f4a34c Delete __init__.pyo 2020-01-20 20:26:33 +02:00
gutosie
6f1d6ca8c8 Delete layout.py 2020-01-20 20:26:26 +02:00
gutosie
767da2d096 Delete layout.pyo 2020-01-20 20:26:17 +02:00
gutosie
550b9ed87d Delete sort.py 2020-01-20 20:26:08 +02:00
gutosie
9cdc584e9d Delete sort.pyo 2020-01-20 20:25:55 +02:00
gutosie
56364fa1c0 Delete __init__.py 2020-01-20 20:25:44 +02:00
gutosie
c04ad8d0b1 Delete __init__.pyo 2020-01-20 20:25:35 +02:00
gutosie
1514c6787a Delete errors.py 2020-01-20 20:25:27 +02:00
gutosie
946eb75453 Delete errors.pyo 2020-01-20 20:25:19 +02:00
gutosie
9d9bb01d86 Delete __init__.py 2020-01-20 20:25:08 +02:00
gutosie
5b5513a040 Delete __init__.pyo 2020-01-20 20:25:00 +02:00
gutosie
462fe247ad Delete __init__.py 2020-01-20 20:24:50 +02:00
gutosie
1535bbd25f Delete __init__.pyo 2020-01-20 20:24:42 +02:00
gutosie
665391cffe Delete defines.py 2020-01-20 20:24:33 +02:00
gutosie
4eb5431588 Delete defines.pyo 2020-01-20 20:24:25 +02:00
gutosie
bea62e563f Delete display.py 2020-01-20 20:24:16 +02:00
gutosie
84318153ae Delete display.pyo 2020-01-20 20:24:08 +02:00
gutosie
38650cd1e5 Delete image.py 2020-01-20 20:23:59 +02:00
gutosie
fa9da92e59 Delete image.pyo 2020-01-20 20:23:51 +02:00
gutosie
3a45b20bb3 Delete __init__.py 2020-01-20 20:23:38 +02:00
gutosie
fa35df2b4a Delete __init__.pyo 2020-01-20 20:23:29 +02:00
gutosie
1fc8522154 Delete __init__.py 2020-01-20 20:23:17 +02:00
gutosie
0455ac5088 Delete __init__.pyo 2020-01-20 20:23:09 +02:00
gutosie
a6ffabf023 Delete extract.py 2020-01-20 20:23:00 +02:00
gutosie
c06f9d8e95 Delete extract.pyo 2020-01-20 20:22:51 +02:00
gutosie
edf6bc2e74 Delete __init__.py 2020-01-20 20:22:42 +02:00
gutosie
fb65ebe670 Delete __init__.pyo 2020-01-20 20:22:32 +02:00
gutosie
cb41293fcb Delete defines.py 2020-01-20 20:22:24 +02:00
gutosie
041978294c Delete defines.pyo 2020-01-20 20:22:15 +02:00
gutosie
b44c8efefc Delete log.py 2020-01-20 20:22:07 +02:00
gutosie
417eb40418 Delete log.pyo 2020-01-20 20:21:58 +02:00
gutosie
28717bae11 Delete lzo.so 2020-01-20 20:21:49 +02:00
gutosie
d7fb17aa56 Delete misc.py 2020-01-20 20:21:41 +02:00
gutosie
ecb529c50b Delete misc.pyo 2020-01-20 20:21:31 +02:00
gutosie
de70d0b15a Delete output.py 2020-01-20 20:21:23 +02:00
gutosie
a49767453a Delete output.pyo 2020-01-20 20:21:13 +02:00
gutosie
8743a32d8b Delete walk.py 2020-01-20 20:21:04 +02:00
gutosie
bba3265599 Delete walk.pyo 2020-01-20 20:20:39 +02:00
gutosie
fa81aac508 Delete __init__.pyo 2020-01-20 20:20:28 +02:00
gutosie
e1cf2b7f6e Delete common.py 2020-01-20 20:20:21 +02:00
gutosie
279dff61d5 Delete common.pyo 2020-01-20 20:20:11 +02:00
gutosie
67cdf2635f Delete argparse_neo.py 2020-01-20 20:20:00 +02:00
gutosie
c5adb7731b Delete argparse_neo.pyo 2020-01-20 20:19:51 +02:00
gutosie
90031336ba Delete ubi_extract_files.py 2020-01-20 20:19:43 +02:00
gutosie
37f35c77fd Delete __init__.py 2020-01-20 20:19:29 +02:00
gutosie
0f579ce855 Delete __init__.pyo 2020-01-20 20:19:20 +02:00
gutosie
ddaa45466c Delete __init__.py 2020-01-20 20:18:37 +02:00
gutosie
21499e1eda Delete __init__.pyo 2020-01-20 20:18:28 +02:00
gutosie
da55cfffbe Delete extract.py 2020-01-20 20:18:20 +02:00
gutosie
4257889575 Delete extract.pyo 2020-01-20 20:18:11 +02:00
gutosie
fdda0b843a Delete __init__.py 2020-01-20 20:18:01 +02:00
gutosie
9f6083f055 Delete __init__.pyo 2020-01-20 20:17:53 +02:00
gutosie
0e0eaff810 Delete defines.py 2020-01-20 20:17:44 +02:00
gutosie
7fd3801cac Delete defines.pyo 2020-01-20 20:17:36 +02:00
gutosie
c90dc6d6dc Delete log.py 2020-01-20 20:17:28 +02:00
gutosie
b5811b4dc8 Delete log.pyo 2020-01-20 20:17:15 +02:00
gutosie
b016545258 Delete lzo.so 2020-01-20 20:17:04 +02:00
gutosie
edb57b3c67 Delete misc.py 2020-01-20 20:16:55 +02:00
gutosie
d118e52e47 Delete misc.pyo 2020-01-20 20:16:46 +02:00
gutosie
e67bc611a4 Delete output.py 2020-01-20 20:16:38 +02:00
gutosie
82867de787 Delete output.pyo 2020-01-20 20:16:29 +02:00
gutosie
5db907ac3a Delete walk.py 2020-01-20 20:16:21 +02:00
gutosie
71c60a3738 Delete walk.pyo 2020-01-20 20:16:10 +02:00
gutosie
254bae8518 Delete argparse_neo.py 2020-01-20 20:15:59 +02:00
gutosie
601a635a2c Delete argparse_neo.pyo 2020-01-20 20:15:49 +02:00
gutosie
95b8e9d0e8 Delete ubi_extract_files.py 2020-01-20 20:15:41 +02:00
gutosie
54fed5c67b Delete __init__.pyo 2020-01-20 20:15:31 +02:00
gutosie
ebc1c86476 Delete common.py 2020-01-20 20:15:23 +02:00
gutosie
f84c832d4a Delete common.pyo 2020-01-20 20:15:15 +02:00
gutosie
6bf418fe44 Delete __init__.py 2020-01-20 20:15:02 +02:00
gutosie
bbdce1ef24 Delete __init__.pyo 2020-01-20 20:14:53 +02:00
gutosie
b7efd0fc33 Delete layout.py 2020-01-20 20:14:45 +02:00
gutosie
507fd8a8b6 Delete layout.pyo 2020-01-20 20:14:36 +02:00
gutosie
f66bf799b5 Delete sort.py 2020-01-20 20:14:28 +02:00
gutosie
2b5809ebf6 Delete sort.pyo 2020-01-20 20:14:18 +02:00
gutosie
90f55f3af4 Delete __init__.py 2020-01-20 20:14:07 +02:00
gutosie
8e9d5270d9 Delete __init__.pyo 2020-01-20 20:13:58 +02:00
gutosie
334bd6318c Delete errors.py 2020-01-20 20:13:48 +02:00
gutosie
4c7a06464a Delete errors.pyo 2020-01-20 20:13:40 +02:00
gutosie
93acd58b62 Delete __init__.py 2020-01-20 20:13:28 +02:00
gutosie
0d6bdc5bef Delete __init__.pyo 2020-01-20 20:13:20 +02:00
gutosie
99f849dc59 Delete __init__.py 2020-01-20 20:13:09 +02:00
gutosie
a29aac3975 Delete __init__.pyo 2020-01-20 20:13:00 +02:00
gutosie
ed435dd43d Delete defines.py 2020-01-20 20:12:44 +02:00
gutosie
742bec06df Delete defines.pyo 2020-01-20 20:12:35 +02:00
gutosie
272cb6b98e Delete display.py 2020-01-20 20:12:21 +02:00
gutosie
c61a6e48d0 Delete display.pyo 2020-01-20 20:12:11 +02:00
gutosie
abb285c5e8 Delete image.py 2020-01-20 20:12:01 +02:00
gutosie
e8d6bb20e5 Delete image.pyo 2020-01-20 20:11:51 +02:00
198 changed files with 4561 additions and 12163 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

Binary file not shown.

View File

@@ -1,189 +0,0 @@
from re import sub
from Tools.Directories import fileExists, resolveFilename, SCOPE_CURRENT_SKIN
import xml.etree.cElementTree
entities = [('&#228;', u'\xe4'),
('&auml;', u'\xe4'),
('&#252;', u'\xfc'),
('&uuml;', u'\xfc'),
('&#246;', u'\xf6'),
('&ouml;', u'\xf6'),
('&#196;', u'\xc4'),
('&Auml;', u'\xc4'),
('&#220;', u'\xdc'),
('&Uuml;', u'\xdc'),
('&#214;', u'\xd6'),
('&Ouml;', u'\xd6'),
('&#223;', u'\xdf'),
('&szlig;', u'\xdf'),
('&#8230;', u'...'),
('&#8211;', u'-'),
('&#160;', u' '),
('&#34;', u'"'),
('&#38;', u'&'),
('&#39;', u"'"),
('&#60;', u'<'),
('&#62;', u'>'),
('&lt;', u'<'),
('&gt;', u'>'),
('&nbsp;', u' '),
('&amp;', u'&'),
('&quot;', u'"'),
('&apos;', 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('&#196;', '\xc3\x84')
html.replace('&#228;', '\xc3\xa4')
html.replace('&auml;', '\xc3\xa4')
html.replace('&#252;', '\xc3\xbc')
html.replace('&uuml;', '\xc3\xbc')
html.replace('&#246;', '\xc3\xb6')
html.replace('&ouml;', '\xc3\xb6')
html.replace('&#196;', '\xc3\x84')
html.replace('&Auml;', '\xc3\x84')
html.replace('&#220;', '\xc3\x9c')
html.replace('&Uuml;', '\xc3\x9c')
html.replace('&#214;', '\xc3\x96')
html.replace('&Ouml;', '\xc3\x96')
html.replace('&#223;', '\xc3\x9f')
html.replace('&szlig;', '\xc3\x9f')
html.replace('&lt;', '<')
html.replace('&gt;', '>')
html.replace('&nbsp;', ' ')
html.replace('&amp;', '&')
html.replace('&quot;', '"')
html.replace('&apos;', "'")
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

View File

@@ -1 +0,0 @@
1.4.1

View File

@@ -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])

View File

@@ -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')

View File

@@ -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')

View File

@@ -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

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -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

View File

@@ -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

View File

@@ -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
View 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)

View File

@@ -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('-')

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 431 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 854 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 868 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 604 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 331 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
# -*- coding: utf-8 -*-

Binary file not shown.

319
NeoBoot/neoskins/default.py Normal file
View 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 &gt;" transparent="1" />
<eLabel backgroundColor="black" font="dugme; 30" foregroundColor="#00dddddd" position="85,742" size="59,45" valign="center" text="2 &gt;" transparent="1" />
<eLabel backgroundColor="black" font="dugme; 30" foregroundColor="#00dddddd" position="85,826" size="61,45" valign="center" text="3 &gt;" 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 &gt;" transparent="1" />
<eLabel backgroundColor="black" font="Regular; 20" foregroundColor="#58ccff" position="318,480" size="52,25" text="2 &gt;" transparent="1" />
<eLabel backgroundColor="black" font="Regular; 20" foregroundColor="#58ccff" position="318,510" size="52,25" text="3 &gt;" transparent="1" />
<eLabel backgroundColor="black" font="Regular; 20" foregroundColor="#58ccff" position="317,540" size="53,25" text="4 &gt;" 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 &gt;" 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

Binary file not shown.

BIN
NeoBoot/neoskins/sagoe.ttf Normal file

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -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]

View File

@@ -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()

View File

@@ -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()

View File

@@ -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

View File

@@ -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

View File

@@ -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()

View File

@@ -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()

View File

@@ -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()

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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()

View File

@@ -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()

View File

@@ -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()

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -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

Binary file not shown.

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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

Binary file not shown.

View File

@@ -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)

Binary file not shown.

View File

@@ -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

View File

@@ -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

View File

@@ -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)

Binary file not shown.

View File

@@ -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

View File

@@ -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)

View File

@@ -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])

Some files were not shown because too many files have changed in this diff Show More