config/.vim/vimwiki/8450.wiki
2023-01-24 16:14:46 +01:00

110 lines
8.3 KiB
Plaintext

==unbrick==
cd /home/mmaret/Sources/qcom/8450/old/snapdragon-premium-high-2021-spf-1-0_hlos_device_apqgps-oss/AOP.HO.4.0/aop_proc/build/ms/bin/AAAAANAZO/waipio
qdl --storage ufs ~/Sources/qcom/8450/old/snapdragon-premium-high-2021-spf-1-0_hlos_device_apqgps-oss/BOOT.MXF.2.0/boot_images/boot/QcomPkg/SocPkg/Waipio/Bin/LAA/RELEASE/xbl_s_devprg_ns.melf ~/Sources/qcom/8450/old/snapdragon-premium-high-2021-spf-1-0_hlos_device_apqgps-oss/Waipio.LA.1.0/common/build/ufs/rawprogram4.xml
== sources ==
git clone -b r1.0.r1_00020.0 --depth 1 https://chipmaster2.qti.qualcomm.com/home2/git/prophesee/snapdragon-premium-high-2021-spf-1-0_test_device.git # USE HLOS_DEV !!!!
== get sync_snap.sh ==
git clone https://chipcode.qti.qualcomm.com/revision-history/platform/vendor/qcom-proprietary/grease/utilities.git grease_utilities
cd grease_utilities
git checkout 75608-grease-utilities.lnx.4.0.r43-rel
or
firefox https://chipcode.qti.qualcomm.com/prophesee/snapdragon-premium-high-2021-spf-1-0_test_device/raw/r1.0.r1_00018.0/LA.VENDOR.1.0/LINUX/android/sync_snap_v2.sh
== Get sources ==
export SRC_PATH=/home/mmaret/Sources/qcom/8450
export SRC_REPO_NAME=snapdragon-premium-high-2021-spf-1-0_hlos_dev
mkdir {Qssi_HY22,Kernel_HY22,Display_HY22,Camera_HY22,Video_HY22,Vendor_HY22}
./sync_snap_v2.sh --workspace_path=${SRC_PATH}/Qssi_HY22 --image_type=la --tree_type=la_qssi --prop_opt=chipcode --common_oss_url=https://git.codelinaro.org --qssi_oss_manifest_git=clo/la/la/system/manifest --qssi_chipcode_path=${SRC_PATH}/${SRC_REPO_NAME}/LA.QSSI.12.0/LINUX/android --qssi_au_tag=AU_LINUX_ANDROID_LA.QSSI.12.0.R1.11.00.00.782.058.02 --repo_url=git://codeaurora.org/tools/repo.git --repo_branch=aosp-new/stable
./sync_snap_v2.sh --workspace_path=${SRC_PATH}/Kernel_HY22 --image_type=la --tree_type=kernel_platform --prop_opt=chipcode --common_oss_url=https://git.codelinaro.org --kernel_oss_manifest_git=clo/la/kernelplatform/manifest --kernel_chipcode_path=${SRC_PATH}/${SRC_REPO_NAME}/KERNEL.PLATFORM.1.0/kernel_platform --kernel_au_tag=AU_LINUX_KERNEL.PLATFORM.1.0.R1.00.00.00.000.069 --repo_url=git://codeaurora.org/tools/repo.git --repo_branch=aosp-new/stable
./sync_snap_v2.sh --workspace_path=${SRC_PATH}/Display_HY22 --image_type=la --tree_type=techpack_display --prop_opt=chipcode --common_oss_url=https://git.codelinaro.org --display_oss_manifest_git=clo/la/techpack/display/manifest --display_chipcode_path=${SRC_PATH}/${SRC_REPO_NAME}/DISPLAY.LA.2.0/LINUX/android --display_au_tag=AU_TECHPACK_DISPLAY.LA.2.0.R1.00.00.00.000.049 --repo_url=git://codeaurora.org/tools/repo.git --repo_branch=aosp-new/stable
./sync_snap_v2.sh --workspace_path=${SRC_PATH}/Camera_HY22 --image_type=la --tree_type=techpack_camera --prop_opt=chipcode --common_oss_url=https://git.codelinaro.org --camera_oss_manifest_git=clo/la/techpack/camera/manifest --camera_chipcode_path=${SRC_PATH}/${SRC_REPO_NAME}/CAMERA.LA.2.0/LINUX/android/ --camera_au_tag=AU_TECHPACK_CAMERA.LA.2.0.R1.00.00.00.000.033 --repo_url=git://codeaurora.org/tools/repo.git --repo_branch=aosp-new/stable
./sync_snap_v2.sh --workspace_path=${SRC_PATH}/Video_HY22 --image_type=la --tree_type=techpack_video --prop_opt=chipcode --common_oss_url=https://git.codelinaro.org --video_oss_manifest_git=clo/la/techpack/video/manifest --video_chipcode_path=${SRC_PATH}/${SRC_REPO_NAME}/VIDEO.LA.2.0/LINUX/android/ --video_au_tag=AU_TECHPACK_VIDEO.LA.2.0.R1.00.00.00.000.025 --repo_url=git://codeaurora.org/tools/repo.git --repo_branch=aosp-new/stable
./sync_snap_v2.sh --workspace_path=${SRC_PATH}/Vendor_HY22/ --image_type=la --tree_type=la_vendor --prop_opt=chipcode --common_oss_url=https://git.codelinaro.org --vendor_oss_manifest_git=clo/la/la/vendor/manifest --vendor_chipcode_path=${SRC_PATH}/${SRC_REPO_NAME}/LA.VENDOR.1.0/LINUX/android/ --vendor_au_tag=AU_LINUX_ANDROID_LA.VENDOR.1.0.R1.11.00.00.816.110 --repo_url=git://codeaurora.org/tools/repo.git --repo_branch=aosp-new/stable
== build ==
=== Kernel_HY22 ===
work without docker!
bash kernel_platform/qcom/proprietary/prebuilt_HY22/vendorsetup.sh
cd kernel_platform
BUILD_CONFIG=./common/build.config.msm.waipio ./build/all-variants.sh "./build/build.sh"
=== Qssi_HY22 ===
in docker env
source build/envsetup.sh
lunch qssi-userdebug
bash build.sh -j12 dist --qssi_only EXPERIMENTAL_USE_OPENJDK9=1.8 # SKIP_ABI_CHECKS=true
=== Prepare Vendor Dir ===
cp Vendor_HY22/vendor/qcom/proprietary/prebuilt_HY22/Android.mk Vendor_HY22_vendor_qcom_proprietary_prebuilt_HY22_Android.mk.bk
cp -r Vendor_HY22/* Qssi_HY22
cp -r Kernel_HY22/kernel_platform/ Qssi_HY22
cp -r Kernel_HY22/kernel_platform/out/* Qssi_HY22/out/
cp -r Display_HY22/* Qssi_HY22
cp -r Camera_HY22/* Qssi_HY22
cp -r Video_HY22/* Qssi_HY22
cp ../snapdragon-premium-high-2021-spf-1-0_hlos_dev/LA.VENDOR.1.0/LINUX/android/vendor/qcom/proprietary/prebuilt_HY11/Android.mk vendor/qcom/proprietary/prebuilt_HY11/Android.mk
# Symlink are seems to be good too. re-Check it!
=== Build Vendor but in QSSI ===
source build/envsetup.sh
lunch taro-userdebug
./kernel_platform/build/android/prepare_vendor.sh waipio consolidate
bash build.sh -j12 dist --target_only
python vendor/qcom/opensource/core-utils/build/build_image_standalone.py --image super --qssi_build_path /aosp/Sources/qcom/8450/Qssi_HY22/ --target_build_path /aosp/Sources/qcom/8450/Qssi_HY22/ --merged_build_path /aosp/Sources/qcom/8450/Qssi_HY22/ --target_lunch taro --output_ota
mmma -j16 ENABLE_AB=true SYSTEMEXT_SEPARATE_PARTITION_ENABLE=true BOARD_DYNAMIC_PARTITION_ENABLE=true ENABLE_VIRTUAL_AB=true SHIPPING_API_LEVEL=2 SKIP_ABI_CHECKS=true vendor/qcom/proprietary/chi-cdk/
# Faster alternative:
python vendor/qcom/opensource/core-utils/build/build_image_standalone.py --image super --qssi_build_path /aosp/Sources/qcom/8450/Qssi_HY22/ --target_build_path /aosp/Sources/qcom/8450/Qssi_HY22/ --merged_build_path /aosp/Sources/qcom/8450/Qssi_HY22/ --target_lunch taro --skip_qiifa
# Seems equivalent to
# bash build.sh dist -j16 --merge_only --rebuild_sepolicy_with_vendor_otatools=out/dist/vendor/otatools.zip
# so only bash build.sh -j16 --merge_only ?
make -j12 ENABLE_AB=true SYSTEMEXT_SEPARATE_PARTITION_ENABLE=true BOARD_DYNAMIC_PARTITION_ENABLE=true ENABLE_VIRTUAL_AB=true SHIPPING_API_LEVEL=29 SKIP_ABI_CHECKS=true
== Rebuild ==
=== Kernel ===
LTO=thin SKIP_MRPROPER=1 VARIANT=consolidate BUILD_CONFIG=./common/build.config.msm.waipio ./build/build.sh
=== Dt ===
kernel_platform/qcom/proprietary/devicetree/qcom
Seems to use waipio-pm8010-spmi.dtsi
waipiop-hdk-pm8010-overlay.dts and waipiop-hdk-pm8010.dts
RECOMPILE_KERNEL=0 ./kernel_platform/build/android/prepare_vendor.sh waipio consolidate
make -j12 ENABLE_AB=true SYSTEMEXT_SEPARATE_PARTITION_ENABLE=true BOARD_DYNAMIC_PARTITION_ENABLE=true ENABLE_VIRTUAL_AB=true SHIPPING_API_LEVEL=29 SKIP_ABI_CHECKS=true
adb reboot bootloader
fastboot flash dtbo_a out/target/product/taro/dtbo.img && fastboot reboot
# instead of the make -j12 ... you can try
RECOMPILE_KERNEL=0 ./kernel_platform/build/android/prepare_vendor.sh waipio consolidate
/bin/bash -c "(cp device/qcom/taro-kernel/dtbs/dtbo.img out/target/product/taro/dtbo.img ) && (out/host/linux-x86/bin/avbtool add_hash_footer --image out/target/product/taro/dtbo.img --partition_size 0x1700000 --partition_name dtbo --prop com.android.build.dtbo.fingerprint:\$(cat out/target/product/taro/build_fingerprint.txt) )"
adb reboot bootloader
fastboot flash dtbo_a out/target/product/taro/dtbo.img && fastboot reboot
=== Camera Module ===
#Make sure to have run the ./kernel_platform/build/android/prepare_vendor.sh waipio VARIANT with VARIANT be the one used on the plaftorm (consolidate show up in uname)
# otherwise THIS IS NOT WORKING ! the new module with have different symbols that the kernel and cannot be inserted
mmma -j16 ENABLE_AB=true SYSTEMEXT_SEPARATE_PARTITION_ENABLE=true BOARD_DYNAMIC_PARTITION_ENABLE=true ENABLE_VIRTUAL_AB=true SHIPPING_API_LEVEL=2 SKIP_ABI_CHECKS=true vendor/qcom/opensource/camera-kernel
adb push out/target/product/taro/dlkm/lib/modules/camera.ko ./vendor_dlkm/lib/modules/camera.ko
adb reboot
== Gen Archive ==
tar --exclude='./out' --exclude="./kernel_platform/out" --exclude=".repo/project-objects/platform/prebuilts" --exclude=".repo/project-objects/platform/external" -cf Android_12.no_repo_platform_prebuilts_and_external.tar Qssi_HY22/
= Camera =
Defautl Pipeline for camera
./titan/usecase-components/usecases/UsecaseZSL/pipelines/camxRealTimeFeatureZSLPreviewRaw.xml