kernels 3.4+ and android-x86 4.0-r1 [message #51646] |
Mon, 08 September 2014 07:29 |
|
Привет!
Ядра 3.4+ содержат все драйвера (binder и ashmem), необходимые для работы android. Однако при попытке их использования с android-x86 v4.0-r1 не удаётся с помощью мыши войти в него -- нет реакции на кнопки. Удалось выяснить причину: эта версия ожидает eventfd с clkid CLOCK_MOMOTONIC при создании (по умолчанию), а эта переменная явно никак не инициализируется и получает значение CLOCK_REALTIME (0, так как память под структуру выделяется c помощью kzalloc). После
--- linux.old/drivers/input/evdev.c 2014-09-06 23:26:52.000000000 +0400
+++ linux/drivers/input/evdev.c 2014-09-06 23:26:29.000000000 +0400
@@ -317,6 +317,7 @@
client->bufsize = bufsize;
spin_lock_init(&client->buffer_lock);
client->evdev = evdev;
+ client->clkid = CLOCK_MONOTONIC;
evdev_attach_client(evdev, client);
error = evdev_open_device(evdev);
ядра 3.4+ (в том числе и 3.10) нормально работают с android-x86 4.0-r1: показывают видео с youtube, работает google mail.
PS: video driver должен быть drm (radeon, intel, ...) -- со старыми framebuffer video в android не работает. И в файле drivers/gpu/drm/drm_fops.c в функции drm_open_helper должно быть
#ifdef CONFIG_NO_GPU_AUTHENTICATION
priv->authenticated = 1;
#else
priv->authenticated = capable(CAP_SYS_ADMIN);
#endif
(для работы android нужна опция CONFIG_NO_GPU_AUTHENTICATION)
И опция CONFIG_ANDROID_INTF_ALARM_DEV должна быть выключена. Иначе google mail не читает почту.
[Updated on: Mon, 08 September 2014 07:33] Report message to a moderator
|
|
|