Создание собственных прошивок для Ritmix RZX-50

Итак, еще новости от EXL. На этот раз — руководство по созданию собственных прошивок для Ritmix RZX-50. Настоятельно рекомендуется во-первых прочесть до конца и внимательно, а во-вторых не начинать пробовать до момента, пока Ritmix или мы не выложим официальный образ прошивки, а самое главное — утилиту для восстановления (анбрика).

В любом случае, мы вас предупреждали…

1. Способы прошивки консоли:

Прошить Ritmix RZX-50 можно двумя различными способами:
1.1. Перевести консоль в загрузочный режим и с помощью специальной программы (она будет представлена позже) залить прошивку в аппарат.
1.2. Просто закинуть необходимые файлы в корень памяти устройства и выбрать в меню: Настройки -> Обновление ПО.
Мы будем действовать именно вторым способом (1.2).

2. Структура прошивки.

Прошивка консоли состоит из следующих файлов:
appfs.ext3 — файловая система в ext3, содержащая все встроенные в консоль эмуляторы и программы. И, кроме того саму оболочку. Именно этот файл и будет подвергаться редактированию. Его размер 55 000 Кб.
configfs.ext3 — файловая система в ext3, для различных конфигов приложений. Размер — 20 000 Кб.
mbr-uboot-msc.bin — Загрузчик, размер — 410 Кб.
rootfs.ext3 — Корневая система устройства, в ext3. Здесь располагаются все библиотеки, стандартные бинарники Linux, busybox. Размер — 80 000 Кб.
uImage — Ядро. Размер 1150 Кб.

3. Редактирование прошивки.

Для редактирования файлов-образов ФС в формате ext3 нам нужен компьютер с Linux OS. Или Windows OS с установленным Virtual BOX/VMware Player, в крайнем случае под виндой можно воспользоваться AndLinux’ом или Cygwin’ом. Как установить данные программы и запустить окружение, можете найти в интернете. Я советую установить всё-таки виртуальную машину (VMware) и в неё установить простенький дистрибьютор Linux OS. В дальнейшем, установив туда тулчейн вы также сможете собирать программы и игры для RZX-50 и Dingoo A320.

Вся суть редактирования файловой системы в ext3 складывается в следующем:
3.1. Копируем прошивку в удобную для вас папку в Linux’е.*
* — Для примера я создал папку /home/rzx50/sw и подпапку /home/rzx50/sw/fs

mkdir /home/rzx50/sw
mkdir /home/rzx50/sw/fs

и поместил файл appfs.ext3 в папку /home/rzx50/sw
3.2. Заходим в папку, где находится прошивка через терминал:

cd /home/rzx50/sw

3.3. Монтируем содержимое файла ext3 (appfs.ext3) в папку /home/rzx50/sw/fs

sudo mount -o loop appfs.ext3 /home/rzx50/sw/fs

Для sudo, нужен пароль. Вводим.

rzx-50firmwaretweak

3.4. Теперь мы можем изменять, добавлять и удалять необходимые файлы в папке /home/rzx50/sw/fs. Напомню, что возможно потребуется изменение прав для загруженного файла.
Для этого пользуемся командами:

sudo cp -R /file /to
sudo chmod 777 /file

3.5. Собираем прошивку с изменёнными файлами:

sudo dd if=/dev/loop0 of=/home/rzx50/sw/appfs_new.ext3
sudo chmod 777 /home/rzx50/sw/appfs_new.ext3

Проверить что куда примонтировано можно командой

mount

3.6. Если вам необходимо добавить немного места в прошивку, используйте следующие команды:

sudo dd if=/dev/zero bs=1M count=1024 >> appfs.ext3
resize2fs -f fsdata.ext3

Подобным образом можно изменять содержимое файловых систем appfs.ext3, configfs.ext3 и rootfs.ext3.

4. Что где находится

4.1. appfs.ext3: тут находится вся пользовательская оболочка, включая D-menu и стандартный набор программ.

/home/rzx50/sw/fs/local/apps — Программы и утилиты (MPlayer, Nupdf итд.)
/home/rzx50/sw/fs/local/sbin/main — Авторан???
/home/rzx50/sw/fs/local/dmenu — Каталог настроек и ресурсов D-Menu
/home/rzx50/sw/fs/local/dmenu/wallpapers — обои
/home/rzx50/sw/fs/local/dmenu/themes/ipen_rus/theme.cfg — Русский перевод D-menu (В конфиге также можно редактировать полностью всё меню, добавляя или заменяя пункты!)
/home/rzx50/sw/fs/local/dmenu/themes/ipen_rus/dmenu.ini — Глобальный конфиг, версия прошивки.

4.2. rootfs.ext3: корневая файловая система устройства.

/home/rzx50/sw/fs/usr/lib — пользовательские библиотеки
/home/rzx50/sw/fs/lib — системные библиотеки

5. Прошивка устройства модифицированными файлами.

5.1. Кидаем собранные нами файлы (5 штук):

appfs_new.ext3
rootfs_new.ext3
configfs_new.ext3
uImage
mbr-uboot-msc.bin

в корень памяти устройства.
5.2. Переименовываем их (убираем префикс _new):

appfs.ext3
rootfs.ext3
configfs.ext3
uImage
mbr-uboot-msc.bin

5.3. Отключаем RZX-50 от компьютера, по возможности заряжаем на 50-60%, идём в «Настройки» -> «Обновление ПО» -> «ОК». И ждём порядка 4-5 минут, пока консолька прошьётся. Процесс сопровождается прогресс баром.
5.4. После обновления просто включаем/выключаем консоль или жмакаем зубочисткой RESET.
Всё, прошивка должна быть обновлена!

6. Эпилог

Для чего нужны кастомные (модифицированные) прошивки? Они позволяют вам добавить набор необходимых вам программ, удалить ненужный хлам или же просто подогнать под себя элементы интерфейса. В случае с RZX-50, можно сделать очень многое, например, вместо одного Dmenu поставить две оболочки — Gmenu и Dmenu. Воткнуть в прошивку нормальный файловый менеджер, изменить/добавить системные библиотеки, полностью изменить русификацию аппарата. Пофиксить некоторые критические глюки итд. итп. Пределы действий ограничиваются лишь вашей фантазией и творческим подходом!

P.S.

Вот прошивка, которую можно использовать для экспериментов. Хоть она и имеет версию 1.00009, но в «народ» пошла более младшая версия. На самом деле та, что стоит «с завода» — более новая, ибо в этой есть огрехи в переводе интерфейса эмуляторов. Повторяю, использовать только для тренировки и на свой страх и риск. К «боевым» действиям можно приступать, когда прошивки появятся на официальном сайте, равно как и утлита «анбрикер».

 

 



Добавить комментарий

Комментарии доступны через Intensedebate. Включите JavaScript.