Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 12405 сообщений
Cообщения с меткой

linux - Самое интересное в блогах

Следующие 30  »
prepdadust

Как удалить Linux

Воскресенье, 26 Сентября 2016 г. 00:39 (ссылка)

Как правило, необходимость удалить Linux возникает в случае, если пользователь переходит к использованию Windows. Этот, наиболее распространенный вариант, и будет рассмотрен подробнее. ЧИТАТЬ ДАЛЬШЕ>>>



Комментарии (0)КомментироватьВ цитатник или сообщество
mibfilowth

Как узнать mx запись

Воскресенье, 25 Сентября 2016 г. 23:09 (ссылка)

MX-записью называется информация о том, какие IP-адреса принимающих почтовых серверов соответствуют тому или иному доменному имени. Хранится эта информация на сервере доменных имен (DNS), а найти ее можно при помощи утилиты nslookup. ЧИТАТЬ ДАЛЬШЕ>>>



Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Заменяем бут-анимацию Android устройства на мелькающие логи Linux ядра

Суббота, 24 Сентября 2016 г. 20:57 (ссылка)

После разработки кастомного загрузчика для своего телефона мне захотелось реализовать вывод ядерных логов на дисплей, как это умеют делать десктопные дистрибутивы Linux. А всё потому, что лично мне при загрузке телефона намного интереснее наблюдать мелькающие kmsg логи, нежели наблюдать сначала логотип загрузчика, а затем ещё и бут-анимацию Android системы. За два года «скучные обоины» уже приелись.



Сейчас попытаюсь вкратце рассказать о модуле LLCON для Android ядра, который реализует низкоуровневый вывод kmsg логов на дисплей.



Сразу упомяну о том, что в любом Linux ядре есть модуль, который занимается выводом ядерных логов на экран. Данный механизм ядра включается при помощи указания опции FRAMEBUFFER_CONSOLE. Но данный механизм работает только через драйвер дисплея, который обычно инициализируется в самую последнюю очередь (этап late_init). Из-за этой особенности первичный логотип загрузчика будет отображаться довольно значительное время.



Слова «низкоуровневый вывод» я употребляю не спроста, т.к. модуль LLCON напрямую работает с видео-памятью (сразу вспоминаются юные поделки для MS-DOS) и при этом начинает свою работу перед инициализацией внутренних драйверов Linux ядра (early_init). Именно данные особенности и позволяют LLCON начать вывод логов ядра на экран как можно быстрее.



После добавления LLCON модуля следует в конфиг ядра добавить следующие опции:

CONFIG_VT=y

CONFIG_LLCON=y

CONFIG_FONTS=y

CONFIG_FONT_6x11=y

CONFIG_FONT_8x16=y

CONFIG_FONT_SUN12x22=y




В данном случае я указал 3 разных шрифта, т.к. в используемом мною загрузчике можно выбирать любой шрифт. Но если нужно соблюдать минимальный размер образа ядра, то следует указать только один шрифт.



Перед стартом сборки доработанного ядра не стоит забыть предварительно добавить в BoardConfig новую опцию ядра:

androidboot.llcon=,,,,,,,,,


Расшифровка параметров

  • mode:

    0 = LLCON отключён

    1 = синхронный вывод логов (постраничный скроллинг)

    2 = асинхронный вывод логов (построчный скроллинг)

  • delay:

    задержка в миллисекундах (используется в потоке, выводящем графику на экран; рекомендуемое значение 100)

  • textwrap:

    0 = перенос текста на новые строки запрещён

    1 = перенос текста на новые строки разрешён

  • fb_addr:

    физический адрес FrameBuffer

  • fb_bpp:

    формат пикселей дисплея (сейчас игнорируется)

  • fb_height:

    высота дисплея в пикселях

  • fb_width:

    ширина дисплея в пикселях

  • fb_stride:

    размер одной строки в пикселях или в байтах

  • font_size:

    размер шрифта (поддерживаемые значения: 6, 8, 10, 12)

  • font_color:

    цвет символов в HEX формате





Пример:

androidboot.llcon=2,100,0,0x03200000,24,1280,720,720,8,0xFFFFFF



Как узнать физический адрес FrameBuffer
Физический адрес FrameBuffer'а можно подсмотреть в DeviceTree собираемого ядра. Для этого ищите параметр «qcom,memblock-reserve» в ветке «qcom,mdss_fb_primary». Так же очень часто адрес FrameBuffer'а фигурирует в kmsg логах ядра.




Целиком копировать сюда исходники модуля LLCON я не стану, а только укажу ссылки на соответствующие патчи:



Так же стоит отметить, что без доработки init модуля (который находится в ramdisk'е) при инициализации подсистем андройда начнётся воспроизводиться бут-анимация. Поэтому при использовании LLCON следует автоматизировать отключение бут-анимации. Патч для отключения бут-анимации: github.com/jsr-d10/android_device_jsr_d10f/commit/bb7caeffe38e26a5d9d855d2ba3a7cb162884696



Демонстрация работы модуля LLCON:

  • LLCON 1 — постраничный режим, шрифт 6x11

  • LLCON 2 — построчный режим, шрифт 8x16
















Модуль LLCON так же имеет дополнительный функционал, который полезен для:


  • получения kmsg логов в случае экстренной перезагрузки SoC (когда даже last_kmsg не выручает);

  • отладки ядра на самых ранних этапах инициализации (когда недоступны JTAG и UART).



Но об этих возможностях LLCON я постараюсь рассказать в следующий раз.
Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/310886/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<linux - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda