Сборка ядра Android для процессоров MediaTek

hyperion70

#include <calmness.h>
16.12.2018
142
436
120
53
github.com
Сборка ядра Android для процессоров MediaTek и всё что с этим связано
2606
| |

  1. Компьютер с установленной Unix-подобной операционной системой и настроенным окружением
  2. Исходники своего ядра (отсутствие таковых может очень сильно затруднить процесс)
  3. Ваше желание добиться результата и наличие свободного времени
  4. Наличие хотя бы минимальных знаний в программировании
(mt6580)







Модератор
В теме нет куратора. По вопросам наполнения шапки обращайтесь к модераторам через кнопку Жалоба. Если в теме есть пользователь, желающий стать куратором, просьба оставить заявку в .
 
Последнее редактирование:

zoggn

Друг форума
18.12.2018
110
234
105
Пример портирования ядра орео для mt6580, .
 
  • Спасибо
Благодарности: Bodya-Kolibass и hyperion70

hyperion70

#include <calmness.h>
16.12.2018
142
436
120
53
github.com
A andrwgldmn, похоже, что нет. Процессор устареваший, у вас на релизе был Lollipop и крайняя версия ядра 3.18.35.
Остаётся только два варианта для запуска Oreo, или использовать 3.18.35 с патчем биндера, или обновляться до 3.18.70 используя близкие исходники.
 

hyperion70

#include <calmness.h>
16.12.2018
142
436
120
53
github.com
Краткая инструкция по сборке ядра

Будем считать, что у Вас есть исходники ядра и они лежат на github, Тогда начнём:
  1. Создаём рабочую директорию и переходим в неё
    mkdir kernel-MTK && cd kernel-MTK
  2. Скачиваем исходники
    git clone https://github.com/NotKit/kernel-4.4-alps
  3. Переходим в директорию ядра и создаём папку /out
    cобирать надо в out, иначе не сможете выполнить очистку по make clean
    cd kernel-4.4-alps mkdir out
  4. Указываем архитектуру
    export ARCH=arm64 export TARGET_ARCH=arm64
  5. Указываем путь к тулчейну
    желательно указывать полный путь, а не ~/
    export CROSS_COMPILE=/home/<USER>/GCC/aarch64-linux-android-4.9/bin/aarch64-linux-android-
  6. Указываем дефконфиг
    make O=out k57pv1_dm_64_defconfig
  7. И собираем
    make O=out -j8
Минут через десять должны увидеть что то подобное
kernel.png
Собранное ядро Image.gz-dtb будет лежать по пути kernel-MTK/kernel-4.4-alps/out/arch/arm64/boot
 
Последнее редактирование:

hyperion70

#include <calmness.h>
16.12.2018
142
436
120
53
github.com
A andrwgldmn, по поводу сети, я бы на вашем месте прислушался бы к мнению @Zormax, а за образец бы взял дерево Виталия
Скорее всего, на "старых" ядрах нет необходимости использовать rilproxy, как на 4.4.х.
 
  • Спасибо
Благодарности: andrwgldmn

zoggn

Друг форума
18.12.2018
110
234
105
Немного про костыли для звука(mt6580, хотя может и другие)
Для тех у кого после починки динамика звук как из одного места(тихий или динамик репит).
Идем в sound/soc/mediatek/mt6580/mt_soc_codec_63xx.c
Там ищем что-то такое:
C:
Ana_Set_Reg(AUDTOP_CON4, 0x003C, 0xffff);
Нас интересует 0x003C. Значение этого параметра можно узнать через иду либо попробовать подобрать. Допустим у меня было 0x005C.
Может кому полезно будет.
 
  • Спасибо
Благодарности: hyperion70

ayde_f

Aydef
18.12.2018
10
12
60
ребят, а как на медиатек апстиримиться ядро, в квалке есть CAF, а с мтк как?
 

hyperion70

#include <calmness.h>
16.12.2018
142
436
120
53
github.com
Исходники ядер от Wiko
 
  • Спасибо
Благодарности: kolijn65 и andrwgldmn

andrwgldmn

rm -rf /*
22.12.2018
100
194
100
23
Киев
github.com
Устройство
iPhone SE
ядра от Neffos 3.18/4.4 6739
 
  • Спасибо
Благодарности: hyperion70

hyperion70

#include <calmness.h>
16.12.2018
142
436
120
53
github.com
Собираю LineageOS 14.1 для mt6757 (helio p25).
Дерево:
Ядро стоковое 4.4.15, стоковая версия прошивки 7.1.1. Модемы md1rom.img и md3rom.img зашиты в свои разделы.
Работает по большей части всё, но есть критический баг - сеть запускается не на всех CИМ картах. У меня на СИМ от Beeline сеть не работает, с Теле2 проблем нет.
Логкат с СИМ Beelline
Logradio с СИМ Beeline

Из того, что я вижу это: E MAL-RILP: (void *rilproxy_cmd_resp_, 602) can't open socket : rilproxy-mal (No such file or directory) Сокет на самом деле не создаётся.
По опросу модема RILJ : [3778]< SIM_IO IccIoResult sw1:0x94 sw2:0x4 Error: file ID not found/pattern not found [SUB0] а должен возвращать ID оператора. Причём, оператор определяется верно - 25099.

Любые мысли по этому поводу?
 
Последнее редактирование:

andrwgldmn

rm -rf /*
22.12.2018
100
194
100
23
Киев
github.com
Устройство
iPhone SE
ядро n0 от Sony
 
Последнее редактирование:
  • Спасибо
Благодарности: hyperion70

andrwgldmn

rm -rf /*
22.12.2018
100
194
100
23
Киев
github.com
Устройство
iPhone SE
Ремарка к ядру 4.4 от тп-линк:
если таки какой-то извращенец будет брать за основу проект для TP706A, то нужно положить папку по пути arch/arm64/boot/dts/mediatek и в файле TP706A.dts сменить <> на "" в строке с её инклюдом..