Skip to main content
meta-qcom ๅ…ƒๆ•ฐๆฎๅฑ‚ๆ‰˜็ฎกๅœจ git.yoctoproject.org๏ผŒๆไพ›็”จไบŽๆž„ๅปบ Qualcomm BSP ็š„้…ๆ–นใ€‚ ไฝฟ็”จ meta-qcom ๅฑ‚ไธญ็š„้…ๆ–นๆฅๆž„ๅปบ่ฝฏไปถ้•œๅƒใ€‚่ฏฅๅฑ‚่ฟ˜ๆไพ›ๅฏนๅฏ็”จ Qualcomm ่ฎพๅค‡็š„ๆ”ฏๆŒใ€‚ ๆณจๆ„ ๆœฌๆŒ‡ๅ—ๅฐ† QCM6490 ๅ’Œ QCS6490 ็กฌไปถ SoC ไบ’ๆขไฝฟ็”จใ€‚ๅœจ meta-qcom/conf/machine/ ็›ฎๅฝ•ไธญๅฎšไน‰็š„ rb3gen2-core-kit.conf ๅ’Œๆœบๅ™จ้…็ฝฎๆ–‡ไปถๆ”ฏๆŒ QCM6490ใ€QCS6490 ๅ’Œ QCS5430 ็กฌไปถ SoCใ€‚

BitBake ็ฑป

ไธ‹่กจๆ่ฟฐไบ† meta-qcom ๆไพ›็š„่‡ชๅฎšไน‰ BitBake ็ฑปใ€‚่ฆๆต่งˆ็ฑปๅฎšไน‰๏ผŒ่ฏทๅ‚้˜… classes-recipe ๅ’Œ classesใ€‚

ๆœบๅ™จ้…็ฝฎ

Qualcomm Linux ๆœบๅ™จ้…็ฝฎๆ–‡ไปถๅฏๅœจ GitHub ไธŠ่Žทๅ–ใ€‚ไฝไบŽ meta-qcom/conf/machine/include ็›ฎๅฝ•ไธญ็š„ๆ–‡ไปถๅฎšไน‰ๅนถ่ฎพ็ฝฎๆ‰€้œ€็š„ BitBake ๅ˜้‡๏ผŒ่ฟ™ไบ›ๅ˜้‡้€šๅธธ็”ฑ Qualcomm BSP ๅฎšไน‰็š„ๆœบๅ™จ้…็ฝฎไฝฟ็”จใ€‚ไธ‹่กจๆฆ‚่ฟฐไบ†่ฟ™ไบ›ๆ–‡ไปถใ€‚

ๅŸบไบŽ QCS6490 ็š„ๅผ€ๅ‘ๅฅ—ไปถ็š„ๆœบๅ™จ้…็ฝฎๆ–‡ไปถ

ๅŸบไบŽ IQ-9075 ๅ’Œ IQ-9100 ็š„ๅผ€ๅ‘ๅฅ—ไปถ็š„ๆœบๅ™จ้…็ฝฎๆ–‡ไปถ

ๅŸบไบŽ IQ-8275 ็š„ๅผ€ๅ‘ๅฅ—ไปถ็š„ๆœบๅ™จ้…็ฝฎๆ–‡ไปถ

ๅŸบไบŽ IQ-615 ็š„ๅผ€ๅ‘ๅฅ—ไปถ็š„ๆœบๅ™จ้…็ฝฎๆ–‡ไปถ

IQ-X5121 ๅ’Œ IQ-X7181 ็š„ๆœบๅ™จ้…็ฝฎๆ–‡ไปถ

Shikra ็š„ๆœบๅ™จ้…็ฝฎๆ–‡ไปถ

ๅ†…ๆ ธๅ‘ฝไปค่กŒ

recipes-kernel/images/esp-qcom-image.bb ่ฎพ็ฝฎ UKI_CMDLINE ๅ˜้‡ใ€‚ๅœจ็”Ÿๆˆ UKI ้•œๅƒๆ—ถ๏ผŒๆญคๅ˜้‡ไฝœไธบ โ€“cmdline= ไผ ้€’็ป™ ukify ๅทฅๅ…ทใ€‚meta-qcom/conf/machine/include/qcom-base.inc ่ฎพ็ฝฎๅ˜้‡ QCOM_BOOTIMG_ROOTFS ๅ’Œ SERIAL_CONSOLES๏ผŒ่ฟ™ไบ›ๅ˜้‡็”จไบŽ็ป„ๆˆ UKI_CMDLINE ๅ˜้‡ใ€‚

ๅŒ…ๅซ DTB ๅ’Œ DTB ่ฆ†็›–

KERNEL_DEVICETREE ๅ˜้‡็”จไบŽๅฐ†ๆ‰€้œ€็š„ DTB ๅ’Œ DTB ่ฆ†็›–ๆ‰“ๅŒ…ๅˆฐ FIT ้•œๅƒไธญใ€‚ๆญคๅ˜้‡ๅœจไฝไบŽ meta-qcom/conf/machine ็š„ๅ„ไธชๆœบๅ™จ้…็ฝฎๆ–‡ไปถไธญ้…็ฝฎใ€‚ ไพ‹ๅฆ‚๏ผŒconf/machine/rb3gen2-core-kit.conf ๆ–‡ไปถ่ฎพ็ฝฎ KERNEL_DEVICETREE ๅ˜้‡๏ผŒไปŽ่€Œ้€‰ๆ‹ฉๅˆ้€‚็š„ DTB๏ผš rb3gen2-core-kit.conf ไปฅไธ‹ไปฃ็ ๅ—ๅฑ•็คบไบ†ๅฆ‚ไฝ•่ฎพ็ฝฎ KERNEL_DEVICETREEใ€‚
ๅˆ—ๅ‡บ็š„ DTB ๅ’Œ DTB ่ฆ†็›–้€š่ฟ‡ conf/machine/include/fit-dtb-compatible.inc ๆ–‡ไปถไธญ็š„ FIT_DTB_COMPATIBLE ๆก็›ฎๆ‰“ๅŒ…ๅˆฐ FIT ้•œๅƒไธญใ€‚
่ฟ™ๅฐ†็”Ÿๆˆๅฆ‚ไธ‹้…็ฝฎ็š„ FIT ้•œๅƒ๏ผš

ๅ›บไปถ้…ๆ–น

Qualcomm Linux ๅ›บไปถ้…ๆ–นๆ–‡ไปถๅฏๅœจ GitHub ไธŠ่Žทๅ–ใ€‚ๅŒๆญฅ Qualcomm Linux ๆบไปฃ็ ๅŽ๏ผŒๅ›บไปถ้…ๆ–นไฝไบŽ <workspace>/meta-qcom/recipes-bsp/firmware-bootใ€<workspace>/meta-qcom/recipes-bsp/hexagon-dsp-binaries ็›ฎๅฝ•ไธญใ€‚

ๅฏๅŠจๅ›บไปถไบŒ่ฟ›ๅˆถๆ–‡ไปถ

ๅฏๅŠจ่ฎพๅค‡้œ€่ฆๅ…ณ้”ฎ็š„ๅฏๅŠจๅ›บไปถ้•œๅƒใ€‚ไปฅไธ‹ๅ›บไปถ้…ๆ–นๆไพ›็‰นๅฎšไบŽ็กฌไปถ SoC ็š„ๅฏๅŠจๅ›บไปถใ€‚ ็”Ÿๆˆๆž„ๅปบๅŽ๏ผŒ่ฟ™ไบ› zip ๆ–‡ไปถไธญ็š„ๅ›บไปถไบŒ่ฟ›ๅˆถๆ–‡ไปถๅฏๅœจไปฅไธ‹็›ฎๅฝ•ไธญ็”จไบŽ็ƒงๅฝ•๏ผš<workspace>/build/tmp/deploy/images/<machine-name>/<image-name>.qcomflash/

ๅญ็ณป็ปŸๅ›บไปถไบŒ่ฟ›ๅˆถๆ–‡ไปถ

Qualcomm Linux ๅŒ…ๅซๅœจ็›ธๅบ”ๅญ็ณป็ปŸไธŠๅŠ ่ฝฝๅ’Œ่ฟ่กŒ็š„ๅ›บไปถไบŒ่ฟ›ๅˆถๆ–‡ไปถใ€‚ๅฝ“ Qualcomm ็กฌไปถ SoC ๅฏๅŠจๆ—ถ๏ผŒๅ„ไธชๅญ็ณป็ปŸๅœจ้€€ๅ‡บๅคไฝ็Šถๆ€ๅŽ่ฟ่กŒๅ›บไปถใ€‚linux-firmware ้…ๆ–นๆไพ›ไธŠๆธธๅ›บไปถ่ฝฏไปถๅŒ…ๅนถๅฐ†ๅฎƒไปฌๅฎ‰่ฃ…ๅˆฐ /usr/lib/firmware ็›ฎๅฝ•ไธญใ€‚ linux-firmware_%.bb ้…ๆ–นๆ‰ง่กŒไปฅไธ‹ๆ“ไฝœ๏ผš
  1. ่Žทๅ–ๅญ็ณป็ปŸๅ›บไปถไบŒ่ฟ›ๅˆถๆ–‡ไปถใ€‚
  2. ่งฃๅŒ… tar ๆ–‡ไปถใ€‚
  3. ๅฐ†ๅ›บไปถๅฎ‰่ฃ…ๅˆฐ /usr/lib/firmware/ใ€‚

DSP ๅบ“

็”จๆˆท็ฉบ้—ดๅฎž็”จ็จ‹ๅบๅผ•็”จๆ•ฐๅญ—ไฟกๅทๅค„็†ๅ™จ๏ผˆDSP๏ผ‰ๅบ“๏ผŒ่ฟ™ไบ›ๅบ“ๅฟ…้กปๅœจ rootfs ้•œๅƒไธญๅฏ็”จใ€‚ไปฅไธ‹ๅ›บไปถ้…ๆ–นๆไพ›็‰นๅฎšไบŽ็กฌไปถ SoC ็š„ DSP ๅบ“๏ผš hexagon-dsp-binaries_%.bb ้…ๆ–นๆ‰ง่กŒไปฅไธ‹ๆ“ไฝœ๏ผš
  1. ไปŽ GitHub ไป“ๅบ“่Žทๅ– DSP ๅบ“ใ€‚
  2. ่งฃๅŒ… zip ๆ–‡ไปถใ€‚
  3. ๅฐ† DSP ๅบ“ๅฎ‰่ฃ…ๅˆฐ rootfs ไธญใ€‚

bootใ€subsystem ๅ’Œ dspso ็š„ๅฎ‰่ฃ…

ๆž„ๅปบ Qualcomm Linux ๆ—ถ๏ผŒๆž„ๅปบ็ณป็ปŸไฝฟ็”จๅ›บไปถ้…ๆ–นๆ นๆฎๆœบๅ™จ้…็ฝฎๆ–‡ไปถไธญ่ฎพ็ฝฎ็š„ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ้…็ฝฎๅ˜้‡้ƒจ็ฝฒๅ›บไปถใ€‚ไพ‹ๅฆ‚๏ผŒๅœจ conf/machine/iq-9075-evk.conf ไธญ๏ผŒๅฏไปฅ็œ‹ๅˆฐ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ๅ˜้‡ไธญๅŒ…ๅซไบ† packagegroup-iq-9075-evk-firmware๏ผš
ๆณจๆ„ packagegroup-iq-9075-evk ้…ๆ–นไฝไบŽ <workspace>/meta-qcom/recipes-bsp/packagegroups/ ็›ฎๅฝ•ไธญใ€‚ๅฎƒๅฐ†ๅ›บไปถ้…ๆ–นๅˆ†็ป„ไปฅ็”Ÿๆˆ้•œๅƒใ€‚ ๆž„ๅปบ Qualcomm Linux ๆ—ถ๏ผŒๆ นๆฎๆœบๅ™จ้…็ฝฎๅ’Œ่ฝฏไปถๅŒ…็ป„้…ๆ–นๆ–‡ไปถไธญ็š„้…็ฝฎ๏ผŒๅฐ†ๆž„ๅปบๆฅ่‡ช <workspace>meta-qcom/recipes-bsp/firmware ็›ฎๅฝ•็š„็›ธๅบ”ๅ›บไปถ้…ๆ–นใ€‚

ๅ†…ๆ ธ้…ๆ–น

Qualcomm Linux ไฝฟ็”จ็š„ Linux ๅ†…ๆ ธ้…ๆ–นไฝไบŽ <workspace>/meta-qcom/recipes-kernel/linuxใ€‚Qualcomm Linux ๆ”ฏๆŒ้•ฟๆœŸๆ”ฏๆŒ๏ผˆLTS๏ผ‰็‰ˆ Qualcomm Linux ๅ†…ๆ ธ v6.18.xใ€‚ ๅœจ meta-qcom ๅฑ‚ไธญ๏ผŒๆœ‰ไธคไธชๅ†…ๆ ธ้…ๆ–น๏ผš linux-qcom_6.18.bblinux-qcom-rt_6.18.bb
ๅ†…ๆ ธ้…็ฝฎ Qualcomm Linux ๅ†…ๆ ธ้…ๆ–นไฝฟ็”จไธ€็ป„ไธๅŒ็š„ๅ†…ๆ ธ้…็ฝฎๅ’Œ็‰‡ๆฎตใ€‚

่ฎธๅฏ่ฏ

meta-qcom ไธญ้…ๆ–น็š„่ฎธๅฏ่ฏๅˆ—ไบŽ <workspace>/meta-qcom/licensesใ€‚
Yocto ๅฏไปฅๅœจๅˆ›ๅปบ้•œๅƒๆ—ถ่‡ชๅŠจๅˆ›ๅปบ SPDX SBOM ๆ–‡ๆกฃใ€‚่ฆๅฏ็”จๆญคๅŠŸ่ƒฝ๏ผŒ่ฏทๆŒ‰็…งไปฅไธ‹ๆญฅ้ชคๆ“ไฝœ๏ผš
  1. ๅœจ local.conf ไธญ็ปงๆ‰ฟ create-spdx ็ฑป๏ผŒๅฆ‚ไธ‹ๆ‰€็คบ๏ผš
  2. ็ปงๆ‰ฟ่ฏฅ็ฑปๅŽ๏ผŒไฝฟ็”จ BitBake ๅ‘ฝไปค้‡ๆ–ฐๆž„ๅปบ้•œๅƒ๏ผš
ๆ‚จๅฏไปฅๅœจไปฅไธ‹็›ฎๅฝ•ไธญๆ‰พๅˆฐ SPDX ่พ“ๅ‡บ๏ผš
  • ๅฏนไบŽๆฏไธช้…ๆ–น๏ผŒ็”Ÿๆˆ็š„ๆ–‡ไปถไฝไบŽ tmp/deploy/spdx/<machine> ็›ฎๅฝ•ไธญใ€‚
  • ้กถ็บง SPDX ่พ“ๅ‡บๆ–‡ไปถไฝไบŽ tmp/deploy/images/<machine>/ ็›ฎๅฝ•ไธญใ€‚

ๅŽ็ปญๆญฅ้ชค