Обсуждение Прошивок для Sibrary G6 HDRitmix RBK-700HD, Digma E601 HD, Qumo Libro II HD, GMini M6HD, GMini M6FHD - Sibrary G6 HD, имён у неё многоОбсуждение Ritmix RBK700 HD » |
Обсуждение Digma e601HD » |
Обсуждение Qumo Libro II HD » |
Обсуждение GMini M6HD »Прошивка Qumo Libro II HD » |
Прошивка GMini M6HD »Здесь я предлагаю о
бсуждать прошивки для данных книг. За исключением Qumo Libro II HD остальные книги аппаратно идентичны, так что прошивки для них полностью совместимы.
Начну с того, что есть старая и новая версии ОС - старая, построеная на GTK и новая, на
Lunux QT - не знаю, очепятка ли это, или дистрибутив Linux что томится внутри действительно называется Lunux QT Linux.
Старая версия - рабочая лошадка (неказистая на вид, но исправно делает всё, что от неё надо).
Новая версия - с
блэкджеком и шлюхами красивостями и виджетами,
нареканий к ней куда больше.
Прошивки на официальных сайтах производителей:
Ritmix RBK-700HD - слева под фоточкой, представлена только одна версия - на GTK, с которой книга и попала ко мне в руки. Инструкция по прошивке предельно аскетична, но достаточна.
Qumo Libro II HD - тоже одна версия, внизу справа страницы.
G-mini M6HD - набор файлов скромноват, три версии, из них одна старая, одна новая и насчёт одной я не уверен точно.
Digma e601HD - набор файлов тут уже поприличнее, (на данный момент - 23 января 2013 года) насчитывает 4 версии на QT и 2 на GTK.
Инструкция обильна и пропитана заботой о пользователях (предписано НЕПРЕМЕННО использовать кардридер для заливки прошивки на карту памяти - это чтобы юзвери не перепутали внутреннюю память и карточку).
FTP от Sibrary:
ftp://125.91.8.7. Логин - FTP_user1. Пароль - user123
На этом FTP потенциально может быть что-то интересное. Меняя цифру в конце логина в диапазоне 1..7 попадаешь в разные архивы.
Кастомные прошивки:
Форум DDiX по Digma - тут можно прочесть много интересного про эти прошивки, в частности где взять
словари и как их установить.Форум Ivsor - форум нашего соотечественника, целиком и полностью посвящённый прошивкам на эти книги. Регистрация там затруднена - не приходит активация на почту, нужно стучать админу в аську чтобы получить активацию. Много вкусного, кастомные прошивки он делать умеет и любит.
Форум The-EBook - тема по реверс-инженерингу прошивок для книжек. Очень много технической информации.
Модификация прошивки
Для распаковки прошивки формата sibrary.img можно использовать скрипт
sibrary_unpack.sh - он принимает имя файла для распаковки и создаёт кучку файлов с именами вида
9_FS.11032100, где 9 - порядковый номер, 11032100 - версия данных (любое число), FS - тип данных (всего есть 9 типов - elf (исполнимый бинарный файл осуществляющий обновление), U_Boot - загрузчик (экспериментировать КРАЙНЕ опасно - малейшая ошибка приведёт к выходу книги из строя), hardinfo (по смещению 0x17C указано разрешение экрана книги, также содержит ещё несколько значений, смысл которых мне не ясен), OEM (смысл не ясен), rckn (zImage образ ядра, отвечающего за перепрошивку книги - экспериментировать нежелательно), rcfs (CRAMFS-образ файловой системы, отвечающей за перепрошивку - экспериментировать нежелательно), kernel (zImage-образ, основное ядро системы), logo (картинка при загрузке) и FS (ext3-образ раздела внутренней памяти прошивки).
Для повторной сборки прошивки можно использовать скрипт
sibrary_repack.sh - он принимает имя выходного файла, а затем названия секций и их данные. Обязательно первой секцией должен идти ELF, далее могут идти любые секции. Если секции в образе нет - существующие в памяти книги данные не будут изменены при перепрошивке из этого образа (к примеру собрав образ из ELF и logo можно прошив его поменять картинку при загрузке книги, не меняяя саму прошивку.
Есть две версии прошивок - их FS, kernel и logo не подходят друг к другу (к примеру не выйдет прошить logo от GTK-прошивки на QT-прошивку или запустить GTK-прошивку с ядром от QT).
Чтобы сделать свою картинку при загрузке нужна программа
rgb4bitДля подготовки logo для GTK-прошивки надо сделать
convert logo.jpg -flip -colors 256 -compress None logo.bmp && ./rgb4bit -i logo.bmp -o logo.raw
а для QT-прошивки -
convert logo.jpg -rotate -90 -flip -colors 256 -compress None logo.bmp && ./rgb4bit -i logo.bmp -o logo.raw
Просмотреть существующие logo для GTK-прошивки можно командами
rawtopgm < LOGO -bpp 1 386 1024 > LOGO.pgm
(где 1024 - высота экрана, 386 - ширина экрана/2), а для QT-прошивки -
rawtopgm < 7_logo.data -bpp 1 512 768 > LOGO.pgm
(где 512 - высота экрана/2, 768 - ширина экрана).
Процесс прошивки:
1. Сначала запускается "препроцессор", который ищет файлы и запускает процесс обновления. Если на экране видно 2 сообщения о том что update not found и диод в углу книги мигает - смело передёргиваем батарейку, вы неправильно записали карту памяти для прошивки.
2. Если файл прошивки найден - экран очищается и начинается вторая стадия - обновление прошивальщика. По завершении его книга пишет что не надо ничего делать, to be continued и перезагружается.
3. После перезагрузки прошивка продолжается, в ходе этой стадии бегут процентики и затем, когда всё завершается - книга уходит на перезагрузку уже в новую прошивку.
Если прошивка не начинается (белый экран при попытке входа в прошиватор) - попробовать установить
патч для ремонта с форума Ivsor.
Личный опыт по использованию прошивок:
Я покупал книгу для чтения манги, и поэтому оцениваю всё именно с этой точки зрения. Кто может оценить иные возможности - милости прошу.
Официальная прошивка для Ritmix RBK-700HD (GTK):
С виду неказистая, но, что называется "делает всё как надо".
Есть 2 игры - сапёр и го. Большой выбор опций для просмотрщика картинок - зум по высоте, широте, в размер страницы, точка в точку, свободное масштабирование. Открывает ZIP-архив с 1048 картинками размером 112 мб за 7 секунд и листает из него мангу практически мгновенно, задержка вполне приемлема и раздражения не вызывает.
Недостатки: словариков нет, виджетов нет. Просмотрщик изображений имеет область видимости 750x1008 точек - определена экспериментально, используя тестовый паттерн с
http://habrahabr.ru/post/129397/ и зум при листании сбрасывается в положение "в размер страницы". TTS по Русски читает, хотя и убого (по определению).
Исправленная прошивка от 26.12.2012 от SKV (QT):
Changelog. Красивая (смотри скриншоты на форуме Ivsor). Есть словарик, игра Судоку. Просмотрщик картинок открывается на полный экран (все 768x1024, проверено паттерном). Похоже, что скалирование картинки под размер экрана куда как интереснее чем на Ritmix'овской прошивке - рисунки муара получаются куда прикольнее чем простая сетка/шахматка там. Хорошая русская и английская клавиатура, хотя реализация в прошивке от Ritmix более эргономична - любая кнопка нажимается за 3-4 перемещения курсора.
Недостатки: открывается тот же архив с мангой за 20 секунд, листает вперёд с огромной задержкой (порядка 8 секунд), листает назад с ещё большей задержкой и частенько зависает нафиг, приходится держать выключалку до появления окошка, отвечать "нет" на вопрос о выключении - после этого выходит в список картинок. Набор опций в просмотрщике картинок крайне мал. TTS по Русски не читает. Для меня - непригодна.
Базовая прошивка со старым графическим интерфейсом от Digma (GTK) (22.10.2011 v3.0.1): На моей RBK700HD запускаться не захотела (встроена проверка на дигмосвкость книги) Для меня - непригодна.
UPD: Всвязи с нахождением возможности редактировать прошивки напрямую открыт рецепт починить эту прошивку. Для этого надо подмонтировать её и заменить файл /usr/local/bin/psplash на
этот. Прошивка донельзя напоминает Ritmix'овскую, но присутствует поддержка словарей, а также оформление красивее на мой взгляд. Мангу из архивов не читает (по одному файлу за раз).
Базовая «прошивка» от 27.12.11 от QUMO Libro II HD (GTK): Запускается. Внешний вид поинтереснее, чем на официальной прошивке для Ritmix RBK-700HD, но имеются проблемы с кнопками обновления экрана и выхода в меню настроек (не работают).
Немного железа: WIKI по модели Sibrary G6 + картинка с распиновкой UART
Прошивки для Sibrary G6 HD и её клонов (Ritmix RBK700 HD, Digma E601 HD, Qumo Libro II HD, GMini M6HD, GMini M6FHD (Пост tervel #38766400). Ещё одна
картинка с подключением для UART (miniJACK - земля, панелька с контактами выдрана из miniUSB кабеля). Уровни естественно TTL.
Тут - адреса по которым грузится прошивальщик-"bootloader"
Тут - адреса по которым грузится прошивка
Немного софта: если положить в память книги или на карточку исполнимый файл либо shell-скрипт и затем открыть его в "проводнике" - он будет выполнен. Это позволяет запускать на книге произвольный код.
К примеру, записав в скрипт SSH.sh следующее:
для прошивок на GTK
#!/bin/sh
IP=192.168.2.3
LOG=ether.log.txt
# LOG=/dev/null
if lsmod|grep g_ether; then
rmmod g_ether
killall dropbear
fi
cd /media/mmcblk0p1/
rmmod g_file_storage
rmmod g_serial
#insmod /lib/modules/2.6.24.2-Boeye/kernel/drivers/usb/gadget/g_ether.ko >> ether.log.txt 2>&1 || messagebox "Cannot load g_ether.ko"
modprobe g_ether >> $LOG 2>&1 || messagebox "Cannot load g_ether.ko"
echo '--------------' >> $LOG
mkdir /etc/dropbear
echo '--------------' >> $LOG
sleep 2
ifconfig usb0 inet $IP || messagebox "Cannot configure usb0 interface!"
dmesg >>$LOG
echo '--------------' >> $LOG
ifconfig -a >>$LOG
echo '--------------' >> $LOG
route >>$LOG
echo '--------------' >> $LOG
/etc/init.d/dropbear start >>$LOG 2>&1 || messagebox "Cannot start SSH server!"
messagebox "SSH should be started now, IP=$IP"
Или это (ессно вписав перед этим свой ключ пользователя из ~/.ssh/id_rsa.pub):
для прошивок на QT
#!/bin/sh
rsa_key="ssh-rsa $rsa_key
[email protected]"
IP=192.168.2.3
# LOG=ether.log.txt
LOG=/dev/null
if lsmod|grep g_ether; then
rmmod g_ether
killall dropbear
fi
cd /media/mmcblk0p1
rmmod g_file_storage
rmmod g_serial
insmod /lib/modules/2.6.24.2-Boeye/kernel/drivers/usb/gadget/g_ether.ko 2>&1 > $LOG
echo '--------------' >> $LOG
if [[ ! -d /etc/dropbear ]]; then
mkdir /etc/dropbear
/usr/bin/dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key 2>&1 >>$LOG
fi
if [[ ! -d ~/.ssh ]]; then
mkdir -p ~/.ssh/
echo "$rsa_key" > ~/.ssh/authorized_keys
fi
sleep 2
ifconfig usb0 $IP 2>&1 >>$LOG
/usr/sbin/dropbear -r /etc/dropbear/dropbear_rsa_host_key -p 22 -E 2>&1 >>$LOG
Подключив книгу обычным USB-кабелем, отказавшись от подключения к ПК и запустив этот SSH.sh в проводнике , а затем сделав на компе (под Linux естественно - с альтернативной ОС и поиском драйверов под неё трахайтесь сами) следующее:
sudo ifconfig usb0 192.168.2.1
ssh
[email protected]и нажав Enter на запрос пароля, можно войти в систему книги по SSH, что даст полный ROOT-доступ ко всему. Андроиды поймут.
Выполнив скрипт
export_firmware.sh
#!/bin/sh
partition="/dev/mmcblk0p2"
rmmod g_file_storage
rmmod g_serial
rmmod g_ether
mount -o remount,ro "$partition"||messagebox "Remount readonly failed!!!"
modprobe g_file_storage file="$partition" || messagebox "Cannot g_file_storage to $partition!" && messagebox "g_file_storage done, partition $partition"
можно открыть прошивку книги для доступа на чтение (запись тоже возможна, но не рекомендуется, сразу же после записи необходимо перезагрузить книгу). Если же прошивка всё-таки повредилась - не паникуем, просто перепрошиваемся заново с карточки.
Файл прошивки (sibrary.img) который начинается текстом boeyesibraryupdate и весит чуть больше 411 метров можно напрямую подмонтировать на чтение-запись используя команду
sudo mount -t ext3 -o loop,offset=12336194 sibrary.img /tmp/sibrary.mounted
(где /tmp/sibrary.mounted - точка монтирования, 12336194 - смещение от начала файла, индивидуально для каждой прошивки, можно рассчитать путём выполнения
bgrep 667300002456a8 sibrary.img
(где
bgrep - программа для поиска сигнатур, 667300002456a8 - сигнатура начала секции FS в файле), а затем к полученному смещению (к примеру на прошивке от Ritmix это 00b98f82) переведённому в десятичный вид прибавить 12). После размонтирования модифицированный файл можно шить.
Техническая информация из SSH на прошивке GTK
[email protected]:~# df -h
Filesystem Size Used Available Use% Mounted on
rootfs 387.4M 198.4M 168.9M 54% /
/dev/root 387.4M 198.4M 168.9M 54% /
none 61.8M 40.0k 61.7M 0% /dev
/dev/mmcblk0p2 387.4M 198.4M 168.9M 54% /media/mmcblk0p2
tmpfs 61.8M 36.0k 61.7M 0% /var/volatile
tmpfs 61.8M 0 61.8M 0% /media/ram
/dev/mmcblk0p1 3.0G 2.0G 1005.1M 67% /media/mmcblk0p1
[email protected]:~# fdisk -l;
Disk /dev/mmcblk0: 3860 MB, 3860856832 bytes
32 heads, 32 sectors/track, 7364 cylinders
Units = cylinders of 1024 * 512 = 524288 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 1 6164 3155952 83 Linux # Память книги
/dev/mmcblk0p2 6165 6964 409600 83 Linux # Прошивка
/dev/mmcblk0p3 6965 7064 51200 83 Linux # Нули
/dev/mmcblk0p4 7065 7164 51200 83 Linux # Нули
[email protected]:~# cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / ext3 rw,data=ordered 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
none /dev tmpfs rw 0 0
/dev/mmcblk0p2 /media/mmcblk0p2 ext3 rw,data=ordered 0 0
devpts /dev/pts devpts rw 0 0
tmpfs /var/volatile tmpfs rw 0 0
tmpfs /media/ram tmpfs rw 0 0
/dev/mmcblk0p1 /media/mmcblk0p1 vfat rw,fmask=0022,dmask=0022,codepage=cp936,iocharset=utf8 0 0
[email protected]:~# ps
PID Uid VSZ Stat Command
1 root 1500 S init [5]
2 root SW< [kthreadd]
3 root SW< [ksoftirqd/0]
4 root SW< [watchdog/0]
5 root SW< [events/0]
6 root SW< [khelper]
61 root SW< [kblockd/0]
64 root SW< [ksuspend_usbd]
69 root SW< [khubd]
76 root SW< [kmmcd]
102 root SW [pdflush]
103 root SW [pdflush]
104 root SW< [kswapd0]
105 root SW< [aio/0]
114 root SW< [kupdatefbd]
185 root SW< [kapmd]
203 root SW< [accel_mxc6025]
204 root SW< [accel_mma7660]
222 root SW< [boeye-kpd]
249 root SW< [mmcqd]
272 root SW< [kjournald]
319 root 1880 S < /sbin/udevd -d
523 daemon 1488 S /sbin/portmap
537 messagebus 2268 S /usr/bin/dbus-daemon --system
561 root 2736 S xinit /etc/X11/Xsession -- /usr/bin/Xfbdev :0 -br -pn -screen
[email protected] -dpi 150 -rgba vrgb
575 root 7992 S < /usr/bin/Xfbdev :0 -br -pn -screen
[email protected] -dpi 150 -rgba vrgb
582 root 6520 S matchbox-window-manager -theme Sato -use_desktop_mode decorated -use_cursor no
586 root 3064 S dbus-launch --sh-syntax --exit-with-session
587 root 2268 S /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
588 root 9352 S /usr/bin/settings-daemon -n
594 root 5200 S /usr/libexec/gconfd-2
603 root 44336 S sibrary_service
604 root 23720 S filemanager
626 root 20664 S panel
628 root 1744 S /sbin/getty 115200 s3c2410_serial3
631 root 16040 S tts_server
634 root 15920 S screensaver
823 root 2088 S /usr/sbin/dropbear -r /etc/dropbear/dropbear_rsa_host_key -p 22
833 root 2612 S /usr/sbin/dropbear -r /etc/dropbear/dropbear_rsa_host_key -p 22
834 root 3060 S -sh
864 root 4300 R ps
[email protected]:~# cat /proc/cpuinfo
Processor : ARM926EJ-S rev 5 (v5l)
BogoMIPS : 199.47
Features : swp half fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 5
Cache type : write-back
Cache clean : cp15 c7 ops
Cache lockdown : format C
Cache format : Harvard
I size : 16384
I assoc : 4
I line length : 32
I sets : 128
D size : 16384
D assoc : 4
D line length : 32
D sets : 128
Hardware : BOEYE_BD
Revision : 0000
Serial : 0000000000000000
[email protected]:~# free
total used free shared buffers
Mem: 126516 65960 60556 0 6896
Swap: 0 0 0
Total: 126516 65960 60556
[email protected]:~# dmesg
http://pastebin.com/EHnfRWDB
Программное обеспечение для книги (GTK): eView 059 - прекрасный просмотрщик манги. Умеет умно поворачивать текст, масштабировать его, листать мангу по кадрам на странице, обрезать белые и чёрные поля, помнит последний запущенный файл. Читает мангу из архивов ZIP и RAR.
Тема на форуме The-EbookЕсть встроенный файловый менеджер с возможностью копировать, перемещать и удалять файлы, а также создавать временные каталоги. Файлмен этот меня просто спас при ковырянии в поисках путей для запуска SSH.
Только для прошивок на базе GTK (Попытка портирования на прошивку QT обернулась множеством технических сложностей).
Набор игр для книги. Включает в себя шахматы, сокобан и пятнашки. Шахматы и сокобан смотрятся стрёмно, но исходников их у меня нет - поправить не могу.
ИсточникОбщаемся, обсуждаем.
Пост будет обновляться с накоплением опыта.
Реквестирую слияние тем по прошивкам что я перечислил с этой, чтобы сделать её универсальной и соединить усилия всех пользователей, а также замену ссылок в шапках обсуждения книг на эту тему.
Сообщение отредактировал vadeus - 24.06.15, 11:17Причина редактирования: правка