Thank you, Ronald @ronnz98!
I started reading your How To and got stuck at the breakfast
stage:
From my previous experience (I used to work on AOSP based products for automotive) I would expect that breakfast without the device codename would produce a list of supported targets.
For the crDroid
based AOSP tree I get exactly the same I got for /e/OS
based one:
[pswiatki@docker-pswiatki crDroid]$ breakfast
You're building on Linux
Warning: Cannot display lunch menu.
Note: You can invoke lunch with an explicit target:
usage: lunch [target]
Which would you like? [aosp_cf_x86_64_phone-trunk_staging-eng]
Pick from common choices above (e.g. 13) or specify your own (e.g. aosp_barbet-trunk_staging-eng):
Trying dependencies-only mode on a non-existing device tree?
============================================
PLATFORM_VERSION_CODENAME=Baklava
PLATFORM_VERSION=Baklava
TARGET_DEVICE=vsoc_x86_64
TARGET_BUILD_VARIANT=eng
TARGET_ARCH=x86_64
TARGET_ARCH_VARIANT=silvermont
TARGET_2ND_ARCH=x86
TARGET_2ND_ARCH_VARIANT=silvermont
HOST_OS=linux
HOST_OS_EXTRA=Linux-6.14.6-arch1-1-x86_64-Ubuntu-20.04.6-LTS
HOST_CROSS_OS=windows
BUILD_ID=BP1A.250505.005
OUT_DIR=out
WITH_SU=false
PRODUCT_SOONG_NAMESPACES=device/generic/goldfish-opengl device/google/cuttlefish/shared/sensors/multihal external/mesa3d device/generic/goldfish vendor/google_devices/common/proprietary/confirmatioui_hal hardware/google/camera hardware/google/camera/devices/EmulatedCamera vendor/google/camera/common/g3_shared vendor/google/camera/google_3a/libs_v4/g3ABase vendor/google/camera/google_3a/libs_v4/gABC/native_coverage vendor/google/camera/google_3a/libs_v4/gAF vendor/google/camera/google_3a/libs_v4/gafd vendor/google/camera/google_3a/libs_v4/gHAWB/native_coverage
============================================
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Wondering whether to use user, userdebug or eng?
user The builds that ship to users. Reduced debugability.
userdebug High fidelity to user builds but with some debugging options
enabled. Best suited for performance testing or day-to-day use
with debugging enabled.
eng More debugging options enabled and faster build times, but
runtime performance tradeoffs. Best suited for day-to-day
local development when not doing performance testing.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[pswiatki@docker-pswiatki crDroid]$
This is some built-in default target, I believe. So, clearly parts of the AOSP tree are missing.
Even when I try - as in your How To document - NB1, I get a nasty failure fast:
[pswiatki@docker-pswiatki crDroid]$ breakfast NB1
In file included from build/make/core/config.mk:406:
In file included from build/make/core/envsetup.mk:351:
build/make/core/product_config.mk:226: error: Cannot locate config makefile for product "lineage_NB1".
14:38:31 dumpvars failed with: exit status 1
Device NB1 not found. Attempting to retrieve device repository from crDroid Android Github (http://github.com/crdroidandroid).
Repository for NB1 not found in the crDroid Android Github repository list.
If this is in error, you may need to manually add it to your .repo/local_manifests/roomservice.xml
In file included from build/make/core/config.mk:406:
In file included from build/make/core/envsetup.mk:351:
build/make/core/product_config.mk:226: error: Cannot locate config makefile for product "lineage_NB1".
14:38:33 dumpvars failed with: exit status 1
In file included from build/make/core/config.mk:406:
In file included from build/make/core/envsetup.mk:351:
build/make/core/product_config.mk:226: error: Cannot locate config makefile for product "lineage_NB1".
14:38:35 dumpvars failed with: exit status 1
** Don't have a product spec for: 'lineage_NB1'
** Do you have the right repo manifest?
[pswiatki@docker-pswiatki crDroid]$
Evidently, the build environment doesn’t know anything about this NB1 codename. But… why?