Запрос «miui исходный код» обычно возникает у пользователей, которые хотят собрать кастомную прошивку, проверить безопасность системы или понять, почему Xiaomi задерживает публикацию kernel source для конкретной модели. Короткий ответ: полный исходный код MIUI закрыт, открыта только часть компонентов — прежде всего ядро Linux, которое Xiaomi обязана публиковать по лицензии GPL.
Разберёмся детально, какие части системы доступны разработчикам, где их искать, чем отличается ситуация с MIUI и HyperOS, и что реально можно сделать с опубликованными исходниками — от сборки ядра до портирования кастомных прошивок.
Открыт ли исходный код MIUI
MIUI — это проприетарная оболочка, построенная поверх Android. Сама система Android распространяется через проект AOSP (Android Open Source Project) под открытой лицензией, однако все фирменные надстройки Xiaomi — интерфейс, системные приложения, фирменные сервисы — являются закрытым кодом.
Это означает, что скачать «исходный код MIUI целиком» невозможно: компания его не публикует и не обязана этого делать. Открытыми остаются только те компоненты, которые подпадают под требования copyleft-лицензий.
- 🔓 Ядро Linux — обязательно к публикации по лицензии GPLv2.
- 🔓 Компоненты AOSP — открыты изначально, но это код Google, а не Xiaomi.
- 🔒 Системные приложения MIUI (Звонилка, Сообщения, Настройки, Mi Home) — закрыты.
- 🔒 Фирменные сервисы (Mi Cloud, фреймворк уведомлений, оптимизации) — закрыты.
Что такое kernel source и зачем он нужен
Под «исходным кодом MIUI» на практике чаще всего подразумевают именно исходники ядра (kernel source) для конкретной модели смартфона. Ядро — это прослойка между железом и системой, и его код необходим разработчикам кастомных прошивок.
Из опубликованного ядра и device tree энтузиасты собирают неофициальные сборки LineageOS, Pixel Experience и других кастомов. Без корректных исходников ядра портирование превращается в подбор бинарных «костылей», и прошивка работает нестабильно: отваливаются камера, датчики, энергосбережение.
Также исходники ядра нужны для разработки кастомных ядер с изменёнными частотами, губернами и драйверами. Именно поэтому сообщество внимательно следит, как быстро Xiaomi выкладывает kernel source после релиза нового устройства.
Где Xiaomi публикует исходники
Основная площадка — организация MiCode на GitHub. Там размещаются репозитории ядер для смартфонов Xiaomi и Redmi, обычно с пометкой модели и версии ветки. Найти нужный репозиторий можно по кодовому имени устройства (например, garnet, marble и подобные внутренние названия).
Важный нюанс: публикация часто происходит с задержкой — иногда в несколько месяцев после выхода модели, а для части устройств исходники выходят неполными или вообще не появляются. Это формально нарушает дух GPLv2, и сообщество периодически поднимает этот вопрос публично.
Чем отличаются исходники MIUI и HyperOS
С переходом на HyperOS принципиально ничего не изменилось: оболочка осталась закрытой, а обязательства по GPL сохранились. Xiaomi продолжает публиковать kernel source для новых моделей на HyperOS в том же репозитории MiCode.
Отличие скорее в практике: кодовая база HyperOS сильнее завязана на фирменные компоненты (Vela, межпроцессное взаимодействие с экосистемой), поэтому доля закрытого кода в системе ощутимо выросла. Для разработчиков кастомов это означает больше проприетарных библиотек, которые приходится извлекать из стоковой прошивки.
| Компонент | Статус кода | Где искать |
|---|---|---|
| Ядро Linux | Открыт (GPLv2) | GitHub, организация MiCode |
| AOSP-фреймворк | Открыт (Apache 2.0) | android.googlesource.com |
| Системные приложения MIUI | Закрыт | Не публикуется |
| Фирменные сервисы HyperOS | Закрыт | Не публикуется |
| Драйверы (blobs) | Закрытые бинарники | Извлекаются из стоковой прошивки |
Как найти и скачать исходники ядра для своей модели
Порядок действий безопасен и не требует никаких модификаций устройства — вы просто скачиваете код с GitHub:
- 🔍 Узнайте кодовое имя устройства — оно указано в спецификациях на профильных ресурсах или в выводе команды
getprop ro.product.device. - 📂 Откройте GitHub-организацию MiCode и найдите репозиторий по кодовому имени модели.
- 🌿 Проверьте ветки — исходники для разных версий Android лежат в отдельных ветках.
- ⬇️ Клонируйте репозиторий:
git clone <url-репозитория> -b <ветка>.
☑️ Проверка перед работой с kernel source
⚠️ Внимание: отсутствие репозитория для вашей модели не означает ошибку поиска — для части устройств Xiaomi исходники так и не были опубликованы. Проверяйте ветки смежных моделей на той же платформе, но не считайте их полностью совместимыми.
Что можно сделать с исходниками на практике
Имея kernel source, разработчик может собрать ядро самостоятельно. Для этого потребуется Linux-окружение, тулчейн (обычно кросс-компилятор под aarch64) и конфиг устройства. Типовая последовательность выглядит так:
make ARCH=arm64 <device>_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-android- -j$(nproc)
Точные имена defconfig и тулчейна зависят от платформы (Qualcomm или MediaTek) и версии ядра — универсальной команды не существует, сверяйтесь с README репозитория и документацией для вашего чипа.
Кроме сборки ядра, исходники используют для аудита: исследователи безопасности проверяют, какие патчи применила Xiaomi и нет ли уязвимостей в драйверах. Но полноценный аудит всей системы невозможен — прикладной уровень MIUI остаётся чёрным ящиком, и оценить его можно только обратным инжинирингом готовой прошивки.
Почему Xiaomi вообще публикует код ядра
Ядро Linux распространяется под лицензией GPLv2, которая обязывает любого, кто распространяет производные работы (а прошивка смартфона — это производная работа), предоставлять исходный код. Это не добрая воля компании, а юридическое требование. Всё остальное в MIUI распространяется под закрытыми лицензиями, поэтому публиковать его Xiaomi не обязана.
Ограничения и риски при работе с исходниками
Даже имея полный kernel source, вы не сможете собрать «свою MIUI» — не хватает закрытых компонентов. Максимум, что доступно, — кастомная прошивка на базе AOSP с проприетарными бинарными библиотеками, извлечёнными из стока.
⚠️ Внимание: установка самосборного ядра или кастомной прошивки требует разблокированного загрузчика. Разблокировка сбрасывает устройство до заводских настроек, может лишить гарантии и отключить часть функций (например, платёжные сервисы). Процедура разблокировки зависит от региона и версии ПО — сверяйтесь с актуальными условиями Xiaomi для вашей модели.
Ещё одно ограничение — неполнота публикуемого кода. Встречаются репозитории без части драйверов или с ошибками, из-за которых ядро не собирается без доработки. Это нормальная практика, и сообщество обычно допиливает такие исходники совместно.
Часто задаваемые вопросы
Можно ли скачать полный исходный код MIUI?
Нет. Xiaomi публикует только исходники ядра Linux, обязательные по лицензии GPLv2. Системные приложения, фреймворк оболочки и фирменные сервисы являются закрытым проприетарным кодом и не распространяются.
Где официально лежат исходники ядра Xiaomi?
В организации MiCode на GitHub. Репозитории именуются по кодовым именам устройств, а версии для разных поколений Android размещаются в отдельных ветках.
Изменилось ли что-то с переходом на HyperOS?
Принципиально — нет. Оболочка осталась закрытой, обязательства по GPL сохранились, и исходники ядра для новых моделей продолжают выходить на той же площадке, нередко с задержкой.
Законно ли использовать опубликованный код для кастомных прошивок?
Да, код под GPLv2 можно использовать, модифицировать и распространять при соблюдении условий лицензии — в частности, с сохранением открытости производного кода. Закрытые компоненты MIUI этой свободой не обладают.
Что делать, если для моей модели нет исходников?
Проверьте репозитории устройств на той же аппаратной платформе — иногда они частично совместимы. Если и их нет, остаётся ждать публикации либо работать с бинарными компонентами, извлечёнными из стоковой прошивки, что ограничивает возможности портирования.