💾 Archived View for alaskalinuxuser.ddns.net › 2023-11-21.gmi captured on 2024-09-29 at 00:22:16. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
">
47w, https://alaskalinuxuser3.ddns.net/wp-content/uploads/2023/11/build-
300x198.png 300w" sizes="(max-width: 747px) 100vw, 747px" />
">From my previous posts, you can see that I am enjoying the journey of trying
to build a custom ROM for the CAT S42G cell phone. In particular, I am building
LineageOS 19.1, because that is the version that matches the OTA update that I
pulled and extracted with dumpyara and aospdtgen.
">I have a successful build now, where the trees are such that it builds from
start to finish in 2 hours flat (on my machine) from a clean out folder.
However, I should mention, that flashing the zip in TWRP does not work, but
gives me some errors, which means I need to go back and rework the TWRP build
that I have. And flashing the individual partitions with fastboot/d does flash,
but does not boot. So this is still a work in progress.
">I might also mention that these “fixes” are not necessarily correct. This may
not be the right way to fix these errors, but this is what I did that worked
for building. Please remember that I am not an expert at programming nor at ROM
building. However, I would like to share what I’ve done. Each error will be
written here, with a note below it showing what I did to fix, get around, or
bypass the error.
">In file included from build/make/core/main.mk:1441:\nbuild/make/core/
Makefile:61: error: VINTF metadata found in PRODUCT_COPY_FILES: \nvendor/cat/
S42G/proprietary/odm/etc/vintf/manifest_dsds.xml:system/vendor/odm/et\nc/vintf/
manifest_dsds.xml, use ODM_MANIFEST_FILES / vintf_fragments instead!.\n08:38:40
ckati failed with: exit status 1\n\nPRODUCT_COPY_FILES: \nvendor/cat/S42G/
proprietary/odm/etc/vintf/manifest_dsds.xml:system/vendor/odm/et\nc/vintf/
manifest_dsds.xml\n\nChange to =>\n\nODM_MANIFEST_FILES += \\\n vendor/cat/
S42G/proprietary/vendor/odm/etc/vintf/manifest_dsds.xml \\\n vendor/cat/S42G/
proprietary/vendor/odm/etc/vintf/manifest_qsqs.xml \\\n vendor/cat/S42G/
proprietary/vendor/odm/etc/vintf/manifest_ss.xml \\\n vendor/cat/S42G/
proprietary/vendor/odm/etc/vintf/manifest_tsts.xml\n \nIn the vendor/cat/S42G/
S42G-vendor.mk file.\n\n========================\n\nbuild/make/core/
base_rules.mk:588: error: overriding commands for target `out/ta\nrget/product/
S42G/system/vendor/etc/vintf/manifest/android.hardware.boot@1.2.xml\n',
previously defined at build/make/core/base_rules.mk:525\n08:59:22 ckati failed
with: exit status 1\n\nRemoved from Android.bp in
vendor.\n\n======================\n\nbuild/make/core/base_rules.mk:525: error:
overriding commands for target `out/ta\nrget/product/S42G/system/vendor/etc/
vintf/manifest/android.hardware.cas@1.2-serv\nice-lazy.xml', previously defined
at build/make/core/base_rules.mk:588\n09:05:02 ckati failed with: exit status
1\n\n\nRemoved from Android.bp in
vendor.\n\n===========================\n\nbuild/make/core/base_rules.mk:588:
error: overriding commands for target `out/ta\nrget/product/S42G/system/vendor/
etc/vintf/manifest/android.hardware.health@2.1.x\nml', previously defined at
build/make/core/base_rules.mk:525\n09:09:01 ckati failed with: exit status
1\n\nRemoved from Android.bp in vendor.\n\n==========================\n\nbuild/
make/core/base_rules.mk:525: error: overriding commands for target `out/
ta\nrget/product/S42G/system/vendor/etc/vintf/manifest/gnss-default.xml',
previously\n defined at build/make/core/base_rules.mk:588\n09:22:55 ckati
failed with: exit status 1\n\nRemoved from Android.bp in
vendor.\n\n==========================\n\nFAILED: \nbuild/make/core/
base_rules.mk:525: error: overriding commands for target `out/ta\nrget/product/
S42G/system/vendor/etc/vintf/manifest/gnss@2.1-service.xml', previo\nusly
defined at build/make/core/base_rules.mk:588\n09:29:31 ckati failed with: exit
status 1\n\n\nRemoved from Android.bp in
vendor.\n\n==========================\n\n\nFAILED: \nbuild/make/core/
base_rules.mk:525: error: overriding commands for target `out/ta\nrget/product/
S42G/system/vendor/etc/vintf/manifest/manifest_android.hardware.drm\n@1.4-
service.clearkey.xml', previously defined at build/make/core/base_rules.mk:
\n588\n09:37:25 ckati failed with: exit status 1\n\nRemoved from Android.bp in
vendor.\n\n==========================\n\nbuild/make/core/base_rules.mk:525:
error: overriding commands for target `out/ta\nrget/product/S42G/system/vendor/
etc/vintf/manifest/power-default.xml', previousl\ny defined at build/make/core/
base_rules.mk:588\n09:46:21 ckati failed with: exit status 1\n\nRemoved from
Android.bp in vendor.\n\n==========================\n\nbuild/make/core/
base_rules.mk:588: error: overriding commands for target `out/ta\nrget/product/
S42G/system/vendor/etc/vintf/manifest/android.hardware.wifi@1.0-ser\nvice.xml',
previously defined at build/make/core/base_rules.mk:525\n09:52:29 ckati failed
with: exit status 1\n\n\nRemoved from Android.bp in
vendor.\n\n==========================\n\nFAILED: \nbuild/make/core/Makefile:61:
error: overriding commands for target `out/target/p\nroduct/S42G/system/etc/
libnfc-nci.conf', previously defined at build/make/core/b\nase_rules.mk:
525\n09:59:24 ckati failed with: exit status 1\n\nCommented out in S42G-
vendor.mk\n\n==========================\n\nFAILED: ninja: 'vendor/cat/S42G/
proprietary/odm/etc/vintf/manifest_dsds.xml', ne\neded by 'out/target/product/
S42G/gen/ETC/odm_manifest.xml_intermediates/manifest\n.xml', missing and no
known rule to make it\n10:10:02 ninja failed with: exit status 1\n\n\nWrong
path in S42G-vendor.mk, fixed.\n\n=========================
[ 62% 62758/
100277] build out/target/product/S42G/dtbo.img\nFAILED: out/target/product/
S42G/dtbo.img\n/bin/bash -c "(cp device/cat/S42G/prebuilts/dtbo.img out/
target/product/S42G/dtb\no.img ) && (out/host/linux-x86/bin/avbtool
add_hash_footer \t --image out/\ntarget/product/S42G/dtbo.img \t --
partition_size 53248 \t --partition_\nname dtbo \t --prop
com.android.build.dtbo.fingerprint:\\$(cat out/target/\nproduct/S42G/
build_fingerprint.txt) )"\n/home/alaskalinuxuser/android/lineage19/out/host/
linux-x86/bin/avbtool: Parition\n size of 53248 is too small. Needs to be at
least 69632\n\nset avb enable to false in boardconfig.mk in
dt.\n\n=========================\n\n\nFAILED: out/target/common/obj/APPS/
webview_intermediates/enforce_uses_libraries.\nstatus\n/bin/bash -c "(rm -
f out/target/common/obj/APPS/webview_intermediates/
enforce_us\nes_libraries.status ) && (build/soong/scripts/manifest_check.py \t
--enfo\nrce-uses-libraries \t --enforce-uses-libraries-status out/target/
common/obj/\nAPPS/webview_intermediates/enforce_uses_libraries.status \t --aapt
out/hos\nt/linux-x86/bin/aapt \t \t \t \t \t external/chromium-webv\niew/
prebuilt/arm/webview.apk )"\nzipro W 11-15 13:00:12 2873 2873 Error opening
archive external/chromium-webvi\new/prebuilt/arm/webview.apk: Invalid
file\nERROR: dump failed because no AndroidManifest.xml found\nerror: Command '
['out/host/linux-x86/bin/aapt', 'dump', 'badging', 'external/chr\nomium-
webview/prebuilt/arm/webview.apk']' returned non-zero exit status 1\n13:00:41
ninja failed with: exit status 1\n\nrepo forall -c 'git lfs
pull'\n\n==========================\n\nerror: found duplicate sysprop
assignments:
\n#ro.config.notification_sound=pixiedust.ogg\nro.config.notification_sound=Argon.ogg\nerror:
found duplicate sysprop assignments:
\n#ro.config.alarm_alert=Cesium.ogg\nro.config.alarm_alert=Hassium.ogg\nerror:
found duplicate sysprop assignments:
\n#ro.product.ab_ota_partitions=boot,system,vendor\nro.product.ab_ota_partitions=system,vendor,product,boot,vbmeta_vendor,vbmeta_sys\ntem\nerror:
found duplicate sysprop assignments:
\n#ro.config.ringtone=Noises1.ogg\nro.config.ringtone=Orion.ogg\n\nEdited and
removed from product.prop\n\nerror: found duplicate sysprop assignments:
\nro.build.display.id=lineage_S42G-userdebug 12 SQ3A.220705.004
eng.alaska.2023111\n5.125729 test-keys\nro.build.display.id=SP1A.210812.016
release-keys\n\nEdited and removed from
system.prop\n\n============================\n\n\n[ 99% 6211/6213] Package
target files: out/target/product/S42G/obj/PACKAGING/tar\nFAILED: out/target/
product/S42G/obj/PACKAGING/target_files_intermediates/lineage\n_S42G-
target_files-eng.alaskalinuxuser.zip\n/bin/bash -c "(rm -rf out/target/
product/S42G/obj/PACKAGING/target_files_interme\ndiates/lineage_S42G-
target_files-eng.alaskalinuxuser.zip out/target/product/S42G\n/obj/PACKAGING/
target_files_intermediates/lineage_S42G-target_files-
eng.alaskali\nnuxuser.zip.list out/target/product/S42G/obj/PACKAGING/
target_files_intermediate\ns/lineage_S42G-target_files-eng.alaskalinuxuser ) &&
(mkdir -p out/target/produc\nt/S42G/obj/PACKAGING/target_files_intermediates/
out/target/product/S42G/obj/PAC\nKAGING/target_files_intermediates/
lineage_S42G-target_files-eng.alaskalinuxuser \n) ====> Edited for space
<=======\ne_S42G-target_files-eng.alaskalinuxuser/META | sort >out/target/
product/S42G/obj\n/PACKAGING/target_files_intermediates/lineage_S42G-
target_files-eng.alaskalinuxu\nser.zip.list ) && (find out/target/product/S42G/
obj/PACKAGING/target_files_inter\nmediates/lineage_S42G-target_files-
eng.alaskalinuxuser -path out/target/product/\nS42G/obj/PACKAGING/
target_files_intermediates/lineage_S42G-target_files-eng.alas\nkalinuxuser/META
-prune -o -print | sort >>out/target/product/S42G/obj/PACKAGING\n/
target_files_intermediates/lineage_S42G-target_files-
eng.alaskalinuxuser.zip.li\nst ) && (out/soong/host/linux-x86/bin/soong_zip -
d -o out/target/product/S42G/ob\nj/PACKAGING/target_files_intermediates/
lineage_S42G-target_files-eng.alaskalinux\nuser.zip -C out/target/product/S42G/
obj/PACKAGING/target_files_intermediates/lin\neage_S42G-target_files-
eng.alaskalinuxuser -r out/target/product/S42G/obj/PACKAG\nING/
target_files_intermediates/lineage_S42G-target_files-
eng.alaskalinuxuser.zip\n.list )"\n2023-11-16 07:11:28 - common.py - WARNING :
Failed to read SYSTEM/etc/build.prop\n2023-11-16 07:11:28 - common.py - WARNING
: Failed to read VENDOR/etc/build.prop\n2023-11-16 07:11:28 - common.py -
WARNING : Failed to read VENDOR/build.prop\n2023-11-16 07:11:28 - common.py -
WARNING : Failed to read PRODUCT/etc/build.pro\np\n2023-11-16 07:11:28 -
common.py - WARNING : Failed to read PRODUCT/build.prop\n2023-11-16 07:11:28 -
common.py - WARNING : Failed to read SYSTEM_EXT/etc/build.\nprop\n2023-11-16
07:11:28 - common.py - WARNING : Failed to read SYSTEM_EXT/build.prop\n2023-11-
16 07:11:28 - common.py - WARNING : Failed to read ODM/etc/build.prop\n2023-11-
16 07:11:28 - common.py - WARNING : Failed to read ODM/build.prop\n2023-11-16
07:11:28 - common.py - WARNING : Failed to read VENDOR_DLKM/etc/
build\n.prop\n2023-11-16 07:11:28 - common.py - WARNING : Failed to read
VENDOR_DLKM/build.pro\np\n2023-11-16 07:11:28 - common.py - WARNING : Failed to
read ODM_DLKM/etc/build.pr\nop\n2023-11-16 07:11:28 - common.py - WARNING :
Failed to read ODM_DLKM/build.prop\n\n-- Screw it, using prebuilt vendor image
in boardconfig.mk.\n\n# Vendor partition options.\n# If you wish to use the
prebuilt vendor image. Comment all of this out to
buil>\nBOARD_PREBUILT_VENDORIMAGE := vendor/cat/S42G/vendor.img\n\nor
\n\n\nTARGET_COPY_OUT_VENDOR := vendor\nBOARD_VENDORIMAGE_FILE_SYSTEM_TYPE :
= ext4\n\nDecided to use the vendor image taken from the OTA, with which I got
all the vendor files, but tested by having lineage build the vendor also, the
end result is the same. Using the prebuilt vendor is handy because it saves
time, but it is difficult to send the large vendor image file, so best to build
without prebuilt vendor.\n\n================================\n\nAssertionError:
Failed to find product.img\n\nEdit boardconfig.mk to include:\n\n# To build the
product image.\nTARGET_COPY_OUT_PRODUCT :
= product\n\nBOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE :
= ext4\n\n===============================\n\n\n
">All told, it was about 15 or 16 errors in the build process, and I’ve shown
you what I did to “fix” them. You can also see the device tree changes here:
https://gitlab.com/alaskalinuxuser/aosp_device_cat_s42/-/commit/
105d98ecbd409442e7e625db99dbe4000dcdd3ad
">Linux – keep it simple.