www.satavto.by

Для того, чтобы попасть на главную страницу, кликните левее (баннер)
* Вход   * Регистрация
* FAQ    * Поиск
Текущее время: Пн янв 23, 2017 10:32

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 18 ] 
Автор Сообщение
S_N_G
 Заголовок сообщения: Изменяем имидж для своих нужд.
СообщениеДобавлено: Сб ноя 25, 2006 14:22 
Не в сети

Зарегистрирован: Пт сен 08, 2006 10:11
Сообщений: 5
Небольшие ограничения: все нижесказанное делалось в отношении 7700. (Mutant 200S) Для 8000 (Relook 400S) все тоже самое с небольшими изменениями. Желающие могут сделать универсальное решение. Можно все сделать через make файл. Но меня что-то напрягало. ;) Я расскажу как, а кому надо сделают как им удобнее. Все под линукс.

Немного теории: Обычно выкладывают имиджи в виде двух файлов: kernel_root.img и db.img В начале присутствует usb_ или serial_ в зависимости от варианта заливки. По USB(сети) или COM-порту. В нашем случае за исходный берем usb_ имиджи. Serial тоже можно, но потребуется некоторая переделка. В результате получим и usb_ и serial_.

kernel_root представляет собой образ, совмещающий в себе ядро и файловую систему root. kernel нас не интересует, остается без изменений, нам нужен root.
root представляет собой файловую систему squashfs с компрессией LZMA. не совсем стандартное решение, изначально squashfs использует gzip. Соответственно понадобятся патчи.
db - файловая система jffs2. Поддержка этой системы в ядре обычно есть, но тонкость заключается в том, что в нашем случае образ сделан для big endian среды (процессор ppc), а интел системы изначально little endian. Соответственно потребуется конвертация.

Шаг 1. Распаковка имиджей.
Откусывает заголовок имиджа:
dd if=usb_kernel_root.img of=kernel_root.be.flash bs=4096 skip=1
В результате получаем файл kernel_root.be.flash.
Выкусываем root:
dd if=kernel_root.be.flash of=root.be.flash bs=64k skip=18
Получаем файл root.be.flash - файл образа файловой системы squashfs с компрессией lzma. Требуется распаковать. Об этом чуть позже. Число 18 имеет отношение к платформе. Для relook400s это число 20. Откуда берутся - могу рассказать отдельно, кому интересно.
Теперь о db.
Откусваем заголовок:
dd if=usb_db.img of=db.be.flash bs=4096 skip=1
Получаем файл db.be.flash. Конвертируем из big endian в little endian. Если у вас вдруг не x86 платформа с поддержкой big endian то конвертировать не надо. ;)
jffs2dump -b -e db.le.flash db.be.flash
Получаем файл db.le.flash. Его уже можно монтировать.
Грузим необходимые модули:

modprobe mtdcore
modprobe jffs2
modprobe mtdram
modprobe mtdchar
modprobe mtdblock

Создаем директорию:
mkdir ./db
Монтируем:

dd if=db.le.flash of=/dev/mtd0
mount -t jffs2 /dev/mtdblock0 ./db

Результат: В каталоге db получаем содержимое файловой системы db, которая монтируется в /var. Вносим необходимые изменения.

Теперь необходимо распаковать squashfs образ:
./unsquashfs-lzma -dest ./root root.be.flash
Образ распакуется в папку root. Тоже можем править по своему усмотрению. все что проделали в виде исполняемого файла с необходимыми бинарниками в аттаче. Где взять исходники и патчи - расскажу отдельно. Спрашивайте.
Внимательно следим чтобы не было ошибок после каждой команды. Необходимые пакеты ставим. Могу написать какие пакеты ставил я. У меня Debian (sid)

После всего надо упаковать. Об этом чуток позднее. Пойду пообедаю. :)


Последний раз редактировалось S_N_G Вт ноя 28, 2006 00:57, всего редактировалось 3 раз(а).

Вернуться наверх
 Профиль  
 
Vic
 Заголовок сообщения:
СообщениеДобавлено: Сб ноя 25, 2006 14:25 
Не в сети
Аватар пользователя

Зарегистрирован: Пн май 16, 2005 17:18
Сообщений: 102
Откуда: Москва
Ок, good job!

_________________
Изображение


Вернуться наверх
 Профиль  
 
S_N_G
 Заголовок сообщения:
СообщениеДобавлено: Сб ноя 25, 2006 15:03 
Не в сети

Зарегистрирован: Пт сен 08, 2006 10:11
Сообщений: 5
Пообедать не успел, допишу, потом пойду... :)

Шаг 2. Сборка имиджа после изменений.
Упаковываем root:
./mksquashfs-lzma ./root root.flash -be -all-root
Упаковываем db:
./mkfs.jffs2 -d ./db -b -e 65536 -o db.flash
Выкусывем kernel. Ядро то нам понадобится... :)

dd if=usb_kernel_root.img of=kernel_root.be.flash bs=4096 skip=1
dd if=kernel_root.be.flash of=part_kernel_root.flash bs=64k count=18

Фиксим размер раздела:
./appendbin -bs=0x2000 part_root.flash root.flash 448
Числа 18 и 448 для мутанта. Для relook400 20 и 528.
Собираем имидж DB:

./mkdnimg -make usbimg -vendor_id 0x00444753 -product_id 0x6c6f6f6b -hw_model 0x00010000 -hw_version 0x00010000 -start_addr 0xffce0000 -erase_size 0x002f0000 -image_name db -input db.flash -output usb_db.new.img

В результате получим usb_db.new.img
Собираем kernel_root
dd if=part_root.flash of=part_kernel_root.flash bs=8k seek=144 count=448
(для 400s - не 144 и 448, а 160 и 528, -start_addr 0xffda0000
-erase_size 0x00230000)
Собираем имидж kernel_root:

./mkdnimg -make usbimg -vendor_id 0x00444753 -product_id 0x6c6f6f6b -hw_model 0x00010000 -hw_version 0x00010000 -start_addr 0xff840000 -erase_size 0x004a0000 -image_name db -input part_kernel_root.flash -output usb_kernel_root.new.img

Получаем usb_kernel_root.new.img
Обращаю внимание, что в и для DB и для kernel_root для 400s:
-hw_model 0x00040000
-hw_version 0x00010001
-erase_size 0x00560000

Делаем serial имиджи:

./mkdnimg -make serialimg -model_name relook100s -input usb_db.new.img -output serial_db.img
./mkdnimg -make serialimg -model_name relook100s -input usb_kernel_root.new.img
-output serial_kernel_root.img

Для 400s: -model_name relook400
Вот и все. В аттаче необходимые бинарники и скрипт с командами... У кого какие вопросы - готов ответить.


Вернуться наверх
 Профиль  
 
S_N_G
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 28, 2006 01:01 
Не в сети

Зарегистрирован: Пт сен 08, 2006 10:11
Сообщений: 5
Как обычно нашел баги. переписывать креатив не стал, для общего понимания годится. Исправленные скрипты выкладываю. На этот раз для 200S и 400S Бинарники из папки 200S скопировать в папку 400S Скрипты разные. Оттуда удалены, ибо на форум не влезало.


Вложения:
Комментарий к файлу: Все старые удалил. Вот исправленные.
manage_image.tar.gz [188.75 KIB]
Скачиваний: 1029
Вернуться наверх
 Профиль  
 
vii
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 28, 2006 01:12 
Не в сети
Site Admin
Аватар пользователя

Зарегистрирован: Вс май 08, 2005 01:54
Сообщений: 1470
Откуда: Москва
S_N_G
Я увеличил вам лимит размера вложений. Выкладывайте тут

_________________
Если хотите купить в Москве оптом - пишите мне в скайп yuri_k1996. Если в розницу то смотрите в каталоге для России (на этом сайте). А координаты в Москве - www.satavto.by/satellite/contacts_russia.html
Вопросы по шаре - только к Sharing.


Вернуться наверх
 Профиль Отправить e-mail  
 
S_N_G
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 28, 2006 09:48 
Не в сети

Зарегистрирован: Пт сен 08, 2006 10:11
Сообщений: 5
vii писал(а):
Я увеличил вам лимит размера вложений. Выкладывайте тут

Tnx. Постараюсь не злоупотреблять... :roll:


Вернуться наверх
 Профиль  
 
odin
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 26, 2006 13:53 
Не в сети

Зарегистрирован: Вт окт 03, 2006 09:57
Сообщений: 1
Откуда: Минск
а под freebsd как сделать?

_________________
Sezam 7700 90E-30W VPN IpTel


Вернуться наверх
 Профиль  
 
asan
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 17, 2007 10:42 
Не в сети

Зарегистрирован: Пн янв 15, 2007 13:32
Сообщений: 1
Собираем kernel_root
dd if=part_root.flash of=part_kernel_root.flash bs=8k seek=144 count=448
(для 400s - не 144 и 448, а 160 и 528, -start_addr 0xffda0000
-erase_size 0x00230000)
Собираем имидж kernel_root:

./mkdnimg -make usbimg -vendor_id 0x00444753 -product_id 0x6c6f6f6b -hw_model 0x00010000 -hw_version 0x00010000 -start_addr 0xff840000 -erase_size 0x004a0000 -image_name db -input part_kernel_root.flash -output usb_kernel_root.new.img

Получаем usb_kernel_root.new.img
Обращаю внимание, что в и для DB и для kernel_root для 400s:
-hw_model 0x00040000
-hw_version 0x00010001
-erase_size 0x00560000


Как узнать параметры файла-имиджа если он не такой как описан в этом методе?


Вернуться наверх
 Профиль  
 
Courage
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 29, 2007 21:47 
Не в сети

Зарегистрирован: Пн янв 29, 2007 21:38
Сообщений: 1
Цитата:
S_N_G Где взять исходники и патчи - расскажу отдельно. Спрашивайте.
Могу написать какие пакеты ставил я. У меня Debian (sid)

я немного сбоку - сорри за оффтопик - но очень близко )))
в-общем я из дримоводов ))) там ситуация с сборкой-разборкой имиджей
аналогична той что Вы описали - с некоторыми косметическими отличиями -
теже 3 источника и 3 составные части имиджа и ... обширное использование
в последнее время squashfs lzma для упаковки рут-дерева ....

так вот - для разборки и сборки имиджей для дримбокс существуют
инструменты и скрипты для РРС (дримбокс 7000 сделан на этой платформе)
правда для разборки файлового дерева squashfs lzma используется
команда монтирования файла через loop используя ФС squashfs
Код:
mount -t squashfs -o loop root_part_file_name root_dir_name

которая естественно сработает если кернел поддерживает данную ФС -
причем нужен вариант кернела с поддержой squashfs lzma - а это требует пересборки кернела.

а посему вопрос №1
Ваша программа unsquashfs-lzma требует ли поддержки squashfs lzma в ядре?
(ответ я похоже сам нашел - такой поддержки не требуется - так как на машине
с дебиан testing I386 c использованием стандартного кернела никаких модулей поддержки
squashfs-lzma к кернелу подключать не понадобилось ))) unsquashfs-lzma отлично
на I386 сработала !!!!

вопрос №2
Можно ли получить исходные этой программы чтобы попробывать собрать ее
для РРС? чтобы можно было разбирать имиджи прямо на дримбоксе.

к слову - как я при помощи ./unsquashfs-lzma разобрал имидж (вернее часть
содержащую рут-дерево) для ДБ7000 на дебиан I386 машине:

- положить в одну директорию сам имидж (пусть он называется cool_lzma.img)
и замечательную программу unsquashfs-lzma -dest

- вырезать из имиджа кусок с рут-деревом в файл root_part

Код:
# dd if=cool_lzma.img of=root_part bs=512 count=15625 skip=2304

(цифры 512 15625 2304 - специфические для ДМ7000)

- и распаковать в субдиректорию ./root файл root_part

Код:
# ./unsquashfs-lzma -dest ./root root_part


вуаля! в субдиректории ./root находим рут-дерево имиджа

спасибо S_N_G за такую замечательную прогу !


Вернуться наверх
 Профиль  
 
nety
 Заголовок сообщения: Re: Изменяем имидж для своих нужд.
СообщениеДобавлено: Ср июн 06, 2007 13:12 
Не в сети

Зарегистрирован: Сб авг 26, 2006 14:02
Сообщений: 13
S_N_G писал(а):
Небольшие ограничения: все нижесказанное делалось в отношении 7700. (Mutant 200S)...
Необходимые пакеты ставим. Могу написать какие пакеты ставил я. У меня Debian (sid)


1. У меня Mandriva 2007 так какие пакеты нужно ставить?
Ругается что не найдены команды
modprobe mtdcore
modprobe jffs2
modprobe mtdram
modprobe mtdchar
modprobe mtdblock

2. Можно на Sezame поднять фтп сервер? Естественно на жестком диске, если да то как?
3. А еще лучше бы править образ на самом ресивере, там же тоже Линукс. Такое возможно?


Вернуться наверх
 Профиль  
 
nety
 Заголовок сообщения: Re: Изменяем имидж для своих нужд.
СообщениеДобавлено: Пн июн 25, 2007 01:35 
Не в сети

Зарегистрирован: Сб авг 26, 2006 14:02
Сообщений: 13
nety писал(а):
1. У меня Mandriva 2007 так какие пакеты нужно ставить?
Ругается что не найдены команды
modprobe mtdcore
modprobe jffs2
modprobe mtdram
modprobe mtdchar
modprobe mtdblock ...


Запустил все под super user'ом (root)
Не получается cконвертировать из big endian в little endian (jffs2dump -b -e db.le.flash db.be.flash)
Пишет что не може найти jffs2dump команду.
Подскажите строение каталога /db (папки файлы)
Если не получается разобрать имидж, так может получиться собрать :)
Сделал /db/var/ результат PanC


Вернуться наверх
 Профиль  
 
nety
 Заголовок сообщения:
СообщениеДобавлено: Чт июн 28, 2007 20:39 
Не в сети

Зарегистрирован: Сб авг 26, 2006 14:02
Сообщений: 13
Все вроде разобрался, все запускается и монтируется, единственное,
при запуске jffs2dump -b -e db.le.flash db.be.flash, идут ошибки:
Wrong hdr_crc at 0x001d8660, 0x5d4448fe instead of 0x5ae84dc8
Unknown node type: 0xc001 at 0x001d8660, totlen 0x00000036.... и так далее,
файл db.le.flash создается, размер в два раза меньше db.be.flash
В папке ./db папка /var вся полностью...
Собираю имидж, получается где-то около 1 мб usb_db.new.img, заливаю в ресивер, результат Panc.
Куда смотреть, подскажите.


Вернуться наверх
 Профиль  
 
Vic
 Заголовок сообщения:
СообщениеДобавлено: Вс июл 01, 2007 17:06 
Не в сети
Аватар пользователя

Зарегистрирован: Пн май 16, 2005 17:18
Сообщений: 102
Откуда: Москва
А что-бы операционка с винта стартовала, это сложно сделать?
Это я к тому, что-бы место не экономили программеры.

_________________
Изображение


Вернуться наверх
 Профиль  
 
nety
 Заголовок сообщения:
СообщениеДобавлено: Вт авг 14, 2007 18:08 
Не в сети

Зарегистрирован: Сб авг 26, 2006 14:02
Сообщений: 13
nety писал(а):
Все вроде разобрался, все запускается и монтируется, единственное,
при запуске jffs2dump -b -e db.le.flash db.be.flash, идут ошибки:
Wrong hdr_crc at 0x001d8660, 0x5d4448fe instead of 0x5ae84dc8
Unknown node type: 0xc001 at 0x001d8660, totlen 0x00000036.... и так далее,
файл db.le.flash создается, размер в два раза меньше db.be.flash
В папке ./db папка /var вся полностью...
Собираю имидж, получается где-то около 1 мб usb_db.new.img, заливаю в ресивер, результат Panc.
Куда смотреть, подскажите.


Нужно было установить набор утилит mtd (в котором и находится этот jffs2dump)...

А теперь хотелось бы и для Sezama 7900/Ipbox 250PVR !!!!


Вернуться наверх
 Профиль  
 
leongor
 Заголовок сообщения:
СообщениеДобавлено: Сб сен 08, 2007 15:34 
Не в сети

Зарегистрирован: Вс июн 10, 2007 12:55
Сообщений: 17
Vic писал(а):
А что-бы операционка с винта стартовала, это сложно сделать?
Это я к тому, что-бы место не экономили программеры.

Я задал аналогичный вопрос на денктенк форуме и вот что мне ответили:
Цитата:
anyway theorically a mutant cold mount a mmc, with some hardware soldering ..
the pins are placed con TP's

Что думают спецы?


Вернуться наверх
 Профиль  
 
siraleks
 Заголовок сообщения:
СообщениеДобавлено: Сб мар 21, 2009 23:18 
Не в сети

Зарегистрирован: Ср фев 28, 2007 23:42
Сообщений: 5
Народ ну что не так делаю! невыделяет у меня команда
Цитата:
jffs2dump -b -e db.le.flash db.be.flash

отвечает
Цитата:
bash: jffs2dump: команда не найдена

софт ковырять пробывал и HL и AB Enigma результат один стопрор на этой фразе
ОС OpenSuse 11.1, ресивер Sezam 7900
S_N_G писал(а):
Число 18 имеет отношение к платформе. Для relook400s это число 20. Откуда берутся - могу рассказать отдельно, кому интересно.

Мне вот интересно но где узнать что к чему может не правильно я параметры эти ставлю потому и не выходит, а также интересно как не usb а serial разбтирать? :(

_________________
тарель 1,1 м.+ 0,9 м. +мотоподвес GI-1000 + тюнер GI - 7800 + SS2 + Sezam 7900


Вернуться наверх
 Профиль  
 
dexx
 Заголовок сообщения:
СообщениеДобавлено: Ср апр 29, 2009 09:01 
Не в сети

Зарегистрирован: Вт фев 17, 2009 20:21
Сообщений: 13
Народ подскажите ПЛЗ...
Как добавить поддержку протокола PPP в ядро, с последующей "консервацией" в имидж...
Уж больно хочется использовать VPN на Sezam 7900, а в новых версиях Енигмы, поддержка PPP просто не реализована, мне кажется что для такого аппарата это просто смертный ГРЕХ :evil:
Рассчитываю на вашу помощь!


Вернуться наверх
 Профиль  
 
Masster
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 30, 2009 14:52 
Не в сети

Зарегистрирован: Вс ноя 25, 2007 14:28
Сообщений: 370
Откуда: Minsk
Если не ошибаюсь, в Энигме от SifTeam VPN поднимается

_________________
Sezam 7900 (SifTeam1.9.4)+ММС1Гб+HDD 2,5' 80Гб > 36E - 60см; 4W+5E+13E - 80см
Интересен сам процесc...


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 18 ] 


Правила форума
Писать сообщения по теме, искать поиском (нет ли такой темы), не создавать одинаковые сообщения, не создавать темы-клоны. Чуть что без ответа удаляется. В крайнем случае - бан.
Тест кардшаринга
Тест бесплатно могут получить только покупатели Satavto и Unisat.
Правила получения теста - см. здесь.
Стоимость кардшаринга
Торга не предусмотрено. Список пакетов и их стоимость тут.
Что такое шаринг
Это читайте здесь.
Где мы находимся
Все контакты можно посмотреть тут.







Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти: