28 ноября | 2024г. | 08:54:11


АвторТема: BPanther Neutrino Image  (Прочитано 419334 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
BPanther Neutrino Image
« Ответ #330: 29 мая | 2014г. | 13:49:45 »
0
(у меня похоже он  запускается только при установке а потом нет)
Пока Вы этот скрипт не запустите - ничего у Вас не будет отображаться (разделы)!

Оффлайн al_rd

  • Младший Джедай
  • **
  • Сообщений: 181
  • Поблагодарили: 48
  • Уважение: +1
BPanther Neutrino Image
« Ответ #331: 29 мая | 2014г. | 13:56:31 »
0
Пока Вы этот скрипт не запустите - ничего у Вас не будет отображаться (разделы)!
А вот бы его заставить запускаться автоматом, при включении ресивера. Я нечасто меняю имиджи, но как только выходит обновление версий - меняю. Погонял, настроил и если все ОК ставлю во флешь ресивера.
Когда я постигал Энигму то при использовании плагина DuckBAтак и было (разделы сканировались автоматом)

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
BPanther Neutrino Image
« Ответ #332: 29 мая | 2014г. | 14:19:23 »
0
al_rd, я, вроде понял где "собака порылась"!
(у меня похоже он  запускается только при установке а потом нет)
Вы, вероятно, в сборку BPanther закидывали файлы из архива первого поста Neutrino-MP, это flex_Mboot.conf и flex_plugins.conf со строкой ACTION=&Сканер разделов и у Вас в меню по синей кнопке появлялась строка о наличии разделов и Вы думали, что это происходит автоматом!
И Вы захотели, чтобы когда Вы подключите 15-ю флешку, она автоматом сканировалась и отображалась! Но этого не будет, пока Вы не запустите скрипт сканирования, о чём я уже писал!
А поставить его в автомат, мне кажется решаемо!

Оффлайн al_rd

  • Младший Джедай
  • **
  • Сообщений: 181
  • Поблагодарили: 48
  • Уважение: +1
BPanther Neutrino Image
« Ответ #333: 29 мая | 2014г. | 14:33:25 »
0
А поставить его в автомат, мне кажется решаемо!

Ключевая фраза! :drinks: :good:

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
BPanther Neutrino Image
« Ответ #334: 29 мая | 2014г. | 14:41:23 »
0
Ключевая фраза!
Я только не пойму зачем Вам это нужно! Вешать лишнюю соплю в автозапуск! Один раз отсканировали и всё!
Дело, конечно Ваше!  ;)

Оффлайн Benny

  • Друзья Джедаев
  • *****
  • Сообщений: 564
  • Поблагодарили: 872
  • Уважение: +29
BPanther Neutrino Image
« Ответ #335: 29 мая | 2014г. | 15:19:51 »
+1
Я, в целом, с ser6 согласен - фигней вы какой-то занимаетесь, но по большому счету - все мы тут страдаем тем же =)

Шоб не вникать в  стартовые скрипты BPanther (часть из которых, ко всему - бинарные, убивать за такое нужно) - в этой сборке в /var/tuxbox/config есть файл deepstandby.off.
Т.е, прописываем там
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.запуск Мбут, перезагружаем ресивер, и смотрим, чего получилось - если все хорошо, то должно появиться меню MBoot во FlexMenu.

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
BPanther Neutrino Image
« Ответ #336: 30 мая | 2014г. | 13:25:41 »
0
al_rd, а в бэкапе, в папке bin у Вас все линки бэкапятся? Загляните в неё!

Оффлайн al_rd

  • Младший Джедай
  • **
  • Сообщений: 181
  • Поблагодарили: 48
  • Уважение: +1
BPanther Neutrino Image
« Ответ #337: 30 мая | 2014г. | 13:28:37 »
0
Посмотрю вечером обязательно :)

Добавлено  30 мая | 2014г. | 13:38:11
У меня есть еще одна непроверенная мысль.
Может это связано с тем, что ссылка размещена в папке и дается на нее (на эту же папку), а  сам файл, на который идет ссылка тоже  находится в ней. И ко всему - папка /Mboot/ находится в корне (если так можно сказать для линукса).
Наверное накрутил  :blush:, но думаю, смысл Вы уловили.  ;)

Добавлено  30 мая | 2014г. | 23:25:07
ser6,
Посмотрел - в папке /bin/ все линки в бекапе сохранились.
А вот в папке /Mboot/ бекапа линк fw_printenv появился только тогда, когда я в файле backup.conf папку  /Mboot/
записал в таком виде:
Спойлер   :
/Mboot/fw_printenv
/Mboot/Create_Mboot.sh
/Mboot/flash_erase
/Mboot/fw_env.config.spark
/Mboot/fw_setenv
/Mboot/setIMG.sh
... Шоб не вникать в  стартовые скрипты BPanther (часть из которых, ко всему - бинарные, убивать за такое нужно) - в этой сборке в /var/tuxbox/config есть файл deepstandby.off.
Т.е, прописываем там
Код: [Выделить]
#!/bin/sh
#echo "Deepstandby deaktiviert." >> /tmp/test.txt
Create_Mboot.sh  # <- с учетом пути, где у вас лежит этот скрипт
exit 0
запуск Мбут, перезагружаем ресивер, и смотрим, чего получилось - если все хорошо, то должно появиться меню MBoot во FlexMenu.
И ничего не появилось  :'(, хотя файл deepstandby.off изменил
Спойлер   :
[ Гостям не разрешен просмотр вложений ]
и все сделал как написано (запустил Мбут, потом перезагрузил ресивер)

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
BPanther Neutrino Image
« Ответ #338: 31 мая | 2014г. | 00:27:49 »
0
Посмотрел - в папке /bin/ все линки в бекапе сохранились.
Значит функция архивации работает!
А вот в папке /Mboot/ бекапа линк fw_printenv появился только тогда, когда я в файле backup.conf папку  /Mboot/
А вот это, видимо, Ваш индивидуальный случай, но надо ещё всё это проверить в NAND!
И ничего не появилось  :'(, хотя файл deepstandby.off изменил
Надо искать другой способ!  :blush:

Оффлайн Benny

  • Друзья Джедаев
  • *****
  • Сообщений: 564
  • Поблагодарили: 872
  • Уважение: +29
BPanther Neutrino Image
« Ответ #339: 31 мая | 2014г. | 01:16:27 »
0
и все сделал как написано (запустил Мбут, потом перезагрузил ресивер)
Что значит "запустил Мбут"?

Можно попробовать отладить его - заходим на ресивер через консоль, пишем последовательно:
init 4
setconsole
/var/tuxbox/config/deepstandby.off

вывод после последней команды - сюда.

Оффлайн Benny

  • Друзья Джедаев
  • *****
  • Сообщений: 564
  • Поблагодарили: 872
  • Уважение: +29
BPanther Neutrino Image
« Ответ #340: 31 мая | 2014г. | 16:21:49 »
0
Смешались в кучу люди, кони (с)
Давайте решать проблемы в порядке их поступления - бекапы отдельно, Мбут отдельно.

Был вопрос о том, как добавить в автозагрузку сканирование разделов Мбут. Ответ -  добавить Create_Mboot.sh  в deepstandby.off.
Что делает этот скрипт? Пересоздает файл /var/tuxbox/config/flex/flex_Mboot.conf, обновляя список разделов.
Все, больше он ничего не делает, остальные действия с Мбут - через FlexMenu, и там работает уже другой скрипт.

Вот, по-моему никакой реакции
И это радует, визуально так и должно быть. Удаляем файл /var/tuxbox/config/flex/flex_Mboot.conf , запускаем  /var/tuxbox/config/deepstandby.off и проверяем - удаленный flex_Mboot.conf  должен создаться снова. Создался - опять удаляем его, перезагружаем ресивер и проверяем - создался этот файл после загрузки Нейтрино?
Если создался, то все, про возню с Create_Mboot.sh и deepstandby.off забываем, на этом этапе у нас все работает.
Если что-то не работает уже при вызове из FlexMenu - это отдельный разговор.


Оффлайн al_rd

  • Младший Джедай
  • **
  • Сообщений: 181
  • Поблагодарили: 48
  • Уважение: +1
BPanther Neutrino Image
« Ответ #341: 31 мая | 2014г. | 17:00:36 »
0
Смешались в кучу люди, кони (с)
Давайте решать проблемы в порядке их поступления - бекапы отдельно, Мбут отдельно.

У меня два вопроса по Мультибут, в которых я пытаюсь разобраться и прошу помощи.
Первый вопрос, он и был у меня первым - это работа Мультибут при восстановлении настроек из бекапа фалов/папок. При первой установке плагина из папки /tmp/, все работает. Если же мы восстанавливаем настройки из бекапа - он работать отказывается. Я предполагал, что причиной была невозможность сбекапить линк внутри папки /Mboot/, которая находится в корне. Мы с Вами это решали позавчера и благодаря Вашим рекомендациям это решено. Но проверить все я смог только на выходные. Однако и наличие этого линка проблему не решило. О чем я и пишу в предыдущем посте.  После неудавшейся перезагрузки из другого раздела флешки в папке /tmp/ я обнаружил два файла - mboot.log и mboot1.error, содержание первого я привел в предыдущем посту, второй - пустой.
Второй вопрос - за автозагрузку сканирования разделов Мбут я все понял, за что Вам громадное спасибо. :drinks:

Оффлайн Benny

  • Друзья Джедаев
  • *****
  • Сообщений: 564
  • Поблагодарили: 872
  • Уважение: +29
BPanther Neutrino Image
« Ответ #342: 31 мая | 2014г. | 17:39:52 »
0
Если же мы восстанавливаем настройки из бекапа - он работать отказывается.
Вот тут подробнее, с полной последовательностью действий. Т.е я себе это так представляю:
1. Установили (неважно куда - на флешку или в память ресивера) новый имижд;
2. Загрузились, восстановили настройки из бекапа;
3. Перезагрузили ресивер;
4. Проверяем работу Мбут.

В этой последовательности важно то, что восстановлено в п.2 - т.е если в бекапе есть модифицированный deepstandby.off, то при перезагрузке в п.3 он должен создать /var/tuxbox/config/flex/flex_Mboot.conf автоматически. Если он еще туда не входит, то нужно сначала запустить вручную Create_Mboot.sh, а уже потом переходить к п.4 - к собственно, проверке работы Мбута из FlexMenu.




Оффлайн Benny

  • Друзья Джедаев
  • *****
  • Сообщений: 564
  • Поблагодарили: 872
  • Уважение: +29
BPanther Neutrino Image
« Ответ #343: 31 мая | 2014г. | 20:03:13 »
0
мой backup.conf
...
/var/tuxbox/config/
...
1. Нужно проверить, действительно ли при перезагрузке создается свежий /var/tuxbox/config/flex/flex_Mboot.conf, или же там остается висеть старый, из бекапа - т.е удалить этот файл, перезагрузить ресивер, и проверить - создался ли новый.
2. Судя по логу, обламывается  оно на этапе записи bootargs.
Тут в первую очередь нужно проверить наличие в /Mboot и права fw_setenv/fw_printenv (если это два разных файла).
Во вторую - добавляем в скрипт setIMG.sh (промотать вниз) строку
Спойлер   :
....
 LOG "Writing bootargs..."
 LOG $MBoot_bootargs  # <- вот так
# MBoot_bootargs
$BIN/fw_setenv MBoot_bootargs "$MBoot_bootargs"
[ $? -gt 0 ] && GOTERROR "error writing MBoot_bootargs"
....
Запускаем Мбут из FlexMenu, и смотрим, чего получилось. Если снова ошибка в том же месте, то лог скопировать или приложить сюда.

Оффлайн al_rd

  • Младший Джедай
  • **
  • Сообщений: 181
  • Поблагодарили: 48
  • Уважение: +1
BPanther Neutrino Image
« Ответ #344: 31 мая | 2014г. | 20:46:34 »
0
1. Файл flex_Mboot.conf после перезагрузки создается новый. Стер старый, перезапустил - в папке /var/tuxbox/config/flex/ появился новый. Я так понял, что при повторной перезагрузке он перезапишется?
2. У файлов fw_printenv везде права - 777. У файла fw_setenv в папках /bin/ и /DuckBA/bin/- права 755, в папке /Mboot/ - права 777.
3.В скрипт setIMG.sh строку добавил
Пока все так же
вот содержание mboot.log
Цитировать
Спойлер   :
spark detected :)
Creating /tmp/MBOOT folder
mounting partition
Erasing 2nd kernel space in flash...
Writing 2nd kernel to NAND...
Valid fw_env detected :)
Writing bootargs...
setenv
error writing MBoot_bootargs
(Смайлики добавил не я - так в логе записано)


Добавлено  31 мая | 2014г. | 20:51:34
Вот сейчас мой setIMG.sh
Спойлер   :
#!/bin/sh
#Mod by Vasiliks 2014 for Neutrino

LOG(){
echo "$1"
echo "$1" >>/tmp/mboot.log
echo "$1" >/tmp/media/sda1/MBoot.log
}

GOTERROR(){
echo "$1"
echo "$1" >>/tmp/mboot.log
echo "$1" >/tmp/media/sda1/MBoot.log
touch /tmp/mboot.error
exit 1
}

echo "##### setIMG.sh `date` #####" >/tmp/media/sda1/MBoot.log
#IMpath="/usr/lib/enigma2/python/Plugins/Extensions/ImageManager"
#/Mboot
BIN=/Mboot

[ -f /tmp/mboot.ok ] && rm -rf /tmp/mboot.ok
[ -f /tmp/mboot.error ] && rm -rf /tmp/mboot.error
[ -f /tmp/mboot.log ] && rm -rf /tmp/mboot.log

#checking parameters

if [ -z $1 ]; then
   GOTERROR "usage: setIMG.sh [NAND|USB sd[abcd][1-9]]"
else
    if  [ -z $2 ]; then
   if ! [ $1 == "NAND" ]; then
       GOTERROR "For boot from USB use: setIMG.sh USB sd[abcd][1-9]"
   fi
    fi
fi

sdXY=`echo $2 | sed "s;/dev/;;"`
echo "Active partition: '$sdXY'"

# do we realy need to change anything?

if `cat /proc/cmdline | grep -q "/dev/$sdXY"`; then
   if `echo $1 | grep -q 'USB'`; then
       LOG "Restart current soft from $sdXY"
       touch /tmp/mboot.ok
       sync
       exit 0
   fi
fi
if `cat /proc/cmdline | grep -q '/dev/mtdblock6'`; then
   if `echo $1 | grep -q 'NAND'`; then
       LOG "Restart current soft from NAND"
       touch /tmp/mboot.ok
       sync
       exit 0
   fi
fi

# checking box type

if  `cat /proc/stb/info/model | grep -q spark`; then
   LOG "spark detected :)"
   MyBootCMD="nboot.i 80000000 0 18000000;bootm 80000000"
   MyBootARGS=""
   MyMBoot_bootcmd='nboot.i 80000000 0 18400000;run MBoot_bootargs;bootm 80000000;set bootargs ${bootargs_enigma2};nboot.i 80000000 0 18000000;bootm 80000000;reset'
   MyMBoot_bootargs='setenv bootargs "console=ttyAS0,115200 root=/dev/'$sdXY' rw init=/bin/devinit coprocessor_mem=4m@0x40000000,4m@0x40400000 printk=1 nwhwconf=device:eth0,hwaddr:${ethaddr} rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:SPARK:eth0:off bigphysarea=6000 stmmaceth=msglvl:0,phyaddr:2,watchdog:5000 rootdelay=9"'
   [ -e /tmp/fw_env.config ] || ln -sf $BIN/fw_env.config.spark /tmp/fw_env.config
else
   GOTERROR "unknown box detected :("
   exit 1
fi

if `echo $1 | grep -q 'USB'`; then
   if ! `echo $2 | grep -q 'sd[abcd][1-9]'`; then
      GOTERROR "Error, got incorrect parameter :( ($1)"
      exit 1
   fi
   MBoot_bootargs=$MyMBoot_bootargs
   MBoot_bootcmd=$MyMBoot_bootcmd

# mounting partition
# unmouting partition if already mounted
   if `mount | grep '/tmp/MBOOT' | grep -q /dev/$sdXY`; then
      LOG "unmounting /tmp/MBOOT folder"
      umount -l /tmp/MBOOT 2>/dev/null
   fi
   if `mount | grep '/tmp/MBOOT' | grep -q /dev/$sdXY`; then
      GOTERROR "ERROR, partition cannot be unmounted :("
      exit 1
   fi

# if there is no our catalog, it is necessary to create
   if [ ! -d /tmp/MBOOT ]; then
      LOG "Creating /tmp/MBOOT folder"
      mkdir /tmp/MBOOT
   fi
# if we partition is unmounted, let's check the consistency
   if ! `mount | grep -q /dev/$sdXY`; then
      LOG "checking partition consistency"
      e2fsck -p /dev/$sdXY
   fi

# mounting a suitable partition
   LOG "mounting partition"
   mount /dev/$sdXY /tmp/MBOOT
   if ! `mount | grep -q /dev/$sdXY`; then
      GOTERROR "ERROR: Mount partitions, finish work"
      exit 1
   fi
   if [ ! -e /tmp/MBOOT/boot/uImage ]; then
      GOTERROR "ERROR: Mounted partition contains the / boot / uImage. I finish work!!!"
      exit 1
   fi
# some improvements
   sed -i "s/\$1\$K\$Oy86o0YspthTr2IXvUm751//" /tmp/MBOOT/etc/passwd

# programming 2nd kernel
   LOG "Erasing 2nd kernel space in flash..."
   echo "ErASE nAnd.." >/dev/vfd
   $BIN/flash_erase /dev/mtd5 0x400000 0x20
   [ $? -gt 0 ] && GOTERROR "error erasing nand"

   LOG "Writing 2nd kernel to NAND..."
   echo "FLASH 2nd kernel to nAnd.." >/dev/vfd
   nandwrite -s 0x400000 -p /dev/mtd5 /tmp/MBOOT/boot/uImage
   [ $? -gt 0 ] && GOTERROR "error writing nand"
else # boot from NAND
   MBoot_bootargs=$MyBootARGS
   MBoot_bootcmd=$MyBootCMD
fi

# checking environment

[ -e $BIN/fw_printenv ] || ln -sf $BIN/fw_setenv $BIN/fw_printenv
myENV=`$BIN/fw_printenv`
RET=$?
if [ $RET -eq 0 ]; then
   LOG "Valid fw_env detected :)"
else
   GOTERROR "fw_env misconfigured :("
fi

LOG "Writing bootargs..."
LOG $MBoot_bootargs #
# MBoot_bootargs
$BIN/fw_setenv MBoot_bootargs "$MBoot_bootargs"
[ $? -gt 0 ] && GOTERROR "error writing MBoot_bootargs"

# MBoot_bootcmd
$BIN/fw_setenv bootcmd "$MBoot_bootcmd"
[ $? -gt 0 ] && GOTERROR "error writing MBoot_bootcmd"

# To check if all required written correctly
myENV=`$BIN/fw_printenv`
if ! `echo $myENV | grep -q "bootcmd="`;then
   [ $? -gt 0 ] && GOTERROR "error no bootcmd found after flashing"
fi
if ! `echo $myENV | grep -q "bootargs="`;then
   $BIN/fw_setenv MBoot_ON
   [ $? -gt 0 ] && GOTERROR "error no bootargs found after flashing"
fi

# cleaning trashes

LOG "cleaning up..."
if `echo $myENV | grep -q "MBoot_ON"`;then
   $BIN/fw_setenv MBoot_ON
   [ $? -gt 0 ] && GOTERROR "error removing MBoot_ON"
fi
if `echo $myENV | grep -q "MBoot_sda_NO"`;then
   $BIN/fw_setenv MBoot_sda_NO
   [ $? -gt 0 ] && GOTERROR "error removing MBoot_sda_NO"
fi
if `echo $myENV | grep -q "MBoot_bootcmd"`;then
   $BIN/fw_setenv MBoot_bootcmd
   [ $? -gt 0 ] && GOTERROR "error removing MBoot_bootcmd"
fi
if `echo $myENV | egrep -q "bootargsusb|menu_|bootcmdusb|bootargshub|bootcmdhub|bootargside|bootcmdide"`; then
   for i in `cat /proc/partitions | grep sd[abcd]. | awk '{print $4}' | sed 's/sd.//'`
   do
      $BIN/fw_setenv "menu_$i"
      [ $? -gt 0 ] && GOTERROR "error removing menu_$i"
      $BIN/fw_setenv "bootargsusb$i"
      [ $? -gt 0 ] && GOTERROR "error removing  bootargsusb$i"
      $BIN/fw_setenv "bootcmdusb$i"
      [ $? -gt 0 ] && GOTERROR "error removing bootcmdusb$i"
      $BIN/fw_setenv "bootargshub$i"
      [ $? -gt 0 ] && GOTERROR "error removing bootargshub$i"
      $BIN/fw_setenv "bootcmdhub$i"
      [ $? -gt 0 ] && GOTERROR "error removing bootcmdhub$i"
      $BIN/fw_setenv "bootargside$i"
      [ $? -gt 0 ] && GOTERROR "error removing bootargside$i"
      $BIN/fw_setenv "bootcmdide$i"
      [ $? -gt 0 ] && GOTERROR "error removing bootcmdide$i"
   done
fi
touch /tmp/mboot.ok
sync
reboot

Теги:
 

Похожие темы

  Тема / Автор Ответов Последний ответ
Neutrino-MP

Автор Ser6 « 1 2 ... 98 99 » Enigma2

1472 Ответов
886235 Просмотров
Последний ответ 17 августа | 2015г. | 10:48:44
от Ser6
361 Ответов
192808 Просмотров
Последний ответ 22 августа | 2015г. | 08:30:30
от vlanab
Neutrino - MartiiGit

Автор vlad8077 « 1 2 ... 6 7 » Enigma2

97 Ответов
66415 Просмотров
Последний ответ 24 марта | 2018г. | 03:40:27
от thomasr
Neutrino-MP-SDL

Автор lexandr0s « 1 2 ... 14 15 » Enigma2

224 Ответов
138858 Просмотров
Последний ответ 18 октября | 2020г. | 23:54:02
от Benny
Neutrino-MP (Часть 2)

Автор Ser6 « 1 2 ... 14 15 » Enigma2

219 Ответов
184663 Просмотров
Последний ответ 02 декабря | 2022г. | 18:59:29
от Orhikot



X

Добро пожаловать!

Мы заметили, что у Вас установлено расширение AdBlock или ему подобное. Пожалуйста добавьте наш Клуб в белый список, внесите этим посильную лепту в его развитие. Спасибо!