среда, 30 октября 2013 г.

RK3066 TV box. Ядро и модули.

Поскольку ядро целиком не заработало, решил необходимые мне куски (HDMI Sound) собрать модулями. Повозиться пришлось - сначала системе не нравился version magic, а ключика -f в андроидном insmod нетути. Это победилось довольно легко, но далее модуль выдал ошибку:
ismod:  unknown relocation: 27
Что в свою очередь вылечилось дописыванием флагов компиляции:
CFLAGS_MODULE=-fno-pic
После этих манипуляций модули встраиваются нормально:
shell@android:/ # lsmod
...
snd_soc_rockchip_hdmi 1483 0 - Live 0x00000000
snd_soc_hdmi 1798 0 - Live 0x00000000
...
Правда, дополнительные аудиоустройства в SounDeviceManager так и не увиделись.

среда, 23 октября 2013 г.

RK3066 TV box. boot.img

Проверив в самом начале разборку-сборку boot.img, я как-то упустил из виду то, каким конкретно mkbootimg я это делал. И очень зря - для rk30xx он очень свой - умеет поддерживать pagesize в 16К и по дефолту использует именно этот размер. Любые другие варианты приводили к тому, что после прошивки образа при загрузке ядра и рамдиска вылазило сообщение "Load Failed" и коробка попадала в рекавери-мод.
Тут лежит правильный, для linux x86_64
Теперь самосборное ядро начало грузиться. Правда пока получаю облом и bootloop в самом начале:
[    0.613863] Unable to handle kernel NULL pointer dereference at virtual address 00000019
[    0.621946] pgd = c0404000
[    0.624649] [00000019] *pgd=00000000
[    0.628233] Internal error: Oops: 5 [#1] PREEMPT SMP
[    0.633195] CPU: 0    Not tainted  (3.0.8+ #1)
[    0.637645] PC is at regulator_set_voltage+0x8/0xf8
[    0.642523] LR is at tps65910_post_init+0x418/0x4f8
[    0.647399] pc : []    lr : []    psr: 60000013
Это на ядре от Debian, а следующее - на ядре от mk808:
[    1.390746] Unable to handle kernel paging request at virtual address f700f000
[    1.656040] pgd = c0404000
[    1.658745] [f700f000] *pgd=8fc2c811, *pte=00000000, *ppte=00000000
[    1.665054] Internal error: Oops: 807 [#1] PREEMPT SMP
[    1.670191] CPU: 0    Not tainted  (3.0.36+ #3)
[    1.674731] PC is at cfb_imageblit+0x128/0x4e8
[    1.679172] LR is at fb_show_logo+0x304/0x880
[    1.683525] pc : []    lr : []    psr: 60000013
  

понедельник, 21 октября 2013 г.

Windows 8.1 отсутствует в Store

По этой проблеме нашел на просторах инета решение:

Для тех у кого не появился пункт установки обновления 8.1. Попробуйте выполнить следующие пункты:
1. Закройте полностью Магазин (Завершите в процессах).
2. Откройте диалог Выполнить (Win+R)
3. В поле введите WSReset.exe и выполните (ОК).
4. Выполните перезагрузку.
5. Попробуйте снова отктрыть Магазин и найти обновление.

Все сработало, п.4 - важен.

вторник, 15 октября 2013 г.

Лирика

олег за всё берётся смело
всё превращается в говно
а если за говно берётся
то просто тратит меньше сил
yapavlik

урок труда антон без входа
скворечник дятлу сколотил
пробьётся сам сказал и мельком
взглянул на дарвина портрет
the axy

RK3066 TV box. Тонкости прошивки update.img

Во время работ по "подпиливанию" прошивок для устройства столкнулся с небольшой проблемой: после каких-то определеннйх изменений очередной подготовленный update.img воспринимался девайсом "в штыки", со словами
 
Invalid firmware image!
Found a invalid firmware image file '/sdcard/update.img'.
Would you like to delete it?

Yes/No
 
В тоже время тот же образ легко прошивался в recovery-mode, т.е. образ был вполне пригоден. Начал вспоминать, что менял. А менял довольно многое. Подумалось, что здесь играют роль какие-то свойства самой прошивки, а не того, что у нее внутри. Поискал в интернете. Русскоязычный - порадовал богатством ответов типа "а вас предупреждали, что шится на кастом можно только через USB" или что-то типа того, вплоть до перехода на личности (а что делать мне, если нету у меня в девайсе USB OTG!?), но ни одного толкового, в котором бы упоминалось почему это происходит. Впрочем, это не удивительно - основная масса отечественных "клепателей прошивок" не любят читать мануалы, а те немногие, которые их читают - не спешат раскрывать свои знания. Что вполне логично.
Вцелом, было стойкое подозрение, что данная проблема как-то связана с несоответствием пропертей загруженного андроида и прошивки. В прошивку вкладывается файл parameter, в котором, среди прочего есть параметры

MACHINE_MODEL
MANUFACTURER

Был предпринят "grep -i model system/build.prop" и "grep -i manufacturer system/build.prop", первый выдал результат. Для пущести, гуглу был дан новый запрос, с указанием MACHINE_MODEL, который подтвердил мои подозрения:

rockchip's recovery program compares model name in update.img(machine_model in HWDEF) and running system(ro.product.model). if they are different, you'll get error.
отсюда.

Проверил - всё именно так: если параметр "ro.product.model" совпадает с MACHINE_MODEL из parameter, указанных при сборке имиджа - прошивка не считается инвалидной.