Установка разблокированного bootloader'a, TWRP custom recovery и прошивка телефона LG L90 D405 (D410)

В этой статье я просуммирую всё, что я проделал с телефоном – может кому (или даже мне в будущем) пригодится.
Итак, предыстория. Смартфоны LG L90 D405 (D410) продавались с Android 4.4 KitKat на борту. Затем вышло официальное обновление с 5.0.1 Lollipop. Я им пользовался какое-то время, пока мне не стало казаться, что телефон н аэтой прошивке тормозит. Я сбросил телефон на заводские – стало чуть лучше, но не намного. Недавно узнал, что есть неофициальные прошивки с Дроидом 6 и даже 7. Их несколько и прочитать о них можно тут (на английском):

  1. Resurrection Remix
  2. Android Ice Cold Project 12.1
  3. LineageOS 14.1

Я почитал форумы и мне показалось, что LineageOS 14.1 самая беспроблемная прошивка и выбор пал на неё. В принципе, вы можете установить какую угодно описанным ниже способом.
Мы имеем телефон со стоковой прошивкой, для начала скачиваем необходимые файлы из интернета или я собрал все в кучу здесь.
Рекомендуется перед началом сделать бекап всех важных данных смартфона. Также нужно зарядить смарт до 100% и желательно подключить к зарядному устройству.

Установка разблокированного загрузчика.

Необходимо установить разлоченный загрузчик, без него в кастомное рекавери (TWRP или CWM) вы не сможете загрузиться. Будет ошибка сертификата “error: boot certification verify”  при попытке зайти в рекавери.
Для проведения всех манипуляций нужно получить рут на смартфоне с помощью программы KingRoot. У меня уже был получен, скачать программу и узнать как ею пользоваться (т е нажать на одну кнопку 🙂 ) можно тут.
Continue reading Установка разблокированного bootloader'a, TWRP custom recovery и прошивка телефона LG L90 D405 (D410)

Linux. Распределение прерываний

Посмотреть распределение прерываний по ядрам в ОС Linux можно командой:
cat /proc/interrupts
Вы должны увидеть нечто следующее:

Где:

  • Первый столбец — номер прерывания
  • CPU0 .. CPUx — счетчик обработанных прерываний по процессорным ядрам
  • PCI-MSI-edge — тип прерывания
  • Последний столбец — название устройства

Как видите, все прерывания по-умолчанию обрабатываются ядром 0. Что не всегда хорошо.
Перенести обработку прерываний на другие ядра можно как в примерах ниже:
# CPU0
echo 1 >/proc/irq/45/smp_affinity
echo 1 >/proc/irq/46/smp_affinity
echo 1 >/proc/irq/47/smp_affinity
# CPU1
echo 2 >/proc/irq/48/smp_affinity
echo 2 >/proc/irq/49/smp_affinity
# CPU2
echo 4 >/proc/irq/50/smp_affinity
echo 4 >/proc/irq/51/smp_affinity
# CPU3
echo 8 >/proc/irq/52/smp_affinity
echo 8 >/proc/irq/53/smp_affinity
Где цифра после echo определяет маску для используемых ядер. Например, использовать только ядро 0 это будет выглядеть 00000001 в двоичной системе исчисления. Ядро 2 – 00000100. 0 и 2 соответственно 00000101, что соответствует 5 в десятичной системе.
Этот метод действует до перезагрузки. Чтобы сохранить настройки и после перезагрузки просто добавляем эти команды в файл /etc/rc.local – это скрипт, автоматически выполняющий своё содержимое при загрузке ОС.
Источники:

  1. https://cesbo.com/ru/linux/interrupts/