maniak
Любитель Сат-ТВ
Вобщем небольшой отчетик по решению разных проблем.
Для нормальной работы с диском maruapp требуется совершенно чистый диск. Т.е. если я например взял новый диск и разметил его -- maruapp будет при запуске выдавать следующее:
/app/app # ./maruapp
Can not open config file
mode=0
kmsg=0
serverip=
port=0
outpath=
Can not open config file
[LOG]: Before HDD Initialization... -> Start in (/MainApp.cpp 426)
[LOG]: 0th Partition Name=sda, Blocks=488386584, Major=8, Minor=0 -> Parse in (/PartitionParser.cpp 177)
<skip за ненадобностью>
[LOG]: Partition /dev/sda6 will be formatted by MARUSYS RAW FS -> Format in (/HDDPartition.cpp 109)
[LOG]: Mapping Raw Partition... -> MapRawPartition in (/HDDPartition.cpp 601)
[LOG]: rec -> MakeDedicated in (/HDDDevice.cpp 617)
[LOG]: rec -> MakeDedicated in (/HDDDevice.cpp 619)
[LOG]: rec -> Format in (/RecordMgr.cpp 714)
[LOG]: rec -> Format in (/RecordMgr.cpp 718)
<но потом>
[LOG]: Checking Dedicated HDD... -> HDDDevice in (/HDDDevice.cpp 102)
[[LOG-ERROR]]: Not a Dedicated HDD!!!!!!!!! -> RecordRawVolume in (/RecordRawVolume.cpp 65)
[LOG]: rec -> Format in (/RecordMgr.cpp 721)
[LOG]: rec -> Format in (/RecordMgr.cpp 731)
[[LOG-ERROR]]: Invalid Status -> Format in (/RecordRawVolume.cpp 91)
.... и перезагрузка. И так до бесконечности. Вобщем какой-то отстой. Честно говоря не верил, что поможет но... dd if=/dev/zero of=/dev/sda bs=65536 -- ждать минут 40 - час. И все заработало ! Еще надо уточнить, что hddreset не спасает, поскольку трет только таблицу разделов.
Если у вас затерлась вся flash (которая на борту) кроме boot firmware. Почти все можно востановить с usb flash. На компе форматируете usb под FAT16 (с fat32 почему-то у меня лично не сложилось -- хотя пробовал всего две разных флешки).
Итак -- востанавливается:
"Kernel - 0xA004.0000-0xA01F.FFFF"
"APP_Modules 0xA04E.0000-0xA0AF.FFFF"
"App + GTK 0xA04E.0000-0xA0FF.FFFF"
"GTK Lib 0xA0B0.0000-0xA0FF.FFFF"
Не востанавливается:
"Config FS - 0xA020.0000-0xA029.FFFF"
"Root FS- 0xA02A.0000-0xA04D.FFFF"
Причем Root FS монтируется ro. Т.е. если потерли -- это не гарантийный случай. Востановить можно тем-же dd. Образы любезно предоставил xloaloa (см. выше). Для востановления надо "подсунуть" оригинальному ядру (энигма пока не может работать с /dev/mtdblock*) корневой раздел. Я использовал от энигмы. Т.е. на флеш создаем раздел ext3 (на нем будет корневой раздел). Не надо пытаться разметить под fat/ntfs -- они не поддерживают simlinks. Дальше распаковываем туда энигму, кладем выше упомянутые файлы. Устанавливаем параметры загрузки:
setenv bootargs 'console=ttyAS0,115200 root=/dev/sdb1 rw mem=89m bigphysarea=6144 coprocessor_mem=3m@0x04000000,3m@0x04300000'
Загрузку прерываем (ctrl+c) после запуска init. При помощи dd востанавливаем утраченое:
dd if=mtdblock2.iso of=/dev/mtdblock2
dd if=mtdblock3.iso of=/dev/mtdblock3
На первые два сектора flash выставлен write protect -- так вот не надо его снимать. Иначе возможен брик. А вообще энигму лучще грузить с usb flash -- потому как первое, что делает пользователь -- пытается подключить диск и естественноо после инициализации мы видим на форуме "Энигма перестала грузиться". И мне кажется, что процесс можно вполне автоматизировать. Типа вставил flash с энигмой и загрузился -- без flash грузиться оригинальная прошивка. Правда памяти в eeprom маловато...
Для нормальной работы с диском maruapp требуется совершенно чистый диск. Т.е. если я например взял новый диск и разметил его -- maruapp будет при запуске выдавать следующее:
/app/app # ./maruapp
Can not open config file
mode=0
kmsg=0
serverip=
port=0
outpath=
Can not open config file
[LOG]: Before HDD Initialization... -> Start in (/MainApp.cpp 426)
[LOG]: 0th Partition Name=sda, Blocks=488386584, Major=8, Minor=0 -> Parse in (/PartitionParser.cpp 177)
<skip за ненадобностью>
[LOG]: Partition /dev/sda6 will be formatted by MARUSYS RAW FS -> Format in (/HDDPartition.cpp 109)
[LOG]: Mapping Raw Partition... -> MapRawPartition in (/HDDPartition.cpp 601)
[LOG]: rec -> MakeDedicated in (/HDDDevice.cpp 617)
[LOG]: rec -> MakeDedicated in (/HDDDevice.cpp 619)
[LOG]: rec -> Format in (/RecordMgr.cpp 714)
[LOG]: rec -> Format in (/RecordMgr.cpp 718)
<но потом>
[LOG]: Checking Dedicated HDD... -> HDDDevice in (/HDDDevice.cpp 102)
[[LOG-ERROR]]: Not a Dedicated HDD!!!!!!!!! -> RecordRawVolume in (/RecordRawVolume.cpp 65)
[LOG]: rec -> Format in (/RecordMgr.cpp 721)
[LOG]: rec -> Format in (/RecordMgr.cpp 731)
[[LOG-ERROR]]: Invalid Status -> Format in (/RecordRawVolume.cpp 91)
.... и перезагрузка. И так до бесконечности. Вобщем какой-то отстой. Честно говоря не верил, что поможет но... dd if=/dev/zero of=/dev/sda bs=65536 -- ждать минут 40 - час. И все заработало ! Еще надо уточнить, что hddreset не спасает, поскольку трет только таблицу разделов.
Если у вас затерлась вся flash (которая на борту) кроме boot firmware. Почти все можно востановить с usb flash. На компе форматируете usb под FAT16 (с fat32 почему-то у меня лично не сложилось -- хотя пробовал всего две разных флешки).
Итак -- востанавливается:
"Kernel - 0xA004.0000-0xA01F.FFFF"
"APP_Modules 0xA04E.0000-0xA0AF.FFFF"
"App + GTK 0xA04E.0000-0xA0FF.FFFF"
"GTK Lib 0xA0B0.0000-0xA0FF.FFFF"
Не востанавливается:
"Config FS - 0xA020.0000-0xA029.FFFF"
"Root FS- 0xA02A.0000-0xA04D.FFFF"
Причем Root FS монтируется ro. Т.е. если потерли -- это не гарантийный случай. Востановить можно тем-же dd. Образы любезно предоставил xloaloa (см. выше). Для востановления надо "подсунуть" оригинальному ядру (энигма пока не может работать с /dev/mtdblock*) корневой раздел. Я использовал от энигмы. Т.е. на флеш создаем раздел ext3 (на нем будет корневой раздел). Не надо пытаться разметить под fat/ntfs -- они не поддерживают simlinks. Дальше распаковываем туда энигму, кладем выше упомянутые файлы. Устанавливаем параметры загрузки:
setenv bootargs 'console=ttyAS0,115200 root=/dev/sdb1 rw mem=89m bigphysarea=6144 coprocessor_mem=3m@0x04000000,3m@0x04300000'
Загрузку прерываем (ctrl+c) после запуска init. При помощи dd востанавливаем утраченое:
dd if=mtdblock2.iso of=/dev/mtdblock2
dd if=mtdblock3.iso of=/dev/mtdblock3
На первые два сектора flash выставлен write protect -- так вот не надо его снимать. Иначе возможен брик. А вообще энигму лучще грузить с usb flash -- потому как первое, что делает пользователь -- пытается подключить диск и естественноо после инициализации мы видим на форуме "Энигма перестала грузиться". И мне кажется, что процесс можно вполне автоматизировать. Типа вставил flash с энигмой и загрузился -- без flash грузиться оригинальная прошивка. Правда памяти в eeprom маловато...