Я пытаюсь использовать устройство с установленным Nexus 5 (набор микросхем MSM 8974) с Debian, работающим с X-сервером и консолью загрузки linux framebuffer. Я перекомпилировал ядро-молот Android по умолчанию (с CONFIG_FB_MSM_MDSS=y
и CONFIG_FB_MSM=y
и включил опции для консоли кадрового буфера (назначить первичному отображению и использовать скомпилированные в шрифтах). Используя это ядро, я могу успешно загрузить Android с помощью fastboot boot -c "console=tty0,115200 fbcon=font:VGA8x8" kernel-fbcon.img
, однако во время загрузки отсутствует консоль кадрового буфера, только логотип Google с последующей анимацией загрузки.
Я проверил, остановив фреймворк Android (stop
) и используя корневую оболочку через ADB, чтобы попробовать разные вещи в буфере кадров (/dev/graphics/fb0
).
# cat /dev/urandom > /dev/graphics/fb0 # does not affect the screen
cat: write error: No space left on device
Использование con2fbmap 1 0
при включенном экране не имеет никакого эффекта, и оно не изменяет отображение и не отображает какой-либо текст, который находится на консоли tty0. Я также попытался запустить Xorg на дисплее с помощью команды FRAMEBUFFER=/dev/graphics/fb0 Xorg vt1
, которая работает и завершается как обычно, без ошибок, однако на экране не отображается ничего, кроме очень короткой вспышки того, что было отображено на экране последний раз, когда X заканчивается (Ctrl + C в оболочке). Xorg настроен на использование драйвера fbdev по умолчанию.
Я подозреваю, что эти проблемы вызваны нестандартной реализацией устройства кадрового буфера MSM (для Nexus это находится в kernel_source/drivers/video/msm/mdss/mdss_fb.c). Многие новые устройства Android имеют эту проблему, поскольку устройства с кадровым буфером не работают должным образом.
Я хотел бы знать, возможно ли изменить драйвер кадрового буфера или настроить ядро так, чтобы при загрузке устройства оно отображало консоль загрузки на кадровом буфере.
Спасибо всем, кто может помочь.
РЕДАКТИРОВАТЬ: Эта проблема кажется очень специфичным для Nexus 5. Другие устройства из серии Google Nexus, похоже, не имеют проблем с графикой кадрового буфера и загрузочными консолями.