Исходники ядра android где взять

Исходники ядра android где взять

Этот материал не претендует на абсолютную истину, может быть, что-то можно сделать проще и быстрее. Автор как знает, так и делает. Кроме того он не является большим экспертом в области nix-систем. Всё, что написано ниже, найдено на просторах интернета, в большинстве своём на не русскоязычных форумах, систематизировано и изложено на родном для автора языке — русском.

Коллеги, не задавайте мне вопросы по данной теме в личку, уже несколько лет как я забросил Android и не интересуюсь развитием ядер, как впрочем и самого Android-a.

Сообщение отредактировал PaWill — 08.03.16, 14:54

Часть 1. Необходимые инструменты и исходники

Для компиляции ядра нам потребуется nix-подобная операционная система. Я использовал Ubuntu 10.04 LTS — Long-term support 32-bit, которую установил на виртуальную машину VMware Workstation. Где всё это добро скачать/купить, как установить мы здесь обсуждать не будем. Если вы это не смогли сделать самостоятельно или с помощью гугла, то читать эту статью для вас ещё рано (или уже поздно). 🙂
И так, у нас всё установлено и работает. Теперь проверим все ли необходимые компоненты присутствуют в системе, возможно какие то пакеты придётся доустановить.
Запускаем терминал:

В терминале вводим следующую команду [1]:

Судя по последней строке у меня все пакеты на месте:

У вас, вероятней всего, не будет важного пакета — sun-java6-jdk on Ubuntu 10.04 (Lucid). Для его автоматической загрузки нужно в адреса репозитория добавить дополнительные ссылки. Введите в терминале:

После того как всё скачается и установится опять команда [1] пока не будет ошибок. Будем считать что с Ubuntu покончили.

Теперь нам потребуются собственно сами исходники ядра. Их можно найти на http://opensource.samsung.com/. В строке поиска вводим «I9000» и получаем:

Нас интересует JPX GT-I9000_OpenSource_Froyo_update2.zip (211 МБ), делаем как на скрине и жмём «Continue».

Ещё нам потребуется кросс-компилятор, которым будем собирать ядро:
http://www.codesourcery.com/sgpp/lite/arm/. nux-gnu.tar.bz2 (80 МБ)

И последнее что потребуется — это initramfs.cpio. Я выдрал его из JS8. Как это сделать расскажу как-нибудь отдельно.
JS8_initramfs.tar ( 2.64 МБ )

Пока всё, продолжение следует.

Сообщение отредактировал PaWill — 19.03.11, 19:38

Часть 2. Распаковка исходников

Всё что вы скачали будет находится в каталоге /home/имя_пользователя/Загрузки. У меня этот путь выглядит как:

Источник

Сборка ядра для Android-устройств на примере Solid Kernel для LG e975

Подготовка

Что нам потребуется
  • 64 битная система Linux (я использую Ubuntu 14.04)
  • Рутованый телефон/планшет/иной девайс на Android’е с процессором QUALCOMM
Подготовка системы

Установим необходимые пакеты. Набирем в терминале:

Нажимаем Enter и пишем далее:

Качаем исходники

Идем на GitHub и скачиваем исходники (исходники для каждого девайса разные, поэтому ссылок давать не буду) архивом (в правой части экрана должна находиться кнопочка «Download ZIP»). Распаковываем архив в любое удобное место (у меня это папка /home/system-exe/Solid).

Качаем тулчейн. Переходим по ссылке, отмечаем галочкой нужный тулчейн (для меня это cortex-a15, зависит от ядер процессора) и нажимаем «скачать». Распаковываем скачанный архив в папку /home/%USERNAME%/Toolchain/Linaro-4.9.3 (вместо %USERNAME% подставляем имя учетки).

Выдираем файл конфигурации из девайса

Идем по пути /proc (на телефоне) и копируем файл config.gz на комп, распаковываем и получаем файл config, которые переименовываем по шаблону %устройство%_defconfig (у меня это e975_defconfig). Кладем получившийся файл по пути /home/%USERNAME%/Solid/arch/arm/configs

С подготовкой окончили.

Сборка ядра

Заходим в терминал и набираем команду:

(таким образом мы перешли в папку с нашими исходниками)

(у меня надо так: make e975_defconfig)

После завершения пишем:

(здесь правим нужные значения конфигурации. Тут все предельно просто, думаю разберетесь.)

После завершения начинаем сборку:

Параметр -j8 нужен только если у вас многоядерный процессор. Цифра 8 определяет количество ядер(потоков, в случае с Intel i3, i5, i7 процессорами). К примеру у меня — Intel i7, он четырехядерный, но поддерживает два потока на каждое ядро, поэтому 2 * 4 = 8.

В конце должна появиться надпись «zImage is ready».

Идем по пути /home/%USERNAME%/Solid/arch/arm/boot и видим там наше ядро — zImage.

Тестирование

Теперь нам осталось заставить работать этот самый zImage на нашем устройстве.

А вот теперь трижды подумайте надо ли вам это? Уверены ли вы в своих силах и в том, что правильно собрали ядро?

Подумали? Уверены? Точно уверены? Тогда продолжаем.

Извлекаем boot.img из нашего девайса. Набираем в терминале на телефоне:

Вместо… подставляем путь до папки by-name (у меня надо подставить msm_sdcc.1).

Переносим boot.img, который лежит на карте памяти, на комп. Распаковываем его (в интернете есть множество описаний распаковки и запаковки boot.img), меняем оригинальный zImage на наш и собираем boot.img.

Закидываем наш собранный образ на карту памяти под именем new_boot.img
В терминале набираем:

Вместо… подставляем путь до папки by-name (у меня надо подставить msm_sdcc.1).

Перезагружаем девайс. Если телефон загрузился, то все сделано правильно, если — нет, то читаем инструкцию внимательней и пробуем снова.

Для отката в случае неудачи используем наш оригинальный boot.img, который надо было оставить на карте памяти. Для отката в терминале набираем:

Вместо… подставляем путь до папки by-name (у меня надо подставить msm_sdcc.1).

Источник

Исходники ядра android.

Всем привет. Год назад прикупил девайс «MTC Smart Sprint 4G». Понимаю, отстой, но тогда он работал на android 5.1, и это было моей мечтой. Да и не дорогой он был. Так вот, мне нужны исходники ядра для новых прошивок. Писать в МТС не стал, ибо бюрократия. Написал сразу производителю телефона(на телефоне было написано), неким Haier Electical Appliances.co.ltd. Так вот, какой-то левый адрес с циферками и рандомными буквами. Написал им, чтобы дали мне исходники ядра и дал ссылку на девайс в гугле. Да я тупой. Если не ответят напишу правильно. Есть способы добычи ядра без исходников и просто добыча исходников из ядра?

и просто добыча исходников из ядра

Есть. Например, устроиться к ним на работу.

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

не ответят.
вся бизнес-модель производства ARM устройств зиждется на вот этом вот сетевом маркетинге одноразовых устройств.

Можно собрать самому, компания тебе сорцы не даст. Смотри сюда https://4pda.ru/forum/index.php?showtopic=794246

Ну и все такое в этом духе.

Ну так загугли. Может на каких-нибудь 4п*д**а выложили. Если нет, то забей и больше не покупай говно на медиатеке.

Mtk пиши — они дадут.

Написал им, чтобы дали мне исходники ядра и дал ссылку на девайс в гугле. Да я тупой

На каком языке написал?

Сам исхи собрал на основе другого девиса.

Посмотри в профильной теме по прошивке твоего девайса на форуме 4pda.

зачем?

Я дал ссылку прямо на тему прошивок его девайса. Там все есть

исходники ядра сами по себе не имеют смысла, важны модули (камера, Wi-Fi, видео декодеры), зачастую проприетарные. Всегда проще вытянуть готовое ядро, чем самому собирать (вообще непонятно зачем).

На http://www.wikogeek.com/ качаются исходники ядра и андроида

там по моей ссылки кастомные ядра, в чем проблема взять из них все что надо?

Источник

Исходники ядра android где взять

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

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

Работоспособность магнитометра
Клонирование проекта
Про сборку 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 & schedulers
Немного по ошибкам сборки
Сборка AOSP с busybox
Компиляция Android 6.0 под Windows в оболчке bash
Перенос стокового dtb на примере mtk67xx
Добавляем поддержку OTA в свою прошивку
Как прикрутить cameracustom от сток 6 на ноугат
Инструкция по восстановлению прошивки тачскрина Synaptics
Инструкция по поднятию тачскринов

В теме нет куратора. Если в теме есть пользователь, желающий стать Куратором и соответствующий Требованиям для кандидатов, он может подать заявку в теме Хочу стать Куратором (предварительно изучив шапку темы и все материалы для кураторов).
До назначения куратора, по вопросам наполнения шапки, обращайтесь к модераторам раздела через кнопку под сообщениями, на которые необходимо добавить ссылки.

Сообщение отредактировал derak1129 — 05.08.21, 06:03

Я пока кроме патча биндера не могу ничего сказать 😉 Но патч биндера все знающие видели. Это под СМ11 я так понимаю только. Если посмотреть просто на прошивки от 4.4 видно что там модули не собираются. Соответственно вопросы возникают. Исходники нет нет да появляются под 4.4. Вопрос: Кто то еще пытался совместить исхи 4.2 под 4.4 ?

Сообщение отредактировал Cheshkin — 25.06.14, 14:15

Собственно, для чего создавалась эта тема:
В сети уже есть в открытом доступе исходники Android 4.4 от mediatek c ядром версии 3.4.67 Я встречал их по крайней мере на три платформы — 6582, 6592 и новая, еще не вышедшая в свет платформа 6571. Вот (кликабельно) одно из хранилищ на котором их можно найти.
Большинство аппаратов на платформе Mediatek имеют версию ядра 3.4.5 адаптированную под JB 4.2.2 и на многие аппараты уже есть предоставленные производителем либо собранные умельцами исходники соответственно версии 3.4.5. Так вот, в первую очередь интересует перенос своих драйверов в дерево исходников версии 3.4.67 и сборка рабочего ядра с последующим запуском Android KitKat. Во вторую очередь — портирование между платформами, то есть при имеющихся исходниках версии 3.4.67 от mt6582 и исходниках mt6589 версии 3.4.5 собрать ядро версии 3.4.67 для mt6589

Как это сделать (Мое мнение, на правильность не претендую) Перенести папки /mediatek/custom/mtxxxx, /mediatek/custom/проект, mediatek/config/mtxxxx, /mediatek/config/проект и /mediatek/platform/mtxxxx из исходников своего аппарата в исходники из которых будем собирать новое ядро, исправить все ошибки возникающие при компиляции и запустить ядро на телефоне.
Собранное мной по такому алгоритму ядро запускаться категорически отказалось, теперь надеюсь решить вопрос коллегиально.

Я так понимаю это есть как раз сборка ядра вместе с рам диском ?. Но это можно пока упустить. Рам диск это отдельная история

именно так и планировал начинать перенос исхов. Сегодня будет первая попытка.
вопрос:
Очень важным являются настройки видеоускорителя. У меня он

. Без его правильного переноса прошивка не стартанет. Ессно как его из проекта правильно перенести ?

Сообщение отредактировал Cheshkin — 26.06.14, 07:39

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

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

А пока, будьте добры: если вы хотите получить адекватный ответ на ваш вопрос, то формулируйте его соответственно.
Например: устройство + платформа + версия ядра / андроид + описание проблемы + действия которые к ней привели (изменение конфигурации, изменение в исходниках, лог терминала и/или logcat) + ой, нечаянно удалил + ой, а не помню что.

Источник

Читайте также:  Смешные голоса для андроид
Оцените статью