"Qualcomm, HDK8250(SM8250)" 修訂間的差異

出自 flip the world
前往: 導覽搜尋
(Build tool)
(Program images)
 
(未顯示同一使用者於中間所作的 24 次修訂)
行 13: 行 13:
 
</pre>
 
</pre>
 
* install repo (dependency with python and git) ... prefer to use python 2.7
 
* install repo (dependency with python and git) ... prefer to use python 2.7
 +
<pre>
 
curl https://storage.googleapis.com/git-repo-downloads/repo-1 > ~/bin/repo
 
curl https://storage.googleapis.com/git-repo-downloads/repo-1 > ~/bin/repo
copy repo into ~/bin/repo
 
 
chmod a+x ~/bin/repo
 
chmod a+x ~/bin/repo
 
rm -rf ~/.repo* ~/.gnupg
 
rm -rf ~/.repo* ~/.gnupg
 
gpg --import
 
gpg --import
 +
 +
-----BEGIN PGP PUBLIC KEY BLOCK-----
 +
Version: GnuPG v1.4.11 (GNU/Linux)
 +
 +
mQENBFHRvc8BCADFg45Xx/y6QDC+T7Y/gGc7vx0ww7qfOwIKlAZ9xG3qKunMxo+S
 +
hPCnzEl3cq+6I1Ww/ndop/HB3N3toPXRCoN8Vs4/Hc7by+SnaLFnacrm+tV5/OgT
 +
V37Lzt8lhay1Kl+YfpFwHYYpIEBLFV9knyfRXS/428W2qhdzYfvB15/AasRmwmor
 +
py4NIzSs8UD/SPr1ihqNCdZM76+MQyN5HMYXW/ALZXUFG0pwluHFA7hrfPG74i8C
 +
zMiP7qvMWIl/r/jtzHioH1dRKgbod+LZsrDJ8mBaqsZaDmNJMhss9g76XvfMyLra
 +
9DI9/iFuBpGzeqBv0hwOGQspLRrEoyTeR6n1ABEBAAG0H0NvbmxleSBPd2VucyA8
 +
Y2NvM0BhbmRyb2lkLmNvbT6JATgEEwECACIFAlHRvc8CGwMGCwkIBwMCBhUIAgkK
 +
CwQWAgMBAh4BAheAAAoJEGe35EhpKzgsP6AIAJKJmNtn4l7hkYHKHFSo3egb6RjQ
 +
zEIP3MFTcu8HFX1kF1ZFbrp7xqurLaE53kEkKuAAvjJDAgI8mcZHP1JyplubqjQA
 +
xvv84gK+OGP3Xk+QK1ZjUQSbjOpjEiSZpRhWcHci3dgOUH4blJfByHw25hlgHowd
 +
a/2PrNKZVcJ92YienaxxGjcXEUcd0uYEG2+rwllQigFcnMFDhr9B71MfalRHjFKE
 +
fmdoypqLrri61YBc59P88Rw2/WUpTQjgNubSqa3A2+CKdaRyaRw+2fdF4TdR0h8W
 +
zbg+lbaPtJHsV+3mJC7fq26MiJDRJa5ZztpMn8su20gbLgi2ShBOaHAYDDi5AQ0E
 +
UdG9zwEIAMoOBq+QLNozAhxOOl5GL3StTStGRgPRXINfmViTsihrqGCWBBUfXlUE
 +
OytC0mYcrDUQev/8ToVoyqw+iGSwDkcSXkrEUCKFtHV/GECWtk1keyHgR10YKI1R
 +
mquSXoubWGqPeG1PAI74XWaRx8UrL8uCXUtmD8Q5J7mDjKR5NpxaXrwlA0bKsf2E
 +
Gp9tu1kKauuToZhWHMRMqYSOGikQJwWSFYKT1KdNcOXLQF6+bfoJ6sjVYdwfmNQL
 +
Ixn8QVhoTDedcqClSWB17VDEFDFa7MmqXZz2qtM3X1R/MUMHqPtegQzBGNhRdnI2
 +
V45+1Nnx/uuCxDbeI4RbHzujnxDiq70AEQEAAYkBHwQYAQIACQUCUdG9zwIbDAAK
 +
CRBnt+RIaSs4LNVeB/0Y2pZ8I7gAAcEM0Xw8drr4omg2fUoK1J33ozlA/RxeA/lJ
 +
I3KnyCDTpXuIeBKPGkdL8uMATC9Z8DnBBajRlftNDVZS3Hz4G09G9QpMojvJkFJV
 +
By+01Flw/X+eeN8NpqSuLV4W+AjEO8at/VvgKr1AFvBRdZ7GkpI1o6DgPe7ZqX+1
 +
dzQZt3e13W0rVBb/bUgx9iSLoeWP3aq/k+/GRGOR+S6F6BBSl0SQ2EF2+dIywb1x
 +
JuinEP+AwLAUZ1Bsx9ISC0Agpk2VeHXPL3FGhroEmoMvBzO0kTFGyoeT7PR/BfKv
 +
+H/g3HsL2LOB9uoIm8/5p2TTU5ttYCXMHhQZ81AY
 +
=AUp4
 +
-----END PGP PUBLIC KEY BLOCK-----
 +
 +
[Ctrl-D]
 +
</pre>
 +
 +
== Sync Android ==
 +
<pre>
 +
cd sxr2130-la-1-0-sdx55-tn-1-0_amss_standard_oem_apq.git/sxr2130_apps/LINUX/android
 +
./sync.sh
 +
</pre>
 +
 +
== Build the application processor Android HLOS images ==
 +
<pre>
 +
sudo apt-get install libxml*
 +
source build/envsetup.sh
 +
lunch kona-userdebug
 +
./build.sh dist -j8 |& tee make-log.txt
 +
</pre>
 +
 +
== Location of Android HLOS images ==
 +
<pre>
 +
ls out/target/product/kona
 +
abl.elf                            dtb.img                            installed-files-vendor.json  persist                        shareduid_violation_modules.json
 +
android-info.txt                  dtbo.img                            installed-files-vendor.txt    persist.img                    signed
 +
appcompat                          dynamic_partition_metadata.txt      integrity                    pgo_profile_file_missing.txt    signed_encrypted
 +
appcompat.zip                      fake_packages                      ipa                          prebuilt_dtbo.img              soong_to_convert.txt
 +
boot-debug.img                    filesmap                            kernel                        previous_build_config.mk        super_empty.img
 +
boot.img                          gen                                kona-apps-eng.ganzin.zip      product_copy_files_ignored.txt  super.img
 +
boot.zip                          gensecimage_target.timestamp        kona-coverage-eng.ganzin.zip  product.img                    symbols
 +
build_fingerprint.txt              installed-files-odm.json            kona-img-eng.ganzin.zip      ramdisk                        system
 +
build_system_stats.txt            installed-files-odm.txt            kona-symbols-eng.ganzin.zip  ramdisk-debug.img              system.img
 +
build_thumbprint.txt              installed-files-ramdisk-debug.json  metadata                      ramdisk.img                    testcases
 +
certificate_violation_modules.txt  installed-files-ramdisk-debug.txt  metadata.img                  ramdisk-recovery.img            userdata.img
 +
clean_steps.mk                    installed-files-ramdisk.json        module-info.json              recovery                        vbmeta.img
 +
coverage                          installed-files-ramdisk.txt        obj                          recovery.id                    vbmeta_system.img
 +
data                              installed-files-recovery.json      obj_arm                      recovery.img                    vendor
 +
debug_ramdisk                      installed-files-recovery.txt        odm                          recovery-two-step.img          vendor.img
 +
dexpreopt.config                  installed-files-root.json          odm.img                      root                            verified_assembled_vendor_manifest.xml
 +
dlkm                              installed-files-root.txt            otatools.zip                  secimage.log                    wall_werror.txt
 +
 +
</pre>
 +
 +
== NON-HLOS images ==
 +
=== bootloader ===
 +
<pre>
 +
sudo apt-get install libtinfo* gcc-8 p7zip-full
 +
cd <target_root>/boot_images/QcomPkg/
 +
python ./buildex.py --variant LAA -r RELEASE -t 8250,QcomToolsPkg
 +
</pre>
 +
 +
=== aDSP ===
 +
<pre>
 +
cd sxr2130_adsp/adsp_proc/build/ms
 +
python build_variant.py 8250.adsp.prod
 +
</pre>
 +
 +
=== cDSP ===
 +
<pre>
 +
cd sxr2130_cdsp/cdsp_proc/build/ms
 +
python build_variant.py 8250.cdsp.prod
 +
</pre>
 +
 +
=== SLIP ===
 +
<pre>
 +
cp nanopb-0.3.6-linux-x86.tar.gz sxr2130_slpi/slpi_proc/ssc_api
 +
cd sxr2130_slpi/slpi_proc
 +
python ssc_api/build/config_nanopb_dependency.py -f nanopb-0.3.6-linux-x86
 +
cd sxr2130_slpi/slpi_proc/build/ms
 +
python ./build_variant.py 8250.slpi.prod SENSOR_VARIANT=xr USES_FLAGS=USES_SXR2130_ENABLE
 +
</pre>
 +
 +
== Program images ==
 +
* boot into fastboot mode in device
 +
<pre>
 +
#get device console first, and run following command
 +
reboot bootloader
 +
</pre>
 +
 +
* Check device availability
 +
<pre>
 +
tommy@tommy-ThinkPad-X1-Carbon-5th:~/projects/ganzin/kona_img$ fastboot devices
 +
45ff8ad1 fastboot
 +
</pre>
 +
 +
* Pre load test
 +
<pre>
 +
tommy@tommy-ThinkPad-X1-Carbon-5th:~/projects/ganzin/kona_img$ fastboot boot boot.img
 +
downloading 'boot.img'...
 +
OKAY [  2.831s]
 +
booting...
 +
OKAY [  0.063s]
 +
finished. total time: 2.893s
 +
</pre>
 +
 +
* Start flash image if boot normally.....
 +
<pre>
 +
tommy@tommy-ThinkPad-X1-Carbon-5th:~/projects/ganzin/kona_img$ fastboot flash boot_a boot.img
 +
target reported max download size of 805306368 bytes
 +
sending 'boot_a' (98304 KB)...
 +
OKAY [  2.950s]
 +
writing 'boot_a'...
 +
OKAY [  0.209s]
 +
finished. total time: 3.159s
 +
</pre>
 +
 +
* Check marker in boot log
 +
<pre>
 +
#get console first!
 +
 +
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x51df805e]
 +
[    0.000000] Linux version 4.19.81+ (ganzin@ganzin-sw) (clang version 8.0.12 for Android NDK) #1 SMP PREEMPT Wed Jun 24 19:31:22 CST 2020
 +
[    0.000000] Machine model: Qualcomm Technologies, Inc. kona HDK
 +
[    0.000000] earlycon: msm_geni_serial0 at MMIO 0x0000000000a90000 (options '')
 +
[    0.000000] bootconsole [msm_geni_serial0] enabled
 +
[    0.000000] efi: Getting EFI parameters from FDT:
 +
[    0.000000] efi: UEFI not found.
 +
[    0.000000] Memory limit set/overridden to 5065MB
 +
[    0.000000] OF: reserved mem: OVERLAP DETECTED!
 +
</pre>

於 2020年6月29日 (一) 12:23 的最新修訂

Build tool

  • Snapdragon LLVM Arm toolchain
  • GCC Linaro GNU 4.9 – 2014.07 
  • Install toolchain - Hexagon 8.3.04 and Hexagon 8.3.06
    • export HEXAGON_ROOT=$PATH_OF_INTALLL_DIR
  • Make bash in the default shell(symlink /bin/sh → dash to /bin/sh → bash)
	 sudo rm /bin/sh 
	 sudo ln -s /bin/bash /bin/sh
  • install repo (dependency with python and git) ... prefer to use python 2.7
	curl https://storage.googleapis.com/git-repo-downloads/repo-1 > ~/bin/repo
	chmod a+x ~/bin/repo
	rm -rf ~/.repo* ~/.gnupg
	gpg --import

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.11 (GNU/Linux)

mQENBFHRvc8BCADFg45Xx/y6QDC+T7Y/gGc7vx0ww7qfOwIKlAZ9xG3qKunMxo+S
hPCnzEl3cq+6I1Ww/ndop/HB3N3toPXRCoN8Vs4/Hc7by+SnaLFnacrm+tV5/OgT
V37Lzt8lhay1Kl+YfpFwHYYpIEBLFV9knyfRXS/428W2qhdzYfvB15/AasRmwmor
py4NIzSs8UD/SPr1ihqNCdZM76+MQyN5HMYXW/ALZXUFG0pwluHFA7hrfPG74i8C
zMiP7qvMWIl/r/jtzHioH1dRKgbod+LZsrDJ8mBaqsZaDmNJMhss9g76XvfMyLra
9DI9/iFuBpGzeqBv0hwOGQspLRrEoyTeR6n1ABEBAAG0H0NvbmxleSBPd2VucyA8
Y2NvM0BhbmRyb2lkLmNvbT6JATgEEwECACIFAlHRvc8CGwMGCwkIBwMCBhUIAgkK
CwQWAgMBAh4BAheAAAoJEGe35EhpKzgsP6AIAJKJmNtn4l7hkYHKHFSo3egb6RjQ
zEIP3MFTcu8HFX1kF1ZFbrp7xqurLaE53kEkKuAAvjJDAgI8mcZHP1JyplubqjQA
xvv84gK+OGP3Xk+QK1ZjUQSbjOpjEiSZpRhWcHci3dgOUH4blJfByHw25hlgHowd
a/2PrNKZVcJ92YienaxxGjcXEUcd0uYEG2+rwllQigFcnMFDhr9B71MfalRHjFKE
fmdoypqLrri61YBc59P88Rw2/WUpTQjgNubSqa3A2+CKdaRyaRw+2fdF4TdR0h8W
zbg+lbaPtJHsV+3mJC7fq26MiJDRJa5ZztpMn8su20gbLgi2ShBOaHAYDDi5AQ0E
UdG9zwEIAMoOBq+QLNozAhxOOl5GL3StTStGRgPRXINfmViTsihrqGCWBBUfXlUE
OytC0mYcrDUQev/8ToVoyqw+iGSwDkcSXkrEUCKFtHV/GECWtk1keyHgR10YKI1R
mquSXoubWGqPeG1PAI74XWaRx8UrL8uCXUtmD8Q5J7mDjKR5NpxaXrwlA0bKsf2E
Gp9tu1kKauuToZhWHMRMqYSOGikQJwWSFYKT1KdNcOXLQF6+bfoJ6sjVYdwfmNQL
Ixn8QVhoTDedcqClSWB17VDEFDFa7MmqXZz2qtM3X1R/MUMHqPtegQzBGNhRdnI2
V45+1Nnx/uuCxDbeI4RbHzujnxDiq70AEQEAAYkBHwQYAQIACQUCUdG9zwIbDAAK
CRBnt+RIaSs4LNVeB/0Y2pZ8I7gAAcEM0Xw8drr4omg2fUoK1J33ozlA/RxeA/lJ
I3KnyCDTpXuIeBKPGkdL8uMATC9Z8DnBBajRlftNDVZS3Hz4G09G9QpMojvJkFJV
By+01Flw/X+eeN8NpqSuLV4W+AjEO8at/VvgKr1AFvBRdZ7GkpI1o6DgPe7ZqX+1
dzQZt3e13W0rVBb/bUgx9iSLoeWP3aq/k+/GRGOR+S6F6BBSl0SQ2EF2+dIywb1x
JuinEP+AwLAUZ1Bsx9ISC0Agpk2VeHXPL3FGhroEmoMvBzO0kTFGyoeT7PR/BfKv
+H/g3HsL2LOB9uoIm8/5p2TTU5ttYCXMHhQZ81AY
=AUp4
-----END PGP PUBLIC KEY BLOCK-----

[Ctrl-D]

Sync Android

cd sxr2130-la-1-0-sdx55-tn-1-0_amss_standard_oem_apq.git/sxr2130_apps/LINUX/android
./sync.sh

Build the application processor Android HLOS images

sudo apt-get install libxml*
source build/envsetup.sh
lunch kona-userdebug
./build.sh dist -j8 |& tee make-log.txt

Location of Android HLOS images

ls out/target/product/kona
abl.elf                            dtb.img                             installed-files-vendor.json   persist                         shareduid_violation_modules.json
android-info.txt                   dtbo.img                            installed-files-vendor.txt    persist.img                     signed
appcompat                          dynamic_partition_metadata.txt      integrity                     pgo_profile_file_missing.txt    signed_encrypted
appcompat.zip                      fake_packages                       ipa                           prebuilt_dtbo.img               soong_to_convert.txt
boot-debug.img                     filesmap                            kernel                        previous_build_config.mk        super_empty.img
boot.img                           gen                                 kona-apps-eng.ganzin.zip      product_copy_files_ignored.txt  super.img
boot.zip                           gensecimage_target.timestamp        kona-coverage-eng.ganzin.zip  product.img                     symbols
build_fingerprint.txt              installed-files-odm.json            kona-img-eng.ganzin.zip       ramdisk                         system
build_system_stats.txt             installed-files-odm.txt             kona-symbols-eng.ganzin.zip   ramdisk-debug.img               system.img
build_thumbprint.txt               installed-files-ramdisk-debug.json  metadata                      ramdisk.img                     testcases
certificate_violation_modules.txt  installed-files-ramdisk-debug.txt   metadata.img                  ramdisk-recovery.img            userdata.img
clean_steps.mk                     installed-files-ramdisk.json        module-info.json              recovery                        vbmeta.img
coverage                           installed-files-ramdisk.txt         obj                           recovery.id                     vbmeta_system.img
data                               installed-files-recovery.json       obj_arm                       recovery.img                    vendor
debug_ramdisk                      installed-files-recovery.txt        odm                           recovery-two-step.img           vendor.img
dexpreopt.config                   installed-files-root.json           odm.img                       root                            verified_assembled_vendor_manifest.xml
dlkm                               installed-files-root.txt            otatools.zip                  secimage.log                    wall_werror.txt

NON-HLOS images

bootloader

sudo apt-get install libtinfo* gcc-8 p7zip-full
cd <target_root>/boot_images/QcomPkg/	
python ./buildex.py --variant LAA -r RELEASE -t 8250,QcomToolsPkg

aDSP

cd sxr2130_adsp/adsp_proc/build/ms
python build_variant.py 8250.adsp.prod

cDSP

cd sxr2130_cdsp/cdsp_proc/build/ms
python build_variant.py 8250.cdsp.prod

SLIP

cp nanopb-0.3.6-linux-x86.tar.gz sxr2130_slpi/slpi_proc/ssc_api
cd sxr2130_slpi/slpi_proc
python ssc_api/build/config_nanopb_dependency.py -f nanopb-0.3.6-linux-x86
cd sxr2130_slpi/slpi_proc/build/ms
python ./build_variant.py 8250.slpi.prod SENSOR_VARIANT=xr USES_FLAGS=USES_SXR2130_ENABLE

Program images

  • boot into fastboot mode in device
#get device console first, and run following command
reboot bootloader
  • Check device availability
tommy@tommy-ThinkPad-X1-Carbon-5th:~/projects/ganzin/kona_img$ fastboot devices
45ff8ad1	fastboot
  • Pre load test
tommy@tommy-ThinkPad-X1-Carbon-5th:~/projects/ganzin/kona_img$ fastboot boot boot.img 
downloading 'boot.img'...
OKAY [  2.831s]
booting...
OKAY [  0.063s]
finished. total time: 2.893s
  • Start flash image if boot normally.....
tommy@tommy-ThinkPad-X1-Carbon-5th:~/projects/ganzin/kona_img$ fastboot flash boot_a boot.img 
target reported max download size of 805306368 bytes
sending 'boot_a' (98304 KB)...
OKAY [  2.950s]
writing 'boot_a'...
OKAY [  0.209s]
finished. total time: 3.159s
  • Check marker in boot log
#get console first!

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x51df805e]
[    0.000000] Linux version 4.19.81+ (ganzin@ganzin-sw) (clang version 8.0.12 for Android NDK) #1 SMP PREEMPT Wed Jun 24 19:31:22 CST 2020
[    0.000000] Machine model: Qualcomm Technologies, Inc. kona HDK
[    0.000000] earlycon: msm_geni_serial0 at MMIO 0x0000000000a90000 (options '')
[    0.000000] bootconsole [msm_geni_serial0] enabled
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] Memory limit set/overridden to 5065MB
[    0.000000] OF: reserved mem: OVERLAP DETECTED!