IPB

Здравствуйте, гость ( Вход | Регистрация )

Форум перемещен на новый домен: forum.pda2u.ru - исправьте, пожалуйста, свои ссылки
 
 
Ответить в данную темуНачать новую тему
> Структура информации в IMGFS секциях, на примере O2 XDA Atom Exec и O2 XDA Flame
BigMike
сообщение 29.2.2008, 14:21
Сообщение #1


PDA2U.RU Team
****

Группа: Admin
Сообщений: 1806
Регистрация: 20.10.2007
Из: Moscow
Пользователь №: 11
Спасибо сказали: 172 раз(а)

Девайс:Samsung Galaxy Ace


Цитата
PS чтобы суметь применить к нашим девайсам - надо определить sector size и extra data size
Например, для Hermes sector size 0x200, extra data size 0x08. Для Kaiser 0x800 и 0x08

Вот, кажется, нашел тут инфу, которая может помочь нам в освоении tadzio tools
Цитата
помимо "нормальных" данных присутствуют, "дополнительные".
Эти дополнительные данные наполняются по определенному алгоритму.
...
Эти дополнительные данные есть трех видов
1) После партиции XIP и IMGFS идет по 0x80000 байт, состоящих из двух блоков по 0x40000, в конце каждого из которых в свою очередь наш патерн.
2) Блоки длинной 0x1000, на каждый блок размером 0x40000 (0x1000 входит в 0x40000), в начале которых идут счетчики (пока не понял чего), а в конце наш патерн такие встречаются в IMGFS в области ненулевых (забитых отличными от 0xFF данными). Патерн:
062155C1D5299CDFB8EAB8BAF3F9D382478A433BE62AD9A9316739095367BF12
3) Те же блоки длинной 0x1000, но без счетчиков, так же в IMGFS, но только там где данных нет (весь блок забит 0xFF)...

0х1000 - это и есть размер сектора
Теперь, что есть 0х08...
Цитата
и так что из себя представляет блок экстраданных размещающийся в конце каждого куска 0x40000.
Заполнение происходит по такой схеме (8 байт на каждый 0x1000 блок данных внутри 0x3f000 блока):
1) нумерация с каждым блоком 0x1000 увеличивается на 1
2) нумерация начинается с номера сектора указанного для IMGFS как стартовый в MBR структуре.
3) блок с экстраданными не считается за простой блок(сектор), и его номер и идентификатор всегда приравнивается к 0xFFFFFFFF
4) блок данных в котором нет никакой информации (является пустым) считается по порядку, но маркируется так-же как и блок экстраданных.

Вот тут все описано подробно.

Респект за это описание freepk и -Qwerty- с 4pda.ru

PS Просмотрел наш образ - у нас тоже sector size 0x1000, extra data size 0x08

PPS Тем не менее, так и не удалось заставить ее работать (IMG:http://forum.pda2u.ru/style_emoticons/default/sad.gif)
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
-QwertY-
сообщение 10.3.2008, 15:27
Сообщение #2


Новичок
*

Группа: Разработчики
Сообщений: 7
Регистрация: 25.2.2008
Пользователь №: 571
Спасибо сказали: 4 раз(а)




Сама партиция IMGFS в MBR структуре имеет идентификатор 0x23, и, обычно, идёт второй или третье по счёту партицией.
Сама партиция представляет из себя сжатые данные. Сжатие может быть XPR или LZX.
Так же партиция IMGFS может содержать экстраданные, в некоторых случаях просто поставленные производителем, в других необходимые самой FLASH устройства.

Как пример могу привести FLASH память аппаратов ETEN. У них размер блока данных равен 520 байт (512 обычных данных и 8 байт экстраданных сектора).

Для начала рассмотрим строение прошивки от ETEN, а так-же способ формирования экстраданных.
Из-за самого строения FLASH (как уже было сказано) экстраданные в прошивке должны идти каждые 512 байт, и составлять 8 байт (в сумме 520 байт).
В данном случае экстраданные формируются из 2-х DWORD (4 байта в LE записи, байты справа на лево идут).
Первым DWORD идёт номер сектора в MBR части прошивки.
Вторым DWORD идёт идентификатор партиции.
Идентификаторы партиции определяются типом партиции и имеют значения:
1) MBR и MSFLSH50 сектора - 0xFFFBFFFD
2) 0x20 - boot партиция - 0xFFFBFFFD
3) 0x23 - XIP партиция - 0xFFFBFFFD
4) 0x25 - IMGFS партиция - 0xFFFBFFFF
5) ExtROM - 0xFFFFFFFF (номера секторов так-же нумеруются как 0xFFFFFFFF в не зависимости от очерёдности)
6) Свободное место в партиции или вне партиций - 0xFFFFFFFF (номера секторов так-же нумеруются как 0xFFFFFFFF в не зависимости от очерёдности)

Первый номер сектора для партиции берётся из таблици партиций находящейся в MBR.

© 4PDA


Спасибо сказали:
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
-QwertY-
сообщение 10.3.2008, 15:42
Сообщение #3


Новичок
*

Группа: Разработчики
Сообщений: 7
Регистрация: 25.2.2008
Пользователь №: 571
Спасибо сказали: 4 раз(а)




Сама прошивка O2 XDA Flame имеет немного другую структуру.
В прошивке Flame части MBR, MSFLSH50, boot и XIP партиции не помечаются экстраданными. Экстраданные содержатся только в IMGFS партиции.
Формирование экстраданным происходит по отличному от eten алгоритму.

И так экстраданные для каждого сектора (сектор в O2 XDA Flame равен 0x1000 байт) формируются по аналогичному алгоритму, но пишутся в сам файл прошивки по другому.

Для O2 XDA Flame блок экстраданных равен блоку данных и имеет в конце свою сигнатуру
Код
Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

033FFFE0   06 21 55 C1 D5 29 9C DF  B8 EA B8 BA F3 F9 D3 82    !UБХ)њЯёкёєущУ‚
033FFFF0   47 8A 43 3B E6 2A D9 A9  31 67 39 09 53 67 BF 12   GЉC;ж*Щ©1g9 Sgї


Сам блок изначально заполнен 0xFF данными и должен в себе содержать всего 63 блока данных о предшествующих блоку 63 секторах.

Запись информации о предшествующих блоках начинается с начала блока экстраданных, 1 запись равно 8 байт.
Заполнение информации о блоках происходит аналогично прошивкам ETEN (тоесть пустое место имеет идентификатор 0xFFFFFFFF и номер 0xFFFFFFFF).
Сам размер IMGFS части болжен быть кратен 0x40000.

© 4PDA
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
BigMike
сообщение 10.3.2008, 19:01
Сообщение #4


PDA2U.RU Team
****

Группа: Admin
Сообщений: 1806
Регистрация: 20.10.2007
Из: Moscow
Пользователь №: 11
Спасибо сказали: 172 раз(а)

Девайс:Samsung Galaxy Ace


Цитата
Для O2 XDA Flame блок экстраданных равен блоку данных и имеет в конце свою сигнатуру

В прошивке О2 XDA Atom Exec и клонов (Rover G5 и Orsio n725) используется точно та же структура. Сектор имеет аналогичный размер (0х1000), IMGFS разбита на блоки по 0х40000 и экстраданные собираются в последнем секторе блока.
Насколько я понимаю, структуру прошивки Flame вы начали копать на 4pda, чтобы увеличить размер IMGFS секции и вынести в нее дрова из XIP. Так почему бы просто не сипользовать для этой цели imgfs от Atom Exec? Просто при сборке подменить исходный diskimage.nb0 на аналогичный файл от Atom Exec.
Я так думаю, что если вынести из XIP все OEM драйвера - он будет не больше атомовского. Соответственно, измененная таким образом прошивка флэйма должна вполне поместиться в атомовский образ.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
BigMike
сообщение 10.3.2008, 23:29
Сообщение #5


PDA2U.RU Team
****

Группа: Admin
Сообщений: 1806
Регистрация: 20.10.2007
Из: Moscow
Пользователь №: 11
Спасибо сказали: 172 раз(а)

Девайс:Samsung Galaxy Ace


Шарился по гуглю - наткнулся на рекламу конференции 4pda о структуре прошивок WM5/6, которую проводил как раз -QwertY-.
Лог конференции можно взять тут
Много интересной информации о структуре IMGFS вообще и образов *.nb0 можно там найти.
Имхо, маст хэв.
Если -QwertY- разрешит - попробую попозже сделать и выложить выжимку.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
-QwertY-
сообщение 12.3.2008, 22:50
Сообщение #6


Новичок
*

Группа: Разработчики
Сообщений: 7
Регистрация: 25.2.2008
Пользователь №: 571
Спасибо сказали: 4 раз(а)




BigMike, Ну выжимку попробуй сделать и выложить оное я в принципе разрешаю, только копирайт сайта и меня не забудь (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif)

PS А я уж думал когда заметят тему по той конференции (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif)


Спасибо сказали:
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
salman DZ
сообщение 7.7.2008, 19:55
Сообщение #7


Участник
**

Группа: Разработчики
Сообщений: 37
Регистрация: 24.11.2007
Из: Пензенская.обл Бессоновка
Пользователь №: 29
Спасибо сказали: 13 раз(а)

Девайс:Rover G5


Цитата(-QwertY- @ 12.3.2008, 23:50) *
BigMike, Ну выжимку попробуй сделать и выложить оное я в принципе разрешаю, только копирайт сайта и меня не забудь (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif)

PS А я уж думал когда заметят тему по той конференции (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif)


Тыб нам тут помог собрать пару пилотных ромов, ато скромно так засветился,
меня лично интересует полноценная имуляция екст рома и чтоб всю память в устройстве можно было использовать
Перейти в начало страницы
Вставить ник
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 28.3.2024, 23:15
return_links(); ?>