Меня вдохновил этот предыдущий вопрос, но я не получил вся картина. Я разрабатываю ядро и систему Android для нового устройства, основанного на коммерческой платформе набора микросхем.
Поставщик набора микросхем предоставляет мне «фиксированный заархивированный код ядра», «собственные исходные коды Android», «исходные коды модема». Все эти части связаны, например, я не могу изменить (до некоторой степени) один из элементов платформы (ядро, модем, систему), не влияя на другие части.
Это также довольно ограничивает, что будет, если потребуется более новая версия? Я не могу быть уверен, что получу для этого исходники поставщика.
Итак, вот несколько потоков, которые я сделал:
=============================================================
Рабочий процесс1: - Мне не нужна более новая версия, мне нужно устройство выпуска прямо сейчас!
1.Загрузите последнюю общедоступную версию ядра поставщика чипсета и его системы.
2.Добавить в ядро свои драйверы
3.Добавить в сборку проприетарный исходный код
4.compile -> все уже настроено
5. отладка -> немного
6. патч -> немного
7. выпуск -> быстро
8. дать обновление? -> потерпеть неудачу !? - Мне нужно новое ядро / система от производителя чипсета.
==================================================================
Рабочий процесс 2. Мне не нужен поставщик
1.Загрузите чистую систему android из google / cyanogem и тд ..
2.Добавить мои драйвера в ядро
3. Получить исправления ядра из исходников производителя чипсета.
3.Создать каталог устройства для проприетарных файлов.
4. настроить / пропатчить проприетарную для компиляции с системой -> ад
5. столкнуться с множеством ошибок низкого уровня -> ад
6. отладка / патч
7. пропустить дедлайн и быть уволенным
Есть идеи, как это на самом деле работает у основных производителей мобильных устройств?
Спасибо!