Сборка aosp под процессор amlogic S905Y4

ubuntu:
apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

mkdir aosp # имя папки можно выбрать любое
cd aosp

curl https://storage.googleapis.com/git-repo-downloads/repo > repo
chmod a+x repo
на ubuntu можно поставить apt install repo
на gentoo emerge dev-vcs/repo

./repo init -b android-security-11.0.0_r76 --depth 1 -u https://android.googlesource.com/platform/manifest

-u — урл git-репозитория с манифестом
-b — ветка
—depth — скачивать только одну ветку (если не использовать, то для каждого репозитория скачается весь индекс, что увеличит время загрузки и место на диске)

./repo sync -c -j $(nproc) --no-tags --no-clone-bundle

-c — скачивать только текущую ветку манифеста
-j — количество потоков, обычно указывается столько доступно процессоров
—no-tags — не скачивать тэги с репозитариев
—no-clone-bundle — не пытаться качать clone.bundle (упакованная репа, которая уменьшить время на загрузку, но не у всех сервер формирует этот bundle),

https://source.android.com/docs/setup/reference/repo
https://source.android.com/docs/setup/build/building

Сборка

Настраиваем среду разработчика:

source build/envsetup.sh

конфигурируем сборку

lunch aosp_arm-eng

arm — указывается под какой девайс собирать
ищите детали в документации https://source.android.com/setup/build/building#choose-a-target

eng — тип сборки (сокращение от engineering), с максимальными логами и дополнительными утилитами для отладки. Другие тип сборки думаю не особо интересны

сборка make или m
в gentoo перед сборкой нужно выполнить:

unset JAVAC
unset JAVA_HOME
unset JDK_HOME
unset LEX

Для сборки java файлов увеличиваем Heap size, если этого не сделать, то сборка всего завалится с StackOverflow ошибкой:

export _JAVA_OPTIONS="-Xmx4g"

Так же можно добавить в .bashrc чтобы постоянно не повторять команду
Все, теперь готовы к сборке:

USE_CCACHE=1 CCACHE_DIR=ccache make -j $(nproc)

Можно не использовать CCACHE, что уменьшит количество занимаемого места на диске, но увеличит время повторной сборки.

После окончания сборки, запускаем эмулятор:

emulator -show-kernel

-show-kernel — выводить уведомления в консоль

Если нажать Enter, то попадем в консоль эмулятора

для armv8-eng под gentoo ошибка
error: continuous_native_tests: Unknown installed file for module 'resolv_gold_test'

https://github.com/android-rpi/device_arpi_rpi4/wiki/arpi-11-:-framework...

platform_testing/build/tasks/tests/native_test_list.mk
@@ line 111
puffin_unittest \
recovery_unit_test \
- resolv_gold_test \
resolv_integration_test \
resolv_unit_test \

https://github.com/android-rpi/device_arpi_rpi4/issues/71

Linux version of Amlogic USB Burning Tool
https://github.com/Stane1983/aml-linux-usb-burn