Позволю сделать лирическое отступление в сторону настройки сенсорных экранов при кастомизации прошивок.
К изучению этого вопроса сподвигло отсутствие полностью совместимой официальной прошивки к приобретенному выше E76.
.
Очень помогли бэкапы разделов NAND, сделанные непосредственно после покупки со стоковыми драйверами и конфигурациями.
В основе настроек лежат файлы script.bin и script0.bin в корне bootfs, которая располагается на nanda и тесно связана с программой u-boot .
В них прописаны основные настройки экрана и тачскрина. Для того, чтобы до них добраться, необходимо смонтировать nanda в любую директорию,
например
, после чего, их можно извлечь на компьютерКод:# mkdir /sdcard/bootfs # mount -t vfat /dev/block/nanda /sdcard/bootfs
, распаковать с помощью Кухни (при помощи специального скрипта), внести необходимые изменения, запаковать и положить обратно на nanda.Код:adb shell pull /sdcard/bootfs/script.bin . adb shell pull /sdcard/bootfs/script0.bin .
Полезно также загодя переписать выдачу команд lsmod (в предыдущем посте) и getevent
, которые содержат перечень требуемых драйверов и их зависимостей:root@android:/ # getevent
add device 1: /dev/input/event4
name: "gslx680"
add device 2: /dev/input/event3
name: "gt811"
add device 3: /dev/input/event2
name: "mxc622x"
add device 4: /dev/input/event0
name: "sun4i-keyboard"
could not get driver version for /dev/input/mice, Not a typewriter
add device 5: /dev/input/event1
name: "axp20-supplyer"
Для кастомизации прошивки, как выяснилось, необходимо не только заменить script.bin, script0,bin на nanda, и скопировать необходимые модули в /vendor/modules/ . Вдобавок надо подгрузить файлы *.idc (Input device configuration ) в директорию /system/usr/idc/ , которые соответствуют некоторым модулям, а также корректные раскладки для кнопок, в моем случае это:inet_ctp 2227 6 gslx680,pixcir_cxx,gt811,byd693x_ts,zet622x,ssd253x_ts, Live 0xbf046000
/system/usr/keylayout/axp20-supplyer.kl
/system/usr/keylayout/sun4i-keyboard.kl
, которые были взяты из бэкапа.
Также желательно использовать оригинальный /system/usr/gsensor.cfg .
Загрузку необходимых для работы модулей можно обеспечить скриптом /system/etc/install-recovery.sh,
.Код:#!/system/bin/sh export PATH="$PATH:/system/bin" insmod /system/vendor/modules/inet_ctp.ko insmod /system/vendor/modules/ssd253x-ts.ko insmod /system/vendor/modules/zet622x.ko insmod /system/vendor/modules/byd693x-ts.ko insmod /system/vendor/modules/gt82x.ko insmod /system/vendor/modules/gt811.ko insmod /system/vendor/modules/pixcir_cxx.ko insmod /system/vendor/modules/gslx680.ko insmod /system/vendor/modules/mxc622x.ko
Но, по крайней мере в прошивке с JB 4.2.2, как альтернативный вариант можно добавить команды
в начало файлаinsmod /system/vendor/inet_ctp.ko
insmod /system/vendor/modules/ssd253x-ts.ko
insmod /system/vendor/modules/zet622x.ko
insmod /system/vendor/modules/byd693x-ts.ko
insmod /system/vendor/modules/gt82x.ko
insmod /system/vendor/modules/gt811.ko
insmod /system/vendor/modules/pixcir_cxx.ko
insmod /system/vendor/modules/gslx680.ko
/system/bin/preinstall.sh
, и в дополнение создать скрипт /system/bin/setupsensors.sh
Глубокий смысл последнего подхода мне не особо понятен, возможно в целях обеспечить паузу до загрузки последнего mxc622x.ko, но тем не менее это работает.#!/system/bin/sh
export PATH="$PATH:/system/bin"
insmod /system/vendor/modules/mxc622x.ko
echo "done!"
exit 1
---------- Сообщение добавлено 21.11.2013 в 15:36 ----------
Дело теперь осталось "за малым" - собрать Андроид на собственном ядре, и подтянуть к нему пропиетарные модули, как раз в основном экрана, видеоускорителя и тачскрина.



Социальные закладки