# Qualcomm Linuxメタデータレイヤーの概要

このセクションでは、[Qualcommマニフェスト](https://github.com/qualcomm-linux/qcom-manifest) に含まれるレイヤーを紹介します。このマニフェストには、リファレンス・ビルドを再現するために必要なすべてのレイヤーが含まれています。Yocto Projectによって保守されているレイヤーについては、以降のセクションで紹介します。クアルコムはQualcomm開発キットに固有のレイヤーを保守しています。この開発キットのフル機能を実現するためには、コミュニティ・レイヤーが重要になります。

以下の図は、Qualcomm Linuxリリースに含まれるレイヤーを示しています。

![../../_images/qualcomm_linux_metadata_layers.png](data:image/png;base64,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a3wglhvQHspdeRT6eV8t6AEHg0nuGexd7srzrK3sIyGRDtiq4z55vwLFqcS9AZCzb6spLn0HRnEeceyGjZz3pSglgPSwVWpCrJATtLqnlwWFDAp/kP+eyMT2TBmwlbpMoX2RK3IehD922JGG8wASxUmoFd3h6x79cMRTNciin/dVE0YY5GU5xa7qgc67Ka6c26+nqNPkn/EUS9WRXdRJ/OifDzbgbIrzYm4YTbKDwW0cZwwOhHZJnNxgDJ6zheFm3gPapECRqF5nk6ciTZmgqdmUVCyBOlbC02JJeuzKV55sREsHxv6YVCPIpilXcokmZEkR0AY6OZAUx0+y5WybuO7W5A14XgiDbY5jcpo6LUuzq/o8Ug5IZ1ab7/OOPmlVn0oWkkyjxjXTtHbJDfv8ZGM4fTC2JAcbbqZAg7pYhHBLVv3kiEChpeGsIeGQpcOQ9A3yeuqBIo3rLZBL0tV874FONkrStFiy/+ERz332sFdUPg3Ux3K4DWxCHtzG0CVwuA4OEWo+lRamirRxAEJ0GMCQChI14eM04brQaF3gMM+hwiLta4V5G553y4T4DysLMym7Gvd5SSYclaxWyKiMDYOrO/TOE6pbRcovC8dEpXeBrovSY76qPk9g8GHQLWopD3vyAA6REK4jRChTAZ/hT3CgKQgXFaUrwoMm9BJFkZ4vk/wZXpgvnchILsjk87JMIqofJiaiuEBOTimLTu8C2S9PL1JXZHl0CddTwuYNb/ZC/l49DzNjDUay+QrjeeODZfw9JB59OWTnYwdfdbn+wyEW/fKf7/rr8sSjL+Z1eZju2briAvqosndKj0V/+cO3/F6HirqPSX/nL6VMzPwV/+vgw8Yl/hrK+wyJ+x339av3cfSN/2j/feM/2n/af+cDlAkOoDwniMVs7SsYkaH2E2s/fxCHkUWZz0QGA+p9XlcCsb5skRmRwQB1Wz4tECu3kBmxwYBQ1eKwCpQZ0cHAZCQOm3UwozamJxLf0piRU346r5gD7yuCagRUeX8QFko/UZFMfAkbttzlM/XILHetDa13vraK0QZbe9dbG/5J1yJTijZkaN0ynra2di6HzaAM1VnkztfW2uU8y7U1LClCWdStc1vWLm/zzrdbk1oJarLVeud7u9yq1jvnFaGc821lR1C11Za+VIDyZbtV21F1L5Sg7rXKVdp/2n9JyQIAWE1QIHEBAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4A)

**図：Qualcomm Linuxメタデータレイヤー**

表：Qualcomm Linuxメタデータレイヤーと説明

| メタデータレイヤー | 説明 |
| --- | --- |
| `meta-qcom-hwe` | Qualcomm開発キット用のソフトウェアコンポーネントをビルドするレシピを含み、QualcommのSoCに適用できる付加価値ソフトウェア機能を提供します。 |
| `meta-qcom-distro` | Qualcomm開発キット用のリファレンスディストリビューション構成を提供します。イメージレシピとパッケージグループはこのレイヤーで定義されます。 |
| `meta-qcom-extras` | 登録ユーザー向けのオプションのメタデータレイヤーです。このレイヤーを使用すると、`meta-qcom-hwe` のバイナリとして別途提供されている限定コンポーネントのソースコンパイルが可能になります。 |
| `meta-qcom-qim-product-sdk` | GStreamerフレームワークをベースとしたQualcomm^®^ Intelligent Multimedia SDK（IM SDK）およびAI SDKを提供します。これには、一連のGStreamerプラグイン、マルチメディア用サンプル・アプリケーション、およびAIのユース・ケースが含まれます。 |
| `meta-qcom-realtime` | リアル・タイム・オペレーションを可能にするQualcomm Linuxカーネル用のパッチと構成を提供します。 |
| `meta-qcom` | クアルコム製デバイスのサポートとアップストリームのオープンソース・ソフトウェア（OSS）コンポーネントが含まれます。 |
| `meta-virtualization`<br><br><br>詳細については、[meta-virtualization](https://git.yoctoproject.org/meta-virtualization) を参照してください。 | DockerやKubernetesなどのOpenEmbedded仮想化ソリューションや仮想化スタックを構築するためのパッケージが含まれています。 |
| `meta-selinux`<br><br><br>詳細については、[meta-selinux](https://git.yoctoproject.org/meta-selinux) を参照してください。 | SELinuxサポートを有効にします。このレイヤーにはリファレンスSELinuxポリシーが含まれ、必要なツールが提供されます。Qualcomm LinuxでSELinuxを有効にするには、`meta-qcom-distro/conf/distro/include/qcom-base.inc` の `DEFAULT_ENFORCING` 変数を `enforcing` に設定します。 |
| `poky/meta`<br><br><br>詳細については、[poky/meta](https://git.yoctoproject.org/poky) を参照してください。 | 組み込みOSディストリビューションで必要となる、さまざまなソフトウェアコンポーネントを提供するビルドツールとレシピファイルを提供します。 |
| `meta-openembedded`<br><br><br>詳細については、[meta-openembedded](https://git.openembedded.org/meta-openembedded) を参照してください。 | OpenEmbeddedビルドシステム用レイヤーのコレクションです。 |
| `meta-security`<br><br><br>詳細については、[meta-security](https://git.yoctoproject.org/meta-security/tree/README.md?h=scarthgap) を参照してください。 | Qualcomm Linuxカーネル用のセキュリティ・ツールや強化ツールに加え、セキュリティ機構を実装するためのライブラリを提供します。 |
| `meta-updater`<br><br><br>詳細については、[meta-updater](https://github.com/uptane/meta-updater/blob/scarthgap/README.adoc) を参照してください。 | OSTreeを使用したオーバー・ザ・エア・アップデート（OTA）を可能にします。OSTreeはロールバック機能を備え、アトミックで完全なファイルシステムのアップグレードを行うためのツールです。 |

ロボット・レイヤーについては、[Qualcomm Intelligent Robotics Product (QIRP) SDKのレイヤー](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-265/architecture.html#component-layers-of-the-qirp-sdk) を参照してください。

## Qualcomm Linuxメタデータレイヤー

以下のレイヤーは、Qualcomm BSPメタデータを表しています。

- [meta-qcom](https://docs.qualcomm.com/doc/80-70018-27JA/topic/qualcomm_linux_metadata_layers_overview.html#meta-qcom-section)
- [meta-qcom-hwe](https://docs.qualcomm.com/doc/80-70018-27JA/topic/qualcomm_linux_metadata_layers_overview.html#meta-qcom-hwe-section)
- [meta-qcom-realtime](https://docs.qualcomm.com/doc/80-70018-27JA/topic/qualcomm_linux_metadata_layers_overview.html#meta-qcom-realtime-section)

`qcom-wayland` リファレンス・ディストリビューションは以下のレイヤーで定義されています。

- [meta-qcom-distro](https://docs.qualcomm.com/doc/80-70018-27JA/topic/qualcomm_linux_metadata_layers_overview.html#meta-qcom-distro-section)

オプションのQualcomm IM SDKは以下のレイヤーで定義されています。

- [meta-qcom-qim-product-sdk](https://docs.qualcomm.com/doc/80-70018-27JA/topic/qualcomm_linux_metadata_layers_overview.html#meta-qcom-qim-product-sdk-section)

オプションのBSPは以下のメタデータレイヤー で定義されています。

- [meta-qcom-extras](https://docs.qualcomm.com/doc/80-70018-27JA/topic/qualcomm_linux_metadata_layers_overview.html#meta-qcom-extras-section)

### Qualcomm LinuxメタデータレイヤーでのBitBake OVERRIDEの使用

Qualcomm Linuxメタデータレイヤーは、BitBakeのOVERRIDE方式を使用して、`base` と `custom` と呼ばれる2種類の異なるBSPバリアントを実装しています。

Qualcomm Linuxのビルドを開始するときは、`QCOM_SELECTED_BSP` 変数を `custom` または `base` のいずれかに設定します。この変数は `conf/machine/include/qcom-base.inc` で定義されており、デフォルトでは以下のように `custom` に設定されています。

QCOM_SELECTED_BSP ??= "custom"
    Copy to clipboard

`QCOM_SELECTED_BSP` に設定された値は、2種類のBitBake OVERRIDEに変換されます。以下は、対応するBitBake OVERRIDEへの `QCOM_SELECTED_BSP` のマッピングテーブルです。

| `QCOM_SELECTED_BSP` の値 | 対応するBitBake OVERRIDE |
| --- | --- |
| `base` | `qcom-base-bsp` |
| `custom` | `qcom-custom-bsp` |

BitBake OVERRIDEの有効値は選択的に変数を設定するので、その結果、イメージにパッケージが含まれます。

注釈

BitBakeのOVERRIDEをより深く理解するには、[Conditional syntax (Overrides)](https://docs.yoctoproject.org/bitbake/2.8/bitbake-user-manual/bitbake-user-manual-metadata.html#conditional-syntax-overrides) と [Yocto Project Documentation](https://docs.yoctoproject.org/singleindex.html#term-OVERRIDES) を参照してください。

BSPの `base` バリアントを活用し、ビルド時に `QCOM_SELECTED_BSP` を設定する方法については、[ベース・イメージのビルド](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-254/github_workflow_unregistered_users.html#build-base-image) を参照してください。

注釈

このリリースでは、`base` BSPは、`qcs8300-ride-sx.conf`、`qcs9075-ride-sx.conf`、`qcs9100-ride-sx.conf` を使用するビルドを行うためのQualcommリファレンスデバイスをサポートしています。

最終的なイメージ構成は、`QCOM_SELECTED_BSP` 変数に `base` と `custom` という値のどちらを選択するかによって決定されます。[概要](https://docs.qualcomm.com/doc/80-70018-27JA/topic/overview.html#yocto-overview) を参照してください。

これらのOVERRIDEに基づいて、ビルドするソフトウェアコンポーネントがどのように選択されるかについての例を確認するには、`qcom-base-bsp` や `qcom-custom-bsp` を使用して `meta-qcom-hwe` コードベースを検索してください。

### meta-qcom

`meta-qcom` メタデータレイヤー は [git.yoctoproject.org](http://git.yoctoproject.org) でホストされており、Qualcomm OSSをビルドするためのレシピを提供します。ソフトウェア・イメージは、`meta-qcom` レイヤーの以下のレシピを使用してビルドされます。

| `recipes-devtools/qdl/qdl_git.bb` | Qualcomm Download（QDL）フラッシュ・ツールは、ID 05c6:9008を表示するUSBデバイスと通信して、フラッシュ・ローダーをアップロードし、このレシピを使用してイメージをフラッシュします。 |
| --- | --- |
| `recipes-support/pd-mapper/pd-mapper_git.bb` | Qualcomm pd-mapperは、保護ドメイン・マッパー・サービスを実装しています。このサービスは、保護ドメインの構成と管理を行い、アプリケーションとさまざまなリモート・プロセッサー間で安全な通信を実現します。 |
| `recipes-support/qrtr/qrtr_git.bb` | Qualcomm Router（QRTR）は、QualcommのSoCで使用されるプロセス間の通信方式です。ユーザー空間でソケット型プログラミング・インターフェースを使用して、アプリケーション・プロセッサーやモデムなど、システム内のさまざまなプロセッサー間の通信を可能にします。 |
| `recipes-support/initrdscripts/initramfs-module-copy-modules_1.0.bb` | カーネルモジュールを `initramfs` から `rootfs` にコピーするための `initramfs-framework` モジュールです。 |

### meta-qcom-hwe

`meta-qcom-hwe` メタデータレイヤー は [GitHub](https://github.com/qualcomm-linux/meta-qcom-hwe/tree/scarthgap) で公開されています。ここでは、クアルコム製デバイスを有効にするための付加的なソフトウェア・サポートを提供しています。

> 
> 
> - **BitBakeクラス**
> 
> 
>     BitBakeクラスの説明については、[クラス](https://github.com/qualcomm-linux/meta-qcom-hwe/tree/scarthgap/classes) を参照してください。
> 
> 
> 
> 
> 
> 
>     | ファイル | 説明 |
>     | --- | --- |
>     | `classes/qprebuilt.bbclass` | ソースを取得してコンパイルする代わりに、ビルド済みパッケージを使用するロジックを実装します。**qprebuilt** を継承するレシピに対して、このクラスは <cite>tar.gz</cite> アーカイブに圧縮されたバイナリを解凍し、BitBakeタスクを使用してパッケージ化されるバイナリを提供します。 |
>     | `classes/qmodule.bbclass` | デフォルトでは、Qualcomm BSPはカーネルで `CONFIG_MODULE_SIG_FORCE` を有効にすることで、カーネル・モジュールへの署名を強制します。ただし、ツリー外モジュールの中には適切に署名されていないモジュールが存在する場合もあります。モジュールをロードする際の問題を回避するために、`qmodule.bbclass` はカーネル・モジュールを提供するすべてのパッケージを確認し、未署名の場合は署名します。 |
>     | `classes/image_types_ota_sdboot.bbclass` | このBitBakeクラスは、OSTreeのオーバー・ザ・エア・アップデート・システムの要件に従ったイメージの作成を実装します。 |
> - **マシン構成**
> 
> 
>     Qualcomm Linuxマシンの構成ファイルは [GitHub](https://github.com/qualcomm-linux/meta-qcom-hwe/tree/scarthgap/conf/machine) で公開されています。
> 
> 
>     `meta-qcom-hwe/conf/machine/include` ディレクトリにあるファイルで、Qualcomm BSPによって定義されたマシン構成で共通に使用できる、必要なBitBake変数の定義と設定を行います。以下の表に、これらのファイルの概要を示します。
> 
> 
> 
> 
> 
> 
>     | ファイル | 説明 |
>     | --- | --- |
>     | `meta-qcom-hwe/conf/machine/include/qcom-base.inc` | このファイルには、Qualcomm BSPで定義されたすべてのマシン構成で共通に共有されるBitBake変数が設定されています。例えば、`SOC_ARCH`、`PREFERRED_PROVIDER`、`IMAGE_FSTYPES` が挙げられます。 |
>     | `meta-qcom-hwe/conf/machine/include/qcom-qcs6490.inc` | このファイルでは `SOC_FAMILY` 変数が `qcm6490` に設定されています。これにより、Qualcomm Linuxレシピが `qcm6490` というOVERRIDEを使用して、Qualcomm BSPに固有の変更を実装できるようになります。このファイルには、QCS6490ベースのすべてのQualcomm開発キットで共有される構成変数も定義されています。 |
>     | `meta-qcom-hwe/conf/machine/include/qcom-qcs9100.inc` | このファイルでは `SOC_FAMILY` 変数が `qcs9100` に設定されています。これにより、Qualcomm Linuxレシピが `qcs9100` というOVERRIDEを使用して、Qualcomm BSPに固有の変更を実装できるようになります。このファイルには、QCS9100ベースのすべてのQualcomm開発キットで共有される構成変数も定義されています。 |
>     | `meta-qcom-hwe/conf/machine/include/qcom-qcs8300.inc` | このファイルでは `SOC_FAMILY` 変数が `qcs8300` に設定されています。これにより、Qualcomm Linuxレシピが `qcs8300` というOVERRIDEを使用して、Qualcomm BSPに固有の変更を実装できるようになります。このファイルには、QCS8300ベースのすべてのQualcomm開発キットで共有される構成変数も定義されています。 |
>     | `meta-qcom-hwe/conf/machine/include/qcom-qcs615.inc` | このファイルは `SOC_FAMILY` 変数を `qcs615` に設定します。これにより、Qualcomm Linuxレシピが `qcs615` というOVERRIDEを使用して、Qualcomm BSPに固有の変更を実装できるようになります。このファイルには、QCS615 ベースのすべてのQualcomm開発キットで共有される構成変数も定義されています。 |
> 
> 
> 
>     **QCS6490ベースの開発キット用マシン構成ファイル**
> 
> 
> 注釈
> 
> 
> Qualcomm Linux 1.2以降のリリースでは、以下の表に示す新しいマシン構成ファイルを使用する必要があります。Qualcomm Linux 1.1の以前のマシン構成ファイル（`qcm6490.conf`）は、Qualcomm Linux 1.2のマシン構成ファイルに置き換えられました。
> 
> 
> 
> 
> 
> 
>     | 構成ファイル | 説明 |
>     | --- | --- |
>     | `conf/machine/qcm6490-idp.conf` | このファイルはQCM6490を搭載する統合開発プラットフォーム（IDP）用です。 |
>     | `conf/machine/qcs6490-rb3gen2-core-kit.conf` | このファイルは、QCS6490ベースのQualcomm^®^ RB3 Gen 2 Core開発キット用です。 |
>     | `conf/machine/qcs6490-rb3gen2-vision-kit.conf` | このファイルは、QCS6490ベースのQualcomm^®^ RB3 Gen 2 Vision開発キット（低解像度/高解像度CSIカメラ搭載）用です。 |
>     | `conf/machine/qcs6490-rb3gen2-industrial-kit.conf` | このファイルは、QCS6490ベースのQualcomm^®^ RB3 Gen 2 Industrial開発キット用です。 |
> 
> 
> 
>     **QCS9075およびQCS9100ベースの開発キット用マシン構成ファイル**
> 
> 
> 
> 
> 
> 
>     | 構成ファイル | 説明 |
>     | --- | --- |
>     | `conf/machine/qcs9100-ride-sx.conf` | このファイルは、QCS9100ベースのQualcomm^®^ IQ9 Beta評価キット（EVK）用です。 |
>     | `conf/machine/qcs9075-ride-sx.conf` | このファイルは、QCS9075ベースのQualcomm IQ9 Beta EVK用です。 |
>     | `conf/machine/qcs9075-rb8-core-kit.conf` | このファイルは、QCS9075ベースのQualcomm Dragonwing^™^ IQ-9075 EVK用です。 |
>     | `conf/machine/qcs9075-rb8-core-kit-interface-plus-mezz.conf` | このファイルは、QCS9075ベースのDragonwing IQ-9075 EVK用です。 |
> 
> 
> 
>     **QCS8300ベースの開発キット用マシン構成ファイル**
> 
> 
> 
> 
> 
> 
>     | 構成ファイル | 説明 |
>     | --- | --- |
>     | `conf/machine/qcs8300-ride-sx.conf` | このファイルは、QCS8300ベースのQualcomm^®^ IQ8 Beta EVK用です。 |
> 
> 
> 
>     **QCS615ベースの開発キット用マシン構成ファイル**
> 
> 
> 
> 
> 
> 
>     | 構成ファイル | 説明 |
>     | --- | --- |
>     | `conf/machine/qcs615-adp-air.conf` | このファイルは、QCS615ベースのQualcomm^®^ IQ6 Beta EVK用です。 |
> 
> 
> 
>     `meta-qcom-hwe` **のOVERRIDEの使用**
> 
> 
>     Qualcomm BSPはBitBake OVERRIDEを使用して、BSPをビルドするための2つの異なる方法を定義しています。
> 
> 
>     メタデータレイヤーは以下のように、`meta-qcom-hwe/conf/machine/include/qcom-base.inc` ファイルの `QCOM_SELECTED_BSP` から `MACHINEOVERRIDES` を派生しています。
> 
> 
> MACHINEOVERRIDES =. "qcom-${QCOM_SELECTED_BSP}-bsp:"
>         Copy to clipboard
> 
> 
>     `meta-qcom-hwe` の2つのMACHINEOVERRIDESは、`qcom-custom-bsp` と `qcom-base-bsp` です。これらのOVERRIDEは、マシン構成ファイル、レシピ、および `meta-qcom-hwe` メタデータレイヤー内のその他の構成ファイルによって使用されます。構成ファイルとレシピは、これらのOVERRIDE構成を使用して、特定の条件が満たされた場合に変数を設定し、必要に応じてタスクを追加します。
> 
> 
>     レシピと構成ファイルはMACHINEOVERRIDESを使用して、ビルド時に有効なOVERRIDEに基づいて、最終イメージがQualcommのカスタムBSPソフトウェア・コンポーネントで構成されるか、アップストリーム・ソフトウェア・コンポーネントで構成されるかを特定します。
> 
> 
>     例えば、`egl`、`libgl`、`libgles1`、`libgles2` のPREFERRED\_PROVIDERは以下のように設定されます。
> 
> 
> 
> 
> 
> 
>     | 有効なOVERRIDE | `egl`、`libgl`、`libgles1`、`libgles2` のPREFERRED\_PROVIDER |
>     | --- | --- |
>     | `qcom-custom-bsp` | `adreno` |
>     | `qcom-base-bsp` | `mesa` |
> 
> 
> 
>     BitBakeのコード・スニペットでは、特定の条件が満たされた場合にOVERRIDEによって以下のように変数が設定されます。
> 
> 
> # Provider for Graphics Library.
>         # qcom-base-bsp uses 'mesa' as GL provider
>         GL_PROVIDER ?= "adreno"
>         GL_PROVIDER:qcom-base-bsp ?= "mesa"
>         
>         PREFERRED_PROVIDER_virtual/egl      = "${GL_PROVIDER}"
>         PREFERRED_PROVIDER_virtual/libgl    = "${GL_PROVIDER}"
>         PREFERRED_PROVIDER_virtual/libgles1 = "${GL_PROVIDER}"
>         PREFERRED_PROVIDER_virtual/libgles2 = "${GL_PROVIDER}"
>         
>         PREFERRED_PROVIDER_virtual/egl-native      = "mesa-native"
>         PREFERRED_PROVIDER_virtual/libgl-native    = "mesa-native"
>         PREFERRED_PROVIDER_virtual/libgles1-native = "mesa-native"
>         PREFERRED_PROVIDER_virtual/libgles2-native = "mesa-native"
>         Copy to clipboard
> 
> 
> 注釈
> 
> 
> このリリースでは、`qcom-base-bsp` OVERRIDEは `qcs9100-ride-sx.conf` と `qcs8300-ride-sx.conf` のためだけにビルドされています。
> 
>     - **カーネルのcmdline**
> 
> 
>         `meta-qcom-hwe/conf/machine/include/qcom-qcs6490.inc`、`meta-qcom-hwe/conf/machine/include/qcom-qcs9100.inc`、`meta-qcom-hwe/conf/machine/include/qcom-qcs8300.inc` というインクルードファイルは、以下のようにカーネルのコマンドラインパラメーターを設定するために `KERNEL_CMDLINE_EXTRA` 変数を使用します。
> 
> 
> Tab qcom-qcs6490.inc
> Tab qcom-qcs9100.inc
> Tab qcom-qcs8300.inc
> 
> 以下のスニペットは `qcom-qcs6490.inc` ファイルからのものです。
> 
> 
> # Additional Kernel cmdline parameters for debug builds
>             DBG_CMDLINE = "${@oe.utils.conditional('DEBUG_BUILD','1','earlycon page_owner=on qcom_scm.download_mode=1 slub_debug=FZP,zs_handle,zspage;FZPU','',d)}"
>             
>             KERNEL_CMDLINE_EXTRA ?= "pcie_pme=nomsi kernel.sched_pelt_multiplier=4 rcupdate.rcu_expedited=1 rcu_nocbs=0-7 kpti=off kasan=off kasan.stacktrace=off no-steal-acc ${DBG_CMDLINE} swiotlb=128 mitigations=auto net.ifnames=0"
>             Copy to clipboard
> 
> 以下のスニペットは `qcom-qcs9100.inc` ファイルからのものです。
> 
> 
> # Additional Kernel cmdline parameters for debug builds
>             DBG_CMDLINE = "${@oe.utils.conditional('DEBUG_BUILD','1','earlycon reboot=panic_warm page_owner=on qcom_scm.download_mode=1 slub_debug=FZP,zs_handle,zspage;FZPU','',d)}"
>             
>             KERNEL_CMDLINE_EXTRA ?= "pcie_pme=nomsi net.ifnames=0 pci=noaer kpti=off kasan=off kasan.stacktrace=off swiotlb=128 ${DBG_CMDLINE} mitigations=auto kernel.sched_pelt_multiplier=4 rcupdate.rcu_expedited=1 rcu_nocbs=0-7 no-steal-acc vfio_iommu_type1.allow_unsafe_interrupts=1 fw_devlink.strict=1"
>             Copy to clipboard
> 
> 以下のスニペットは `qcom-qcs8300.inc` ファイルからのものです。
> 
> 
> # Additional Kernel cmdline parameters for debug builds
>             DBG_CMDLINE = "${@oe.utils.conditional('DEBUG_BUILD','1','earlycon reboot=panic_warm page_owner=on qcom_scm.download_mode=1 slub_debug=FZP,zs_handle,zspage;FZPU','',d)}"
>             
>             KERNEL_CMDLINE_EXTRA ?= "pcie_pme=nomsi net.ifnames=0 pci=noaer kpti=off kasan=off kasan.stacktrace=off swiotlb=128 ${DBG_CMDLINE} mitigations=auto kernel.sched_pelt_multiplier=4 rcupdate.rcu_expedited=1 rcu_nocbs=0-7 no-steal-acc arm64.nopauth  fw_devlink.strict=1"
>             Copy to clipboard
>     - **DTBのインクルード**
> 
> 
>         正しいデバイス・ツリー・バイナリ（DTB）が含まれるようにするために、 `KERNEL_DEVICETREE` 変数はOVERRIDE方式を使用して特定の条件が満たされた場合に設定されます。これは、`meta-qcom-hwe/conf/machine` の各マシン構成ファイル内で管理されます。
> 
> 
> 
> 
> > 
> > 
> > マシン構成ファイルでは、`custom` バリアントと `base` バリアントで `KERNEL_DEVICETREE` を異なる設定にします。以下の `conf/machine/qcs9100-ride-sx.conf` の例では、マシン構成ファイルがどのようにDTBを選択するかを示しています。
> > 
> > 
> > 
> > > 
> > > 
> > > Tab linux-qcom-base
> > > Tab linux-qcom-custom
> > > 
> > > 以下のコードブロックでは、`KERNEL_DEVICETREE` がどのように `linux-qcom-base` 向けに設定され、アップストリームDTBを使用する `base` バリアントとなるかを示しています。
> > > 
> > > 
> > > KERNEL_DEVICETREE:pn-linux-qcom-base = " \
> > >                              qcom/qcs9100-ride.dtb \
> > >                              qcom/qcs9100-ride-r3.dtb \
> > >                              qcom/sa8775p-ride.dtb \
> > >                              qcom/sa8775p-ride-r3.dtb \
> > >                              "
> > >         Copy to clipboard
> > > 
> > > 以下のコードブロックでは、`KERNEL_DEVICETREE` がどのように `linux-qcom-custom` 向けに設定され、アップストリームDTBを使用する `custom` バリアントとなるかを示しています。
> > > 
> > > 
> > > KERNEL_DEVICETREE:pn-linux-qcom-custom = " \
> > >                              qcom/qcs9100-addons-ride.dtb \
> > >                              qcom/qcs9100-addons-ride-r3.dtb \
> > >                              qcom/sa8775p-addons-ride.dtb \
> > >                              qcom/sa8775p-addons-ride-r3.dtb \
> > >                              "
> > >         Copy to clipboard
> 
> 
>     - **追加DTBOのインクルード**
> 
> 
>         カーネルデバイスツリーにオーバーレイされる追加のデバイスツリーオーバーレイ（DTBO）を含めるには、`KERNEL_TECH_DTBOS` 変数を使用してDTBO名をリストします。
> 
> 
> 注釈
> 
> 
> Qualcomm Linuxは、デバイスツリー・バイナリ・オーバーレイを `custom` バリアントでのみサポートしています。
> 
> 
>         以下の例では、`qcs9100-ride-sx.conf` でDTBOがどのように使用されるかを示しています。
> 
> 
> KERNEL_TECH_DTBOS[sa8775p-addons-ride] = " \
>                sa8775p-video.dtbo qcs9100-graphics.dtbo \
>                qcs9100-ride-sx-camera.dtbo \
>                "
>             KERNEL_TECH_DTBOS[sa8775p-addons-ride-r3] = " \
>                sa8775p-video.dtbo qcs9100-graphics.dtbo \
>                qcs9100-ride-sx-camera.dtbo \
>                "
>             
>             KERNEL_TECH_DTBOS[qcs9100-addons-ride] = " \
>                sa8775p-video.dtbo qcs9100-graphics.dtbo \
>                qcs9100-ride-sx-camera.dtbo \
>                "
>             
>             KERNEL_TECH_DTBOS[qcs9100-addons-ride-r3] = " \
>                sa8775p-video.dtbo qcs9100-graphics.dtbo \
>                qcs9100-ride-sx-camera.dtbo \
>                "
>             
>             KERNEL_TECH_DTBO_PROVIDERS = "\
>                qcom-graphicsdevicetree \
>                qcom-videodtb \
>                cameradtb \
>                "
>             Copy to clipboard
> - **ファームウェアレシピ**
> 
> 
>     Qualcomm Linuxファームウェア・レシピ・ファイルは [GitHub](https://github.com/qualcomm-linux/meta-qcom-hwe/tree/scarthgap/recipes-firmware) で公開されています。Qualcomm Linuxのソース・コードが同期されると、ファームウェア・レシピは、`<workspace>/layers/meta-qcom-hwe/recipes-firmware/firmware` ディレクトリで利用できるようになります。
> 
>     - **必須ブートバイナリ**
> 
> 
>         デバイスでカーネルを起動するには、必須ブート・ファームウェア・イメージが必要です。以下のファームウェアレシピは、ハードウェアSoC固有のブートファームウェアを提供します。
> 
> 
> 
> 
> 
> 
>         | `firmware-qcom-bootbins_1.0.bb` | 互換性のあるターゲット用の必須ブート・ファームウェア・バイナリの取得、解凍、展開を処理します。QCS6490、QCS9075、およびQCS8300 ベースのマシンに必要なブート・ファームウェアは、`QCM6490_bootbinaries.zip`、`QCS9100_bootbinaries.zip`、および `QCS8300_bootbinaries` ファイルから提供されます。 |
>         | --- | --- |
> 
> 
> 
>         ビルドが生成された後、これらのzipファイルに含まれるファームウェア・バイナリは、以下のディレクトリでフラッシュ可能です。
> 
> 
>         `<workspace>/build-qcom-wayland/tmp-glibc/deploy/images/<machine-name>/<image-name>/`
>     - **サブシステム・ファームウェア・バイナリ**
> 
> 
>         Qualcomm Linuxには、対応するサブシステムにロードされ、実行されるファームウェア・バイナリが含まれています。クアルコムのハードウェアSoCが起動すると、各サブシステムはリセットから復帰する際にファームウェアを実行します。
> 
> 
> 
> 
> 
> 
>         | `firmware-qcom-hlosfw_1.0.bb` | aDSP、cDSP、モデム、WLANなどのサブシステム・ファームウェア・バイナリの取得、解凍、インストールを処理します。QCM6490、QCS9075、およびQCS8300ベースのマシン用のファームウェア・ファイルは、`QCM6490_fw.zip`、`QCS9100_fw.zip`、および `QCS8300_fw.zip` ファイルに圧縮されています。 |
>         | --- | --- |
> 
> 
> 
>         `firmware-qcom-hlosfw_1.0.bb` レシピは以下を実行します。
> 
> 
> 
> > 
> > 
> > 1. SRC\_URIに基づいて、リモートサーバーからサブシステム・ファームウェア・バイナリを取得します。
> >         2. zipファイルを解凍します。
> >         3. ファームウェアを `rootfs` にインストールします。
>     - **DSPライブラリ**
> 
> 
>         ユーザー空間ユーティリティは、`rootfs` イメージで利用可能となっている必要があるDSPライブラリを参照します。以下のファームウェアレシピは、ハードウェアSoC固有のDSPライブラリを提供します。
> 
> 
> 
> 
> 
> 
>         | `firmware-qcom-dspso_1.0.bb` | DSPライブラリの取得、解凍、インストールを処理します。QCM6490、QCS9075、およびQCS8300ベースのマシン用のライブラリは、`QCM6490_dspso.zip`、`QCS9100_dspso.zip`、および `QCS8300_dspso.zip` のzipファイルに圧縮されています。 |
>         | --- | --- |
> 
> 
> 
>         `firmware-qcom-dspso_1.0.bb` レシピは以下を実行します。
> 
> 
> 
> > 
> > 
> > 1. SRC\_URIに基づいて、リモートサーバーからDSPライブラリを取得します。
> >         2. zipファイルを解凍します。
> >         3. DSPライブラリを `rootfs` にインストールします。
>     - **ブート、サブシステム、dspsoのインストール**
> 
> 
>         Qualcomm Linuxがビルドされる際に、ビルドシステムは、ファームウェアレシピを使用して、マシン構成ファイルに設定されている `MACHINE_EXTRA_RDEPENDS` 構成変数に基づいて、ビルド済みファームウェアを展開します。例えば、`qcom-qcs6490.inc` では、`MACHINE_EXTRA_RDEPENDS` 変数に `packagegroup-firmware-qcm6490` が含まれていることを確認できます。
> 
> 
> MACHINE_EXTRA_RDEPENDS += " \
>                packagegroup-firmware-qcm6490 \
>                "
>             Copy to clipboard
> 
> 
> 注釈
> 
> 
> `packagegroup-firmware-qcm6490` レシピは `<workspace>/layers/meta-qcom-hwe/recipes-firmware/packagegroups/` ディレクトリに存在しています。これはイメージを生成するためにファームウェアレシピをグループ化しています。
> 
> 
>         Qualcomm Linuxがビルドされると、マシン構成およびパッケージ・グループ・レシピ・ファイルの構成に基づいて、`<workspace>/layers/meta-qcom-hwe/recipes-firmware/firmware` ディレクトリからそれぞれのファームウェアレシピがビルドされます。
> - **カーネルレシピ**
> 
> 
>     Qualcomm Linuxで使用されるLinuxカーネルのレシピは、`<workspace>/layers/meta-qcom-hwe/recipes-kernel/linux` にあります。
> 
> 
>     Qualcomm Linuxは、長期サポート（LTS）のLinuxカーネルv6.6.xをサポートしています。`meta-qcom-hwe` レイヤーには、2種類の異なるカーネル・レシピがあります。
> 
>     - `linux-qcom-custom_6.6.bb` レシピは `custom` BSPをサポートし、`git.codelinaro.org` にホストされている `qcom.git` からカーネルソースを取得します。
>     - `linux-qcom-base_6.6.bb` レシピは `base` BSPをサポートし、`git.kernel.org` にホストされている `linux.git` からカーネルソースを取り込みます。
> 
> 
> 
> Tab linux-qcom-custom\_6.6.bb
> Tab linux-qcom-base\_6.6.bb
> 
> inherit kernel sota
>         
>         COMPATIBLE_MACHINE = "(qcom)"
>         
>         SRCPROJECT = "git://git.codelinaro.org/clo/la/kernel/qcom.git;protocol=https"
>         SRCBRANCH  = "kernel.qclinux.1.0.r1-rel"
>         SRCREV     = "d3ed32bf7ee64db22653833d4c3d9a80dd76896d"
>         
>         SRC_URI = "${SRCPROJECT};branch=${SRCBRANCH};destsuffix=kernel \
>                  ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', ' file://selinux.cfg', '', d)} \
>                  ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', ' file://selinux_debug.cfg', '', d)} \
>                  "
>         
>         S = "${WORKDIR}/kernel"
>         
>         KERNEL_CONFIG ??= "qcom_defconfig"
>         Copy to clipboard
> 
> inherit kernel sota
>         
>         COMPATIBLE_MACHINE = "(qcom)"
>         
>         SRC_URI = " git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git;protocol=https;branch=linux-6.6.y \
>                     file://qcom.cfg \
>                     file://vm-configs/qcom_vm.cfg \
>                     file://qcom_debug.cfg \
>                     "
>         # Apply qcom patches
>         require ${BPN}-${PV}/configs.inc
>         require ${BPN}-${PV}/devicetree.inc
>         require ${BPN}-${PV}/drivers.inc
>         require ${BPN}-${PV}/dt-bindings.inc
>         require ${BPN}-${PV}/tools.inc
>         
>         KERNEL_CONFIG_FRAGMENTS:append = " ${WORKDIR}/qcom.cfg"
>         KERNEL_CONFIG_FRAGMENTS:append = " ${@oe.utils.vartrue('DEBUG_BUILD', '${WORKDIR}/qcom_debug.cfg', '', d)}"
>         
>         S = "${WORKDIR}/git"
>         Copy to clipboard
> 
> 
>     マシン構成ファイルはOVERRIDEを使用して適切なカーネル・レシピ・バリアントを選択します。`qcom-base.inc` ファイルでは、`base` バリアントが選択されている場合には、`linux-qcom-base` が選択されます。`custom` バリアントが選択されている場合には、カーネルは以下のスニペットに示すように `linux-qcom-custom` レシピを使用してビルドされます。
> 
> 
> PREFERRED_PROVIDER_virtual/kernel ?= "linux-qcom-custom"
>         PREFERRED_PROVIDER_virtual/kernel:qcom-base-bsp ?= "linux-qcom-base"
>         Copy to clipboard
> 
> 
>     **カーネル構成**
> 
> 
>     Qualcomm Linuxカーネルレシピは、`base` バリアントと `custom` バリアントに対し、カーネル構成とフラグメントの異なるセットを使用しています。
> 
> 
> 
> 
> 
> 
>     | バリアント | 構成ファイルとフラグメントファイル |
>     | --- | --- |
>     | `base` | `defconfig`, `qcom.cfg`, `qcom_vm.cfg`, `qcom_debug.cfg` |
>     | `custom` | `qcom_defconfig`, `qcom_addons.config`, `selinux.cfg`,<br>`qcom_debug.config`, `qcom_addons_debug.config`, `selinux_debug.cfg` |
> 
> 
> 
>     以下の表では `custom` バリアント用に使用される `defconfig` と `fragments` について説明しています。
> 
> 
> 
> 
> 
> 
>     | カーネル構成フラグメント | 説明 |
>     | --- | --- |
>     | `<kernel_src>/arch/arm64/configs/qcom_defconfig` | 製品/性能のニーズに合わせたデフォルト構成 |
>     | `<kernel_src>/arch/arm64/configs/qcom_debug.config` | デバッグ構成フラグメント |
>     | `<kernel_src>/arch/arm64/configs/qcom_addons.config` | アップストリームに合わせたベースに加えて、追加されるQualcommの付加価値拡張機能 |
>     | `<kernel_src>/arch/arm64/configs/qcom_addons_debug.config` | Qualcommのデバッグの有効化 |
> 
> 
> 
>     Qualcomm Linuxの `custom` バリアントレシピである `linux-qcom-custom_6.6.bb` は、さらに `perf` バリエーションと `debug` バリエーションをサポートしています。`linux-qcom-custom_6.6.bb` を使用してカーネルをビルドする際のデフォルトモードは、`perf` です。
> 
> 
> 
> 
> 
> 
>     | ビルドバリアント | defconfig/configフラグメント |
>     | --- | --- |
>     | `Perf` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">arch/arm64/configs/qcom_defconfig</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">arch/arm64/configs/qcom_addons.config</span></code></p></li><br></ul> |
>     | `Debug` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">arch/arm64/configs/qcom_defconfig</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">arch/arm64/configs/qcom_debug.config</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">arch/arm64/configs/qcom_addons.config</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">arch/arm64/configs/qcom_addons_debug.config</span></code></p></li><br></ul> |
> 
> 
> 
>     `linux-qcom-custom_6.6.bb` を使用してデバッグ・カーネル・イメージをビルドするには、BitBakeコマンドを使用してイメージをビルドするシェルでDEBUG\_BUILDを1に設定します。
> 
> 
>     この設定は以下のコードで有効になります。
> 
> 
> KERNEL_CONFIG ??= "qcom_defconfig"
>         
>         KERNEL_CONFIG_FRAGMENTS:append = " ${S}/arch/arm64/configs/qcom_addons.config"
>         KERNEL_CONFIG_FRAGMENTS:append = " ${@oe.utils.vartrue('DEBUG_BUILD', '${S}/arch/arm64/configs/qcom_debug.config', '', d)}"
>         KERNEL_CONFIG_FRAGMENTS:append = " ${@oe.utils.vartrue('DEBUG_BUILD', '${S}/arch/arm64/configs/qcom_addons_debug.config', '', d)}"
>         
>         # Enable selinux support
>         SELINUX_CFG = "${@oe.utils.vartrue('DEBUG_BUILD', 'selinux_debug.cfg', 'selinux.cfg', d)}"
>         KERNEL_CONFIG_FRAGMENTS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', '${WORKDIR}/${SELINUX_CFG}', '', d)}"
>         Copy to clipboard
> 
> 
>     Qualcommプラットフォーム用のカーネルモジュールを自動ロードするには、Qualcomm LinuxカーネルレシピのKERNEL\_MODULE\_AUTOLOAD変数を更新します。例えば、CoreSightモジュールとSTMモジュールは以下のように自動ロードされます。
> 
> 
> KERNEL_MODULE_AUTOLOAD += "coresight coresight-tmc coresight-funnel"
>         KERNEL_MODULE_AUTOLOAD += "coresight-replicator coresight-etm4x coresight-stm"
>         KERNEL_MODULE_AUTOLOAD += "coresight-cti coresight-tpdm coresight-tpda coresight-dummy"
>         KERNEL_MODULE_AUTOLOAD += "coresight-remote-etm coresight-tgu"
>         KERNEL_MODULE_AUTOLOAD += "stm_core stm_p_ost stm_console stm_heartbeat stm_ftrace "
>         Copy to clipboard
> - **ライセンス**
> 
> 
>     `meta-qcom-hwe` のレシピのライセンスは `<workspace>/meta-qcom-hwe/files/common-licenses` に記載されています。
> 
> 
> common-licenses/
>         ├── BSD-3-Clause-Clear
>         ├── GPLv2.0-with-linux-syscall-note
>         └── Qualcomm-Technologies-Inc.-Proprietary
>         Copy to clipboard
> 
> 
>     Yoctoは、イメージの作成に基づいてSPDX SBOMドキュメントを自動的に作成できます。この機能を有効にするには、以下のように `local.conf` で `create-spdx` クラスを継承します。
> 
> 
> INHERIT += "create-spdx"
>         Copy to clipboard
> 
> 
>     クラスを継承した後は、BitBakeコマンドでイメージを再ビルドできます。
> 
> 
> bitbake qcom-multimedia-image
>         Copy to clipboard
> 
> 
>     SPDXの出力は以下のディレクトリにあります。
> 
>     - 各レシピについて、生成されたファイルは `tmp/deploy/spdx/<machine>` ディレクトリにあります。
>     - トップレベルのSPDX出力ファイルは `tmp/deploy/images/MACHINE/<image-recipe>-<MACHINE>.spdx.json` ディレクトリにあります。

### meta-qcom-distro

このレイヤーは、Qualcomm Linux用のリファレンス・ディストリビューション構成を提供します。イメージ・レシピとパッケージ・グループはこのレイヤーで定義されます。

- **BitBakeクラス**

    以下の表では、[クラス](https://github.com/qualcomm-linux/meta-qcom-distro/tree/scarthgap/classes) で公開されているBitBakeクラスについて紹介しています。

    Qualcomm Linuxは、デバイスへのアクセスにSSHとUARTのシリアルシェルの両方をサポートしています。デバイスへのアクセスには、SSHまたはUARTのいずれかを選択できます。また、ADBを使用して、IPインターフェースが停止しているときに問題をデバッグしたり、大きなファイルを転送したりすることもできます。

    | `image-adbd.bbclass` | `meta-qcom-distro` の `image-adbd.bbclass` クラスはイメージにadbdをインストールします。`IMAGE_FEATURES` に `enable-adbd` 機能が含まれていない限り、adbdデーモンは無効のままです。`rootfs` から `/etc/usb-debugging-enabled` を手動で削除することで、adbdを無効にできます。 |
    | --- | --- |
    | `image-qcom-deploy.bbclass` | `<workspace>/build-<distro>/tmp-glibc/deploy/images/<machine>/<image-name>` で利用可能なイメージファイルを展開します。生成されたイメージは `<image-name>` サブディレクトリに展開されます。 |
- **ディストリビューション構成**

    以下の表では、[GitHub](https://github.com/qualcomm-linux/meta-qcom-distro/tree/scarthgap/conf/distro) で公開されているディストリビューション構成を紹介しています。

    | `conf/distro/qcom-wayland.conf` | このディストリビューション構成ファイルは `qcom-wayland` ディストリビューションを定義します。`qcom-wayland` ディストリビューションは以下のコマンド例で使用できます。<br><br><br><br>> <br>> <br>> MACHINE=qcs6490-rb3gen2-core-kit DISTRO=qcom-wayland QCOM_SELECTED_BSP=base source setup-environment<br>>         Copy to clipboard<br><br><br><br>`meta-qcom-distro/conf/distro/include/qcom-base.inc` 構成は共通のDISTRO\_FEATURESを定義します。`meta-qcom-distro/conf/distro/qcom-wayland.conf` 構成は以下の機能を追加します。<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><code class="docutils literal notranslate"><span class="pre">wayland</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">vulkan</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">opengl</span></code></p></li><br>> </ul><br><br><br><br>Yocto Projectドキュメントでは、これらのディストリビューション機能を [ディストリビューション機能](https://docs.yoctoproject.org/5.0.6/singleindex.html#distro-features) で定義しています。 |
    | --- | --- |
    | `conf/distro/include/qcom-base.inc` | INIT\_MANAGERは `systemd` に設定されています。INIT\_MANAGERに関するYocto Projectドキュメントについては、[INIT_MANAGER](https://docs.yoctoproject.org/5.0.6/singleindex.html#term-INIT_MANAGER) を参照してください。その他の有効になっているDISTRO\_FEATURESは以下のとおりです。<br><br><br>DISTRO_FEATURES:append = ” pam overlayfs acl xattr selinux ptest security virtualization tpm usrmerge sota”<br>        Copy to clipboard<br><br><br>これらのDISTRO\_FEATURESの目的を理解するには、[ディストリビューション機能](https://docs.yoctoproject.org/5.0.6/singleindex.html#distro-features) を参照してください。<br><br><br>このファイルでは、INIT\_MANAGERとして `systemd` を、DEV\_MANAGERとして `udev` を選択しています。 |
    | `conf/distro/include/qcom-security_flags.inc` | このファイルには、[セキュリティ・フラグ](https://git.yoctoproject.org/poky/tree/meta/conf/distro/include/security_flags.inc?h=scarthgap) に定義されているセキュリティ・フラグが含まれています。 |
- **パッケージグループ**

    パッケージグループは `meta-qcom-hwe` と `meta-qcom-distro` で定義されています。これらのパッケージグループは、Qualcomm BSPで定義されている機能を理解する際に役立ちます。

    | `packagegroup-qcom.bb` | すべての基本パッケージを含むパッケージグループ。 |
    | --- | --- |
    | `packagegroup-qcom-multimedia.bb` | マルチメディアサポートを有効にするためのパッケージを含むパッケージグループ。<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><code class="docutils literal notranslate"><span class="pre">packagegroup-container</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">packagegroup-qcom-audio</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">packagegroup-qcom-camera</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">packagegroup-qcom-display</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">packagegroup-qcom-fastcv</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">packagegroup-qcom-graphics</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">packagegroup-qcom-k8s</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">packagegroup-qcom-opencv</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">packagegroup-qcom-video</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">python3-docker-compose</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">packagegroup-qcom-iot-base-utils</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">packagegroup-qcom-location</span></code></p></li><br>> </ul><br>> <br>> 注釈<br>> <br>> <br>> `packagegroup-qcom-location` は `meta-qcom-extras` メタデータレイヤーで定義されています。 |
    | `packagegroup-qcom-test-pkgs.bb` | テストパッケージを含むパッケージグループ。 |
- **イメージレシピ**

    `meta-qcom-distro` というQualcomm Linuxのメタデータレイヤー はイメージ・レシピを定義しており、このレシピは [GitHub](https://github.com/qualcomm-linux/meta-qcom-distro/tree/scarthgap/recipes-products/images) で公開されています。以下の表は、さまざまなイメージとその `IMAGE_FEATURES`、およびイメージが提供する機能の一覧です。

    | イメージレシピ | イメージの説明 |
    | --- | --- |
    | `qcom-minimal-image.bb` | 起動するための小規模な `rootfs` をシェルに定義します。<br><br><br>有効な `IMAGE_FEATURES` は以下のとおりです。<br><br><br>IMAGE_FEATURES += "splash tools-debug allow-root-login post-install-logging enable-adbd"<br>        Copy to clipboard<br><br><br>`IMAGE_FEATURES` の詳細については、[イメージ機能](https://docs.yoctoproject.org/5.0.6/singleindex.html#image-features) を参照してください。 |
    | `qcom-console-image.bb` | より多くのパッケージを追加し、より多くの `IMAGE_FEATURES` を使用できるようにすることで `qcom-minimal-image` を拡張します。<br><br><br>IMAGE_FEATURES += “package-management ssh-server-openssh”<br>        Copy to clipboard |
    | `qcom-multimedia-image.bb` | `DISTRO_FEATURE` waylandが必要です。`rootfs` のすべてのマルチメディアパッケージが含まれています。 |
    | `qcom-multimedia-test-image.bb` | `qcom-multimedia-image` をテストするための `rootfs` のテストパッケージを含んでいます。 |
    | `qcom-multimedia-crossesdk-image.bb` | `qcom-multimedia-image` 用のeSDKを生成します。 |
    | `qcom-guestvm-image.bb` | シェル起動をサポートした最小限のカーネルベース仮想マシン（KVM）イメージです。 |
- **QDLフラッシングツール**

    QDLは、USBデバイスと通信し、フラッシュ・ローダーをデバイスにアップロードするフラッシング・ツールです。フラッシュ・ローダーは、ユニバーサル・フラッシュ・ストレージ（UFS）またはデバイスに内蔵された組み込み型マルチメディアカード（eMMC）にイメージをフラッシュします。`QDLフラッシング` の詳細については、[QDL](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-254/flash_images.html) を参照してください。

### Qualcomm Linuxのビルド

`meta-qcom`、`meta-qcom-hwe`、`meta-qcom-distro` セクションでは、マシン構成、ディストリビューション構成、イメージ・レシピ、OVERRIDEについて説明しています。

`MACHINE`、`DISTRO`、`QCOM_SELECTED_BSP` に設定可能なサポート値は [表](https://docs.qualcomm.com/doc/80-70018-27JA/topic/qualcomm_linux_metadata_layers_overview.html#qcom-selected-bsp) に記載されています。環境をセットアップするには、これらの値を使用して以下のコマンドを実行します。

MACHINE=<machine configuration name> DISTRO=<Distro name> QCOM_SELECTED_BSP=<variant name> source setup-environment
    Copy to clipboard

以下の表は、選択された `MACHINE`、`DISTRO`、`QCOM_SELECTED_BSP` に従ってイメージの選択と生成を行う際に考えられるイメージ・レシピの一覧です。以下のコマンドを実行します。

bitbake <image recipe name>
    Copy to clipboard

| `QCOM_SELECTED_BSP`<br><br>（ユーザーによる選択） | 有効なBitBake OVERRIDE<br><br>（`QCOM_SELECTED_BSP` から派生） | MACHINEの構成<br><br>（ユーザーによる選択） | リファレンスDISTROの構成<br><br>（ユーザーによる選択） | イメージレシピ<br><br>（ユーザーによる選択） |
| --- | --- | --- | --- | --- |
| `custom` | `qcom-custom-bsp` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">qcs6490-rb3gen2-core-kit.conf</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcs6490-rb3gen2-vision-kit.conf</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcs6490-rb3gen2-industrial-kit.conf</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcs6490-idp.conf</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcs8300-ride-sx.conf</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcs9100-ride-sx.conf</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcs9075-ride-sx.conf</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcs8300-ride-sx.conf</span></code></p></li><br></ul> | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">qcom-wayland</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcom-robotics-ros2-humble</span></code></p></li><br></ul> | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">qcom-minimal-image</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcom-console-image</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcom-multimedia-image</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcom-multimedia-test-image</span></code></p></li><br></ul> |
| `base` | `qcom-base-bsp` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">qcs6490-rb3gen2-core-kit.conf</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcs6490-rb3gen2-vision-kit.conf</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcs6490-rb3gen2-industrial-kit.conf</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcs6490-idp.conf</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcs8300-ride-sx.conf</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcs9100-ride-sx.conf</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcs9075-ride-sx.conf</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcs8300-ride-sx.conf</span></code></p></li><br></ul> | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">qcom-wayland</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcom-robotics-ros2-humble</span></code></p></li><br></ul> | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">qcom-minimal-image</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcom-console-image</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcom-multimedia-image</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qcom-multimedia-test-image</span></code></p></li><br></ul> |
|  |  |  |  |  |

Qualcomm Linuxのビルドでサポートされている組み合わせの詳細については、[Qualcomm Linuxリリースノート](https://docs.qualcomm.com/bundle/publicresource/topics/RNO-250403001134) を参照してください。

詳細なビルド手順については、[未登録ユーザー向けのGitHubワークフロー](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-254/github_workflow_unregistered_users.html) を参照してください。

### meta-qcom-realtime

`meta-qcom-realtime` メタデータレイヤー は [GitHub](https://github.com/qualcomm-linux/meta-qcom-realtime) で公開されています。このレイヤーは、クアルコム製デバイス用のリアルタイム・カーネルをビルドする際に必要となる付加的なソフトウェア・サポートを提供します。

- **カーネルレシピ**

    Qualcomm Linuxは、LTS Qualcomm Linuxカーネルv6.6.xとリアルタイム拡張をサポートしています。これは、`meta-qcom-realtime` レイヤー下の `recipes-kernel/linux` にある `linux-qcom-custom-rt_6.6.bb`、`linux-qcom-base-rt_6.6.bb` というYoctoレシピを通じて保守されています。保留中のpre-empt RTパッチは [リアルタイム](https://wiki.linuxfoundation.org/realtime/start) にあります。これらのパッチは取得され、[Codelinaro](https://git.codelinaro.org/clo/la/kernel/qcom.git) で公開されている `linux-qcom-custom-rt_6.6.bb` 上に適用されます。

    Qualcomm製デバイス用のリアルタイムカーネルをコンパイルするには：

> 
> 
> - OVERRIDEで `custom` を選択した場合は、`conf/layer.conf` は `linux-qcom-custom-rt` を選択します。
>     - OVERRIDEで `base` を選択した場合は、`conf/layer.conf` は `linux-qcom-base-rt` を選択します。

    **カーネル構成**

    どちらのレシピも、以下のように `qcom_rt.cfg` フラグメントを追加します。

KERNEL_CONFIG_FRAGMENTS:append = " ${WORKDIR}/qcom_rt.cfg"
        Copy to clipboard
- **ビルド時の** `meta-qcom-realtime` **の有効化**

    `meta-qcom-realtime` をビルドに含めるには、以下の手順で説明するように、`meta-qcom-realtime` レイヤーを `bblayers.conf` のEXTRALAYERSにエクスポートします。

    1. 環境をセットアップするsourceコマンドを実行します。

        以下は QCS6490 ベースのマシンと `qcom-wayland` ディストリビューションの環境をセットアップする source コマンドの例です。

MACHINE=qcs6490-rb3gen2-core-kit DISTRO=qcom-wayland source setup-environment
            Copy to clipboard
    2. `build-qcom-wayland/conf/bblayers.conf` ファイルを開き、EXTRALAYERS変数を以下のように更新します。

EXTRALAYERS ?= " \
              ${WORKSPACE}/layers/meta-qcom-realtime \
             "
            Copy to clipboard
    3. 以下のようにビルドコマンドを実行して、`meta-qcom-realtime` を使用して再ビルドします。

bitbake qcom-multimedia-image
            Copy to clipboard

### meta-qcom-extras

このレイヤーは、登録ユーザー向けのオプションのメタデータレイヤー です。このレイヤーを使用すると、`meta-qcom-hwe` のバイナリとして別途提供されている限定コンポーネントのソース・コンパイルが可能になります。このメタデータレイヤー を利用できる権限をお持ちのユーザーは、[Qualcomm Linuxビルドガイド](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-254/build_addn_info.html) で共有されている手順を実行できます。

- **ファームウェアレシピ**

    `meta-qcom-extras` レイヤーは、`meta-qcom-hwe` レイヤーで定義されたファームウェア・レシピ用のレシピ追加ファイルを `meta-qcom-hwe/recipes-firmware/firmware` で提供しています。これらのレシピ追加ファイルは、以下のコード・スニペットに示されているとおり `.bbapend` という拡張子を持ちます。ファームウェア・レシピの追加ファイルには、このQualcomm Linuxリリースで配布されているデフォルトのzipファイルの代わりに使用することが可能なzipファイルを設定する `SRC_URI` が含まれています。

    [Qualcomm Linuxビルド・ガイド](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-254/build_addn_info.html) に従って、cDSP、aDSP、ブート・ファームウェアをビルドし、用意されているレシピ追加ファイルを使用して、統合できるzipファイルを生成します。

    | recipes-firmware<br>        └── firmware<br>           ├── firmware-qcom-bootbins_1.0.bbappend<br>           ├── firmware-qcom-dspso_1.0.bbappend<br>           ├── firmware-qcom-hlosfw_1.0.bbappend<br>           └── firmware-qcom-partconf_1.0.bbappend<br>        Copy to clipboard | `meta-qcom-extras` のレシピは、`meta-qcom-hwe` のレシピにある `SRC_URI` を上書きします。`meta-qcom-hwe` レイヤーは、デフォルトではビルド済みのファームウェアバイナリを使用しますが、`meta-qcom-extras` レイヤーは、ユーザーによって提供されたファームウェアzipをビルドします。<br><br><br>`meta-qcom-extras` レイヤーは、デフォルトの.zipファイルに用意されているビルド済みのバイナリを無視します。これらのレシピは、代わりに以下のようにFWZIP\_PATHに設定されたユーザー提供の.zipファイルを検索します。<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><code class="docutils literal notranslate"><span class="pre">firmware-qcom-bootbins_1.0.bbappend</span></code>：<code class="docutils literal notranslate"><span class="pre">FWZIP_PATH</span></code> 変数で定義されたパス以下にあるzipアーカイブを検索します。</p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">firmware-qcom-hlosfw_1.0.bbappend</span></code>：<code class="docutils literal notranslate"><span class="pre">FWZIP_PATH</span></code> 変数で定義されたパス以下にあるzipアーカイブを検索します。</p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">firmware-qcom-dspso_1.0.bbappend</span></code>：<code class="docutils literal notranslate"><span class="pre">FWZIP_PATH</span></code> 変数で定義されたパス以下にあるzipアーカイブを検索します。</p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">firmware-qcom-partconf_1.0.bbappend</span></code>：<code class="docutils literal notranslate"><span class="pre">FWZIP_PATH</span></code> 変数で定義されたパス以下にあるzipアーカイブを検索します。</p></li><br>> </ul> |
    | --- | --- |

### meta-qcom-qim-product-sdk

- **BitBakeクラス**

    以下の表は、`meta-qcom-qim-product-sdk` メタデータレイヤーで定義されているBitBakeクラスの一覧です。

    | BitBakeクラス | 説明 |
    | --- | --- |
    | `qim-prod-sdk-pkg.bbclass` | <ul class="simple"><br><li><p>Qualcomm Intelligent Multimedia Product（QIMP）SDKアーティファクトをアーカイブに圧縮するパッケージ・タスクを提供します。これは、<code class="docutils literal notranslate"><span class="pre">qim-product-sdk</span></code> レシピによって呼び出されます。</p></li><br><li><p>簡単にインストールできるアーティファクトアーカイブは、レシピのビルドが完了した後、<code class="docutils literal notranslate"><span class="pre">&lt;workspace&gt;/build-qcom-wayland/tmp-glibc/deploy/qim_prod_sdk_artifacts</span></code> ディレクトリに保存されています。</p></li><br></ul> |
    | `qimsdk-pkg.bbclass` | <ul class="simple"><br><li><p>Qualcomm Multimedia SDKパッケージを、使用しやすいインストールスクリプトとともにアーカイブにパッケージするタスクを提供します。開発、展開、デバッグを行うためのパッケージを含む個別のアーカイブが生成されます。</p></li><br><li><p>簡単にインストールできるアーティファクトアーカイブは、<code class="docutils literal notranslate"><span class="pre">&lt;workspace&gt;/build-qcom-wayland/tmp-glibc/deploy/qimsdk_artifacts</span></code> ディレクトリに保存されています。</p></li><br><li><p>ビルド中に <code class="docutils literal notranslate"><span class="pre">qim-sdk</span></code> レシピによって呼び出されます。</p></li><br></ul> |
    | `tflitesdk-pkg.bbclass` | <ul class="simple"><br><li><p>開発、展開、デバッグを行うためのLite Runtime SDKアーティファクトを複数のアーカイブに圧縮するパッケージ・タスクを提供します。これは、ビルド中に <code class="docutils literal notranslate"><span class="pre">tflite-sdk</span></code> レシピによって呼び出されます。</p></li><br><li><p>簡単にインストールできるアーティファクトアーカイブは、レシピのビルドが完了した後、<code class="docutils literal notranslate"><span class="pre">&lt;workspace&gt;/build-qcom-wayland/tmp-glibc/deploy/qim_prod_sdk_artifacts</span></code> ディレクトリに保存されています。</p></li><br></ul> |
- **ディストリビューション構成**

    | `layer.conf` | プロジェクトレイヤーを以下の情報とともに構成します。<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p>レシピファイルのパス情報</p></li><br>> <li><p>サポートするYoctoバージョン</p></li><br>> <li><p>サポートするQualcomm<sup>®</sup> Hexagon<sup>™</sup> プロセッサーバージョン</p></li><br>> <li><p>サポートするQualcomm<sup>®</sup> Neural Processing SDKバージョン</p></li><br>> <li><p>サポートするQualcomm Neural Network（QNN）SDKバージョン</p></li><br>> </ul> |
    | --- | --- |
- **イメージレシピ**

    | レシピ | 説明 |
    | --- | --- |
    | `recipes-gst` | アップストリームのGStreamerレシピの変更点（`.bbapend`）とQualcommのレシピで構成されています。<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-good_1.20%.bbappend</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-base.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-batch.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-metamux.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mldemux.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mlmeta.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mlmuxer.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mlqnn.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mlsnpe.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mltflite.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mlvclassification.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mlvconverter.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mlvdetection.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mlvpose.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mlvsegmentation.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-overlay.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-qmmfsrc.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-socket.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-tools.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-vcomposer.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-vsplit.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-vtransform.bb</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-qcom-oss-sample-apps.bb</span></code></p></li><br>> </ul> |
    | `recipes-qcom-ml` | 2種類のレシピで構成されています。<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><code class="docutils literal notranslate"><span class="pre">qnn.bb</span></code>：QNN SDKのパッケージに使用</p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">snpe.bb</span></code>：Qualcomm Neural Processing SDKのパッケージに使用</p></li><br>> </ul> |
    | `recipes-qim-product-sdk` | QIM、Qualcomm Neural Processing、QNN、およびLite Runtime SDKを含むQIM製品SDKをインストールするレシピ |
    | `recipes-tensorflow-lite` | Lite Runtimeレシピは、以下のバージョン用のLite Runtimeをビルドしてインストールします。<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p>2.12.1、2.13.1、2.14.1、2.15.0</p></li><br>> <li><p>デフォルトバージョン：2.15.0</p></li><br>> </ul> |
- **パッケージグループ**

    | パッケージグループ | 説明 |
    | --- | --- |
    | `packagegroup-qcom-gstrecipes-gst` | Qualcommプラグインとともにアップストリームの基本的なGStreamerを有効にするパッケージグループ：<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-base</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-tools</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-batch</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-metamux</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mldemux</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mlmeta</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mlvconverter</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mlvclassification</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mlvdetection</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mlvpose</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mlvsegmentation</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-overlay</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-qmmfsrc</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-socket</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-vcomposer</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-vsplit</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-vtransform</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-qcom-oss-sample-apps</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mlsnpe</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mlqnn</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-qcom-oss-mltflite</span></code></p></li><br>> </ul><br><br><br><br>アップストリームのGStreamerパッケージも含まれています。<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><code class="docutils literal notranslate"><span class="pre">cairo</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gdk-pixbuf</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">liba52</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">libdaemon</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">libgudev</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">lame</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">libpsl</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">librsvg</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">libsoup-2.4</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">libtheora</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">libwebp</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">mpg123</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">orc</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">sbc</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">speex</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">taglib</span></code></p></li><br>> </ul> |
    | `packagegroup-qcom-gst-basic` | アップストリームのGStreamerを有効にするパッケージグループ：<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-base</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-good</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-plugins-bad</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">gstreamer1.0-rtsp-server</span></code></p></li><br>> </ul> |
    | `packagegroup-qcom-qim-product` | 以下のパッケージをインストールスクリプトとともに圧縮するパッケージグループ：<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><code class="docutils literal notranslate"><span class="pre">packagegroup-qcom-gst</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">packagegroup-qcom-ml</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">install.sh</span></code></p></li><br>> </ul> |
    | `packagegroup-qcom-ml` | Qualcomm MLフレームワークを圧縮するパッケージグループ：<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><code class="docutils literal notranslate"><span class="pre">tensorflow-lite</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">qnn</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">snpe</span></code></p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">libgomp-dev</span></code></p></li><br>> </ul> |

Last Published: Sep 17, 2025

[Previous Topic
Qualcomm Linuxの特徴](https://docs.qualcomm.com/bundle/publicresource/80-70018-27JA/topics/qualcomm_linux_features.md) [Next Topic
Qualcomm Linuxのソフトウェアコンポーネント](https://docs.qualcomm.com/bundle/publicresource/80-70018-27JA/topics/qualcomm_linux_software_components.md)

Source: [https://docs.qualcomm.com/doc/80-70018-27JA/topic/qualcomm_linux_metadata_layers_overview.html](https://docs.qualcomm.com/doc/80-70018-27JA/topic/qualcomm_linux_metadata_layers_overview.html)