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



Реп: (227)
Сборка ядра Android для процессоров MTK

Разработка ядер и прошивок для устройств на платформе MTK » | Самостоятельная компиляция ядра из исходников » | Инструкция по сборке ANDROID из исходников. » | Сборка TWRP для платформы Qualcomm »

Правила темы
  • В этой теме обсуждается портирование конфигов и драйверов своего аппарата MTxxxx в ядро последней версии.
  • В этой теме не обсуждаются вопросы не относящиеся непосредственно к данной теме(настройка рабочего окружения, поиск драйверов для своего аппарата, вопросы вроде "Что значит Undeclared function?" и так далее, то есть тема создана для людей уже умеющих хотя бы собрать ядро из готовых исходников и разобраться c простыми ошибками при компиляции)
  • В этой теме не стол заказов - здесь Вам помогут советом, но основную работу Вам придется делать самим.


Важно
Убедительная просьба не выкладывать исходники, мануалы и т.п. на другие ресурсы без согласования с пользователем, который выложил их на форум. В случае если вы получили согласие, и исходники уже потеряли актуальность, то желательно выкинуть вендорные правки и конфиги.
Часто задаваемые вопросы
В: Могу ли я собрать ядро если производитель не выложил исходники для моего девайса?
O: Ответ на ваш вопрос неоднократно обсуждался, например "Сборка ядра не имея исходников", вы сможете собрать ядро, но придется приложить больше усилий.

В: Слышал, что в данной ветке присутствуют телепаты, гадалки, медиумы и ясновидцы, которые могут дать полный и адекватный ответ на не полностью сформулированный вопрос?
O: Эх, к нашему большому сожалению, все вышеперечисленные товарищи ушли на ТНТ и ТВ3. И мы, как и вы, тоже будем надеяться на их скорейшее возвращение в ряды пользователей нашего форума...
А пока, будьте добры: если вы хотите получить адекватный ответ на ваш вопрос, то формулируйте его соответственно.
Например: устройство + платформа + версия ядра / андроид + описание проблемы + действия которые к ней привели (изменение конфигурации, изменение в исходниках, лог терминала и/или logcat) + ой, нечаянно удалил + ой, а не помню что...


Результаты предыдущих опросов
02.03.2016
Прикрепленное изображение

08.08.2016
Прикрепленное изображение

21.10.2016
Прикрепленное изображение

Исходники MTK Android 4.2
Исходники MTK Android 4.4
Исходники MTK Android 5.x
Исходники MTK Android 6.x

Исходники MTK Android 7.x
Исходники MTK Android 8.x
Исходники MTK Android 9.x
Исходники MTK Android 10
Исходники MTK Android 11
Полезное из обсуждений.
Инструкции
Работоспособность магнитометра
Клонирование проекта
Про сборку 9-10 для проца mt6735p (ну и видимо mt6735m)
Добавляем поддержку aptX кодека в ALPS
Сборка модулей вместе с ядром без альпсов. Инструкция для 8.1 mt6580 (версия ядра 3.18.79)
Гайд, для тех кто хочет достать прошивку тача GSLXXXX
Инструкция по сборке ядра Android (лучшая на 4pda) | или скачать Прикрепленный файлKernel_building.docx.zip ( 90.32 КБ )
Мануал по сборке ядра.
Сборка отдельного модуля / либа / бина.
Пояснения к сборке Андроид 5.х
Инструкция по сборке ядра без использования ПК
Игнорирование ошибок сборки
Мануал по портированию исходного кода ядра 4.2.х -> 4.4.x |
Работа кнопки гарнитуры platform/../../drivers/accdet
Отключение Encryption в Андроид 5.х
Инструкция по добавлению governors & shedulers
Немного по ошибкам сборки
Сборка AOSP с busybox
Компиляция Android 6.0 под Windows в оболчке bash
Перенос стокового dtb на примере mtk67xx
Добавляем поддержку OTA в свою прошивку
Как прикрутить cameracustom от сток 6 на ноугат
Инструкция по восстановлению прошивки тачскрина Synaptics
Инструкция по поднятию тачскринов

Кодген и GPIO
Драйверы
Логирование
IDA
Модем
Утилиты и скрипты
Патчи ядра
GitHub
Прочее
Инструменты разработчика


Куратор темы Leo1703, по вопросам актуализации и обновления шапки обращаться в QMS.

Сообщение отредактировал Leo1703 - 27.03.24, 22:12
Причина редактирования: Изменение оформления шапки



Реп: (1694)
* Cheshkin,
стоп. а ты чего делаешь с моими исхами в 64х битке: system/lib64/libsurfaceflinger.so
вообще то СМ под 32х

Добавлено 28.10.2015, 21:07:

* assusdan,
стоковая проша 32х битка, нету на мой 64х битки.
в стоковом ядре кернел весит 6,5 примерно мег
я еще сам даже не начинал возни со сборкой, ибо сорцов ядра оригинальных нет, пока тока морально готовлюсь к битве )))



Реп: (657)
* Zormax,
) не не . ) с твоим ничего не делаю. Анализирую просто. я 64 бита собираю.



Реп: (1694)
* Cheshkin,
чем пакуешь и распаковываешь boot.img, ответь по верхним вопросам на эту тему



Реп: (657)
Zormax @ 28.10.2015, 22:34 *
чем пакуешь и распаковываешь boot.img

карлив китчен. им только им. а еще есть Скрипт для распаковки прошивок Android 5.х.x - 6.x
куратора прошу добавить в шапку. вторым способом только распаковывал.

Сообщение отредактировал hyperion70 - 28.10.15, 22:29
Причина редактирования: В шапке



Реп: (1694)
* Cheshkin,
т.е. мне в будущем смело можно распаковать стоковое от 32х битной Оси, засунуть туда kernel-dtb и переименовать файл в: boot.img-kernel, да?



Реп: (657)
Zormax @ 28.10.2015, 22:55 *
засунуть туда kernel-dtb и переименовать файл в: boot.img-kernel, да?

я пробовал. не рабочее ядро на выходе у меня получалось.
я вот это засовывал и получал не рабочее ядро
file:///media/che/Sourche/Working_folder/cm12.1/out/target/product/aio_otfp/obj/KERNEL_OBJ/arch/arm64/boot/Image.gz-dtb
обрати внимание
# the ramdisk
INTERNAL_RAMDISK_FILES := $(filter $(TARGET_ROOT_OUT)/%, \
$(ALL_PREBUILT) \
$(ALL_COPIED_HEADERS) \
$(ALL_GENERATED_SOURCES) \
$(ALL_DEFAULT_INSTALLED_MODULES))

BUILT_RAMDISK_TARGET := $(PRODUCT_OUT)/ramdisk.img

# We just build this directly to the install location.
INSTALLED_RAMDISK_TARGET := $(BUILT_RAMDISK_TARGET)
$(INSTALLED_RAMDISK_TARGET): $(MKBOOTFS) $(INTERNAL_RAMDISK_FILES) | $(MINIGZIP) $(HOST_OUT_EXECUTABLES)/mkimage
$(call pretty,"Target ram disk: $@")
ifeq ($(MTK_HEADER_SUPPORT),yes)
$(hide) $(MKBOOTFS) $(TARGET_ROOT_OUT) | $(MINIGZIP) > $@_raw
$(hide) $(HOST_OUT_EXECUTABLES)/mkimage $@_raw ROOTFS 0xffffffff > $@
else
$(hide) $(MKBOOTFS) $(TARGET_ROOT_OUT) | $(MINIGZIP) > $@
endif

завел cm12.1 но он очень сильно тормозит. изображение очень сильно фризит.
кто знает что нужно править ?
Приложение передача по BT постоянно крашится. В лигах идёт обращение к libbt-vendor.so
На 6752 нет такой либы.

Сообщение отредактировал Cheshkin - 29.10.15, 06:21



Реп: (0)
да.. нафлудили одну страницу, но решение как паковать и что паковать изложенного по полочкам, так и не появилось, сложно как то читать неописанные мысли :-)



Реп: (2195)
Roboks @ 29.10.2015, 07:44 *
но решение как паковать и что паковать изложенного по полочкам, так и не появилось

Так напишите свой вариант с полочками, никто не запрещает.
Тем более, на форуме все равны.



Реп: (0)
я не понял, и просил разложить. вижу чем распаковывать, но спросили про подмену, ответа так и не было. можно каждый раз конечно собирать командой bootimage, но хотелось бы еще и более быстрый способ подмены кернела.



Реп: (841)
* Roboks,
Я подменяю ядро через AndImgTool.
Да и не только ядро, но и все остальное.

Сообщение отредактировал acdev - 29.10.15, 08:43



Реп: (0)
я про arm64, где на выходе нифига не zImage

Сообщение отредактировал Roboks - 29.10.15, 09:06



Реп: (657)
* Roboks,
Счего то вдруг такая уверенность. ? Он есть на выходе. Смотрите внимательней.



Реп: (226)
Есть умельцы, кто циан собирал под mt6580?



Реп: (530)
Ошибка:
this
/home/FX-Mod/aeon/kernel-3.10/drivers/misc/mediatek/lcm/mt65xx_lcm_list.c:32:53: error: size of array 'assertion_failed_at_line_35' is negative
#define LCM_COMPILE_ASSERT_XX(condition, line) char assertion_failed_at_line_##line[(condition)?1:-1]

Как исправить?

Сообщение отредактировал fx-mod - 30.10.15, 14:48



Реп: (60)
fx-mod
2 варианта:
1) поставь костыль - убери минус
#define LCM_COMPILE_ASSERT_XX(condition, line) char assertion_failed_at_line_##line[(condition)?1:1]

Ошибка появляется из-за того что в конфиге указан только один LCM драйвер.
2) Добавить в конфиг второй LCM
CONFIG_CUSTOM_KERNEL_LCM="1LCM 2LCM"



Реп: (1784)
croc2008 @ 30.10.2015, 17:59 *
Ошибка появляется из-за того что в конфиге указан только один LCM драйвер.
2) Добавить в конфиг второй LCM

Чушь. Есть куча девайсов с 1 lcm в ядре. Просто в mt65xx_lcm_list.c не до конца прописан драйвер дисплея



Реп: (0)
fx-mod это матчасть для тебя... Люди тебе помогут тут



Реп: (530)
croc2008 @ 30.10.2015, 14:59 *
#define LCM_COMPILE_ASSERT_XX(condition, line) char assertion_failed_at_line_##line[(condition)?1:1]

Теперь ошибки нет, но ядро не собирается. Ошибок нет
this
/home/FX-Mod/aeon/kernel-3.10/scripts/Makefile.build:455: ошибка выполнения рецепта для цели «drivers/misc/mediatek»
make[4]: *** [drivers/misc/mediatek] Ошибка 2
/home/FX-Mod/aeon/kernel-3.10/scripts/Makefile.build:455: ошибка выполнения рецепта для цели «drivers/misc»
make[3]: *** [drivers/misc] Ошибка 2
/home/FX-Mod/aeon/kernel-3.10/Makefile:814: ошибка выполнения рецепта для цели «drivers»
make[2]: *** [drivers] Ошибка 2
make[2]: *** Ожидание завершения заданий…

лог


Сообщение отредактировал fx-mod - 30.10.15, 15:22



Реп: (60)
В споре рождается истина. Приводите конкретные решения и не бросайтесь словами.

Я не программист, я только учусь.
more portable compile-time assert()

Сообщение отредактировал croc2008 - 30.10.15, 17:19



Реп: (1784)
* croc2008,Буквально позавчера собирал загрузчики для Xperia C. И там как раз 1 LCM. Все собралось без ошибок, т.к. был правильно добавлен LCM в mt65xx_lcm_list.c
extern LCM_DRIVER hx8389b_qhd_dsi_vdo_byd_lcm_drv;

И
#if defined(HX8389B_QHD_DSI_VDO_BYD)
&hx8389b_qhd_dsi_vdo_byd_lcm_drv,
#endif


Добавлено 30.10.2015, 18:02:

fx-mod @ 30.10.2015, 18:15 *
Теперь ошибки нет,

Есть
make[7]: *** Нет правила для сборки цели «/home/FX-Mod/aeon/kernel-3.10/drivers/misc/mediatek/lcm/ili9806e_dsi_vdo/Makefile». Останов.

Мейкфайлы проверяй

Куратор: Leo1703

Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 29.03.24, 12:29