diff --git a/topic/k2c-qli-build-ga/acronyms_and_terms.rst b/topic/k2c-qli-build-ga/acronyms_and_terms.rst index 803f87b..7bafa79 100644 --- a/topic/k2c-qli-build-ga/acronyms_and_terms.rst +++ b/topic/k2c-qli-build-ga/acronyms_and_terms.rst @@ -53,4 +53,4 @@ Acronyms and terms * - UFS - Universal flash storage * - WSL - - Windows Subsystem for Linux + - Windows Subsystem for Linux \ No newline at end of file diff --git a/topic/k2c-qli-build-ga/addn_host_setup_build_firmware.rst b/topic/k2c-qli-build-ga/addn_host_setup_build_firmware.rst index a3f8a44..8be3978 100644 --- a/topic/k2c-qli-build-ga/addn_host_setup_build_firmware.rst +++ b/topic/k2c-qli-build-ga/addn_host_setup_build_firmware.rst @@ -14,20 +14,23 @@ Install and configure the software tools on the Ubuntu host computer. sudo apt-get install lib32stdc++6 libncurses5 checkinstall libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev curl sudo apt install pipx - # This command should add the kas binary location to your PATH. - # Restart your shell session after running this command for the changes to take effect. + # This command must add the kas binary location to your PATH + # Restart your shell session after running this command for the changes to take effect pipx ensurepath # The kas version is expected to be 4.8 or higher pipx install kas -#. Optionally download the kas-container script. kas is the tool used by Qualcomm Linux to sync and build the Yocto meta layers. The kas package also provides a kas-container script for running kas in a container. If you prefer running the image builds in an isolated environment, consider using kas-container instead. +#. (Optional) Download the ``kas-container`` script. + Kas is the tool you use to sync and build Yocto meta layers. + The kas package also includes the ``kas-container`` script, which runs kas inside a container. + If you prefer building images in an isolated environment, use ``kas-container`` instead. .. container:: nohighlight :: - # kas-container can be run on any linux distribution with docker installed. + # kas-container can be run on any Linux distribution with Docker installed. wget -qO kas-container https://raw.githubusercontent.com/siemens/kas/refs/tags/5.1/kas-container chmod +x kas-container @@ -37,13 +40,21 @@ Install and configure the software tools on the Ubuntu host computer. :: - # Log in to qsc-cli to generate PAT + # Sign in to qsc-cli to generate PAT qsc-cli login -u # Run the following command to generate PAT qsc-cli show-access-token # This command gives output as shown in the following note # The last line in this output is the token, which can be used to access # Qualcomm Proprietary repositories. This token expires in two weeks. + + .. note:: + + .. container:: screenoutput + + | user\@hostname:/local/mnt/workspace$ qsc-cli show-access-token + | [Info]: Starting qsc-cli version 0.0.0.9 + | **5LThNlklb55mMVLB5C2KqUGU2jCF** #. Use your preferred text editor to edit the ``~/.netrc`` file and add the following entries. Create the ``~/.netrc`` file if it doesn't exist. @@ -119,4 +130,4 @@ Install and configure the software tools on the Ubuntu host computer. export PYTHONPATH=/opt/python3/lib:$PYTHONPATH .. note:: - The `kas `__ tool is used by Qualcomm Linux to sync the meta layers, configure the environment and execute the bitbake commands. + The `kas `__ tool is used by Qualcomm Linux to sync the meta layers, configure the environment, and execute the bitbake commands. \ No newline at end of file diff --git a/topic/k2c-qli-build-ga/build_default_config_cli.rst b/topic/k2c-qli-build-ga/build_default_config_cli.rst index 6c82fd0..2bf84b9 100644 --- a/topic/k2c-qli-build-ga/build_default_config_cli.rst +++ b/topic/k2c-qli-build-ga/build_default_config_cli.rst @@ -6,7 +6,7 @@ Build the default configuration Compile '''''''' -For information on the default configurations, see the table *Default values of MACHINE and DISTRO parameters for QSC* in the `Release Notes `__. +For information on the default configurations, see the table *Default values of Machine parameters for QSC CLI* in the `Release Notes `__. When the download is complete, start the compilation process. Depending on the size of the software and the host computer configuration, the compilation process can take a few hours. diff --git a/topic/k2c-qli-build-ga/build_from_source_github.rst b/topic/k2c-qli-build-ga/build_from_source_github.rst index a20cb8b..61e15f0 100644 --- a/topic/k2c-qli-build-ga/build_from_source_github.rst +++ b/topic/k2c-qli-build-ga/build_from_source_github.rst @@ -24,32 +24,34 @@ Install and configure the required software tools on the Ubuntu host computer. # The kas version is expected to be 4.8 or higher pipx install kas -#. Optionally download the kas-container script. The kas package also provides a kas-container script for running kas in a container. If you prefer running the image builds in an isolated environment, consider using kas-container instead. +#. (Optional) Download the ``kas-container`` script. + The ``kas`` package includes this script to run **kas** inside a container. + If you prefer to build images in an isolated environment, use ``kas-container``. .. container:: nohighlight :: - # kas-container can be run on any linux distribution with docker installed. + # kas-container can be run on any Linux distribution with Docker installed. wget -qO kas-container https://raw.githubusercontent.com/siemens/kas/refs/tags/5.1/kas-container chmod +x kas-container .. note:: - The `kas `__ tool is used by Qualcomm Linux to sync the meta layers, configure the environment and execute the bitbake commands. + The `kas `__ tool is used by Qualcomm Linux to sync the meta layers, configure the environment, and execute the bitbake commands. Sync ----- -QLI uses the kas tool to sync and build the Yocto meta layers. Kas lock files recording the meta layer repository information are stored in `meta-qcom-releases `__ for each critical release. +QLI uses the kas tool to sync and build the Yocto meta layers. Kas lock files recording the meta layer repository information are stored in `meta-qcom-releases `__ for every critical release. -You can checkout the lock files for each release by the `meta-qcom-release-tag`. The meta-qcom release tag follows the syntax ``qli-``. For example, the meta-qcom release tag can be ``qli-2.0-rc1`` where ``2.0-rc1`` is the release version. +You can checkout the lock files for each release using the `meta-qcom-release-tag`. The meta-qcom release tag follows the syntax ``qli-``. For example, the meta-qcom release tag can be ``qli-2.0-rc1``, where ``2.0-rc1`` is the release version. Build a BSP image ----------------- -Create and build a Yocto Docker image: +Create and build a Yocto image: -1. Download Qualcomm Yocto and the supporting meta-layers. For the latest ````, see the section *Build-Critical Release Tags* in the `Release Notes `__. +1. Download Qualcomm Yocto and the supporting meta layers. For the latest ````, see the section *Build-Critical Release Tags* in the `Release Notes `__. .. container:: nohighlight @@ -58,17 +60,19 @@ Create and build a Yocto Docker image: git clone https://github.com/qualcomm-linux/meta-qcom-releases -b kas checkout meta-qcom-releases/lock.yml -#. Copy the kas lock file from meta-qcom-releases to meta-qcom. Make sure to run this step, otherwise the checked out meta layers may get updated to a newer commit. +#. Copy the kas lock file from ``meta-qcom-releases`` to ``meta-qcom``. + Run this step, or the checked‑out meta layers may update to a newer commit. .. container:: nohighlight :: - # kas configuration files need to be part of same repository + # kas configuration files must be a part of the same repository # copy kas lock file to meta-qcom repository cp meta-qcom-releases/lock.yml meta-qcom/ci/lock.yml -#. Build the software image. Build targets are defined based on machine and distro combinations. +#. Build the software image. + You define build targets based on machine and distribution combinations. .. container:: nohighlight @@ -80,9 +84,9 @@ Create and build a Yocto Docker image: For various ```` and ```` combinations, see `Release Notes `__. - .. note:: To build the images in a fully isolated environment, you can try out `kas-container `__ instead. + .. note:: You can build the images in a fully isolated environment by using `kas-container `__. -#. After a successful build, check that the ``rootfs.img`` file is in the build artifacts: +#. After a successful build, check if the ``rootfs.img`` file exists in the build artifacts. .. container:: nohighlight @@ -96,11 +100,11 @@ Create and build a Yocto Docker image: ls -al rootfs.img .. note:: - * The machine configurations have either UFS or EMMC storage enabled by default. To change the default storage, see :ref:`Setting storage `. + * The machine configurations have either UFS or EMMC storage enabled by default. To change the default storage, see :ref:`Set storage `. * To build meta-qcom tip, see :ref:`Build meta-qcom tip `. * For repo manifest based builds, see :ref:`Alternative build instructions using Manifest `. Flash ----- -To flash the software images to the device, see :ref:`Flash software images `. +To flash the software images to the device, see :ref:`Flash software images `. \ No newline at end of file diff --git a/topic/k2c-qli-build-ga/build_from_source_github_intro.rst b/topic/k2c-qli-build-ga/build_from_source_github_intro.rst index a8b1052..3a0fbff 100644 --- a/topic/k2c-qli-build-ga/build_from_source_github_intro.rst +++ b/topic/k2c-qli-build-ga/build_from_source_github_intro.rst @@ -9,4 +9,4 @@ Create a build using the prebuilt proprietary binaries/images available on GitHu .. include:: host_machine_requirements_reg_unreg.rst -.. include:: build_from_source_github.rst +.. include:: build_from_source_github.rst \ No newline at end of file diff --git a/topic/k2c-qli-build-ga/build_landing_page.rst b/topic/k2c-qli-build-ga/build_landing_page.rst index 4c10b4b..8654c79 100644 --- a/topic/k2c-qli-build-ga/build_landing_page.rst +++ b/topic/k2c-qli-build-ga/build_landing_page.rst @@ -38,7 +38,7 @@ Build Qualcomm Linux Software :link: build_from_source_github_intro :link-type: ref - The build workflow provides a set of instructions to setup the host computer environment, sync, and compile. Firmware components are available as prebuilt binaries. + The build workflow provides a set of instructions to set up the host computer environment, sync, and compile. Firmware components are available as prebuilt binaries. .. grid-item-card:: |icn-book-blue| Build from source (with firmware and extras) :class-card: card-base-line @@ -47,7 +47,7 @@ Build Qualcomm Linux Software :link: build_addn_info :link-type: ref - The build workflow (firmware and extras) for registered users provide a set of instructions to setup the host computer environment, sync, and compile. A few of the firmware components are available as source. + The build workflow (firmware and extras) for registered users provide a set of instructions to set up the host computer environment, sync, and compile. A few of the firmware components are available as source. .. grid-item-card:: |icn-book-blue| Build with QSC CLI :class-card: card-base-line @@ -88,7 +88,7 @@ Troubleshoot :link: troubleshoot_sync_build_and_flash :link-type: ref - Provides steps to troubleshoot docker, sync, build, and flash issues. + Provides steps to troubleshoot Docker, sync, build, and flash issues. How to ------------- diff --git a/topic/k2c-qli-build-ga/build_own_config_cli.rst b/topic/k2c-qli-build-ga/build_own_config_cli.rst index 42d7f19..d66396b 100644 --- a/topic/k2c-qli-build-ga/build_own_config_cli.rst +++ b/topic/k2c-qli-build-ga/build_own_config_cli.rst @@ -2,7 +2,7 @@ Build your own configuration ----------------------------- -To build your own configuration, you must compile the build with the default machine configuration and then compile the software product with your own machine and distro configuration files. +To build your own configuration, you must compile the build with the default machine configuration and then compile the software product with your own machine and distribution configuration files. When compiling a software image, ensure that you also compile the software product. For example, if you compile ``BOOT.MXF.1.0.c1``, ensure that you also compile the software product (such as ``QCS9100.LE.2.0``). @@ -12,9 +12,9 @@ When compiling a software image, ensure that you also compile the software produ #. :ref:`Compile the default build `. -2. Compile the software product with your own machine and distro configuration files. +2. Compile the software product with your own machine and distribution configuration files. - For information on the supported machine configurations of the development kit, see the table *Default values of and parameters for QSC* in the `Release Notes `__. + For information on the supported machine configurations of the development kit, see the table *Default values of Machine parameters for QSC CLI* in the `Release Notes `__. a. Run the build commands for a specific configuration: @@ -35,7 +35,7 @@ When compiling a software image, ensure that you also compile the software produ For example, to build qcom-multimedia-proprietary-image, change the value of to ``qcom-distro-prop-image.yml``. - c. After a successful build, check that the ``rootfs.img`` file is in the build artifacts: + c. After a successful build, check if the ``rootfs.img`` file exists in the build artifacts: .. container:: nohighlight diff --git a/topic/k2c-qli-build-ga/build_with_firmware.rst b/topic/k2c-qli-build-ga/build_with_firmware.rst index fc0d4de..38b2ad4 100644 --- a/topic/k2c-qli-build-ga/build_with_firmware.rst +++ b/topic/k2c-qli-build-ga/build_with_firmware.rst @@ -159,7 +159,7 @@ Build firmware cd mkdir llvm - # Log in to qsc-cli and activate the license + # Sign in to qsc-cli and activate the license qsc-cli login qsc-cli tool activate-license --name sdllvm_arm @@ -519,7 +519,7 @@ Build firmware cd mkdir llvm - # Log in to qsc-cli and activate the license + # Sign in to qsc-cli and activate the license qsc-cli login qsc-cli tool activate-license --name sdllvm_arm @@ -811,7 +811,7 @@ Build firmware cd mkdir llvm - # Log in to qsc-cli and activate the license + # Sign in to qsc-cli and activate the license qsc-cli login qsc-cli tool activate-license --name sdllvm_arm @@ -1061,10 +1061,9 @@ Build firmware - ``QCS8300_dspso.zip`` - ``QCS8300_fw.zip`` - Build a BSP image ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The BSP image build has software components for the Qualcomm device support and software features applicable to the Qualcomm SoCs. This build includes a reference distribution configuration for the Qualcomm development kits. +The BSP image build has software components to support the Qualcomm device and software features applicable to the Qualcomm SoCs. This build includes a reference distribution configuration for the Qualcomm development kits. 1. Download Qualcomm Yocto and the supporting layers. For the ```` information, see the section *Build-critical release tags* in the `Release Notes `__. @@ -1082,19 +1081,21 @@ The BSP image build has software components for the Qualcomm device support and kas checkout meta-qcom-releases/lock.yml -#. Copy the kas lock file from meta-qcom-releases to meta-qcom. Make sure to run this step, otherwise the checked out meta layers may get updated to a newer commit. +#. Copy the kas lock file from ``meta-qcom-releases`` to ``meta-qcom``. You must run this step; otherwise, the checked‑out meta layers may update to a newer commit. .. container:: nohighlight :: - # kas configuration files need to be part of the same repository + # kas configuration files must be a part of the same repository # copy the kas lock file to meta-qcom repository cp meta-qcom-releases/lock.yml meta-qcom/ci/lock.yml -#. To use the locally compiled firmware in your Yocto build, refer to :doc:`Setting up local firmware `. +#. :ref:`Set up local firmware binaries ` in your Yocto build. + +.. _step4_build_software_image: -#. Build the software image. Build targets are defined based on machine and distro combinations: +#. Build the software image. Build targets are defined based on machine and distribution combinations: .. container:: nohighlight @@ -1106,10 +1107,9 @@ The BSP image build has software components for the Qualcomm device support and For various ```` and ```` combinations, see `Release Notes `__. - .. note:: - To build the images in a fully isolated environment, you can try out `kas-container `__ instead. + .. note:: To build images in a fully isolated environment, you can try using `kas-container `__. -#. After a successful build, check that the ``rootfs.img`` file is in the build artifacts: +#. After a successful build, check if the ``rootfs.img`` file exists in the build artifacts: .. container:: nohighlight @@ -1117,8 +1117,7 @@ The BSP image build has software components for the Qualcomm device support and # meta-qcom uses qcomflash IMAGE_FSTYPE to create a single tarball # containing all the relevant files to perform a full clean flash, - # including partition metadata, boot firmware, ESP # partition and - # the rootfs. + # including partition metadata, boot firmware, ESP partition, and rootfs. cd /build/tmp/deploy/images//-.rootfs.qcomflash/ ls -al rootfs.img @@ -1132,4 +1131,4 @@ Next steps - :ref:`Connect to UART shell ` - :ref:`Connect to network ` - :ref:`Sign in using SSH ` -- :ref:`Troubleshoot sync, build, and flash issues ` +- :ref:`Troubleshoot sync, build, and flash issues ` \ No newline at end of file diff --git a/topic/k2c-qli-build-ga/enable_dtb_overlay.rst b/topic/k2c-qli-build-ga/enable_dtb_overlay.rst index e713c18..63ee4c5 100644 --- a/topic/k2c-qli-build-ga/enable_dtb_overlay.rst +++ b/topic/k2c-qli-build-ga/enable_dtb_overlay.rst @@ -3,18 +3,13 @@ Enable camera overlays ^^^^^^^^^^^^^^^^^^^^^^ -.. note:: - This section applies only to QCS6490, IQ-9075 and IQ-8275. +.. note:: This section applies only to QCS6490, IQ-9075, and IQ-8275. -When you flash and boot ``qcom-multimedia-proprietary-image``, the upstream -camera stack is enabled by default. You can change this by updating the -EFI variable setting. +When you flash and boot ``qcom-multimedia-proprietary-image``, the upstream camera stack is enabled by default. You can change this setting by updating the EFI variable. -EFI variable setting must be updated at runtime, after booting the device. -On the first boot, set the EFI variable using the sysfs node and reboot to get -CAMX enabled in subsequent boots. +Update the EFI variable at runtime after the device boots. On the first boot, set the EFI variable using the sysfs node, then reboot to enable CAMX on subsequent boots. -Run the following commands to apply the DTB Overlay: +Apply the DTB Overlay: .. container:: nohighlight @@ -39,30 +34,27 @@ Run the following commands to apply the DTB Overlay: Enable upstream video driver ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -.. note:: - This section applies only to the IQ‑615‑EVK. +.. note:: This section applies only to the IQ‑615 EVK. -IQ‑615‑EVK supports only the upstream video driver ``venus``. The video overlay functionality is -not supported. +IQ‑615 EVK supports only the upstream video driver ``venus``. The video overlay functionality is not supported. -When you flash and boot ``qcom-multimedia-proprietary-image`` the upstream video driver is -not enabled by default. This can be changed by updating the kernel module configuration. +When you flash and boot ``qcom-multimedia-proprietary-image``, the upstream video driver is not enabled by default. This can be changed by updating the kernel module configuration. -Run the following command to enable the upstream video driver: +Enable the upstream video driver: .. container:: nohighlight - :: + :: - update-alternatives --install /etc/modprobe.d/blacklist-video.conf blacklist-video /etc/modprobe.d/blacklist-video.conf.vidc 200 + update-alternatives --install /etc/modprobe.d/blacklist-video.conf blacklist-video /etc/modprobe.d/blacklist-video.conf.vidc 200 After rebooting the device, you can run ``lsmod`` to confirm if the changes have been applied. .. container:: nohighlight - :: + :: - lsmod | grep venus - # Expected Output - # venus_enc 28672 0 - # venus_dec 28672 0 + lsmod | grep venus + # Expected Output + # venus_enc 28672 0 + # venus_dec 28672 0 \ No newline at end of file diff --git a/topic/k2c-qli-build-ga/flash_images.rst b/topic/k2c-qli-build-ga/flash_images.rst index f2532bc..2df334e 100644 --- a/topic/k2c-qli-build-ga/flash_images.rst +++ b/topic/k2c-qli-build-ga/flash_images.rst @@ -520,7 +520,7 @@ Flash software using QDL unzip .zip -#. Run the following command to provide executable permission to QDL: +#. Provide executable permission to QDL: .. container:: nohighlight @@ -544,7 +544,7 @@ Flash software using QDL /QDL___/qdl --storage emmc prog_firehose_ddr.elf rawprogram0.xml patch0.xml .. note:: - * The machine configurations have either UFS or EMMC storage enabled by default. To check the default storage, see :ref:`Setting storage `. + * The machine configurations have either UFS or EMMC storage enabled by default. To check the default storage, see :ref:`Set storage `. * Use QDL binary based on the host computer architecture. For example, linux_x64 supported qdl binary is ``qdl_/QDL_Linux_x64/qdl``. Flashing is successful if you see *partition 1 is now bootable* on the terminal window as shown in the following message: @@ -573,9 +573,7 @@ Flash software using QDL To verify the updated software version, see `Verify the Qualcomm Linux version `__. -.. note:: - The correct camera driver and video driver may not be enabled by default for certain kits. To enable - them, see :doc:`this document `. +.. note:: The correct camera driver and video driver may not be enabled by default for certain kits. To enable them, see :ref:`Enable camera overlays `. .. note:: If flashing fails, perform the following steps and retry the flashing procedure: diff --git a/topic/k2c-qli-build-ga/how_to.rst b/topic/k2c-qli-build-ga/how_to.rst index 5e6f5a8..b53a836 100644 --- a/topic/k2c-qli-build-ga/how_to.rst +++ b/topic/k2c-qli-build-ga/how_to.rst @@ -11,4 +11,4 @@ How to .. include:: developer_workflow.rst -.. include:: howto_setup.rst +.. include:: howto_setup.rst \ No newline at end of file diff --git a/topic/k2c-qli-build-ga/howto_build.rst b/topic/k2c-qli-build-ga/howto_build.rst index 1093187..8ccb766 100644 --- a/topic/k2c-qli-build-ga/howto_build.rst +++ b/topic/k2c-qli-build-ga/howto_build.rst @@ -25,7 +25,7 @@ tag for ``meta-qcom``. The milestone release provides locked revisions for the w git clone https://github.com/qualcomm-linux/meta-qcom -b master -#. Build the software image. Build targets are defined based on machine and distro combinations. +#. Build the software image. Build targets are defined based on machine and distribution combinations. .. container:: nohighlight @@ -69,82 +69,80 @@ Repo is a tool which can be used to download a list of git repositories from a ` #. Set up the Yocto build environment: - .. container:: nohighlight + .. container:: nohighlight - :: + :: - # setup-environment provides a help section for instructions - # Run the script with --help to view all the supported flags - setup-environment --help + # setup-environment provides a help section for instructions + # Run the script with --help to view all the supported flags + setup-environment --help - # machine and distro flags refer to the machine and distro configuration files present in `meta-qcom/ci` directory. - # setup-environment sets the environment settings, creates the build directory build, and enters the build directory. - source setup-environment --machine meta-qcom/ci/qcs9100-ride-sx.yml --distro meta-qcom/ci/qcom-distro-prop-image.yml --kernel meta-qcom/ci/linux-qcom-6.18.yml + # machine and distribution flags refer to the machine and distribution configuration files present in `meta-qcom/ci` directory. + # setup-environment sets the environment settings, creates the build directory build, and enters the build directory. + source setup-environment --machine meta-qcom/ci/qcs9100-ride-sx.yml --distro meta-qcom/ci/qcom-distro-prop-image.yml --kernel meta-qcom/ci/linux-qcom-6.18.yml #. Build the software image: - .. container:: nohighlight + .. container:: nohighlight - :: + :: - # Build required image using bitbake `bitbake qcom-multimedia-image` - bitbake + # Build required image using bitbake `bitbake qcom-multimedia-image` + bitbake .. _set_storage: -Setting Storage +Set storage ^^^^^^^^^^^^^^^^ -#. The machine configurations have either UFS or EMMC storage enabled by default. UFS storage is enabled by default for qcs6490, iq-9075-evk -and iq-8275-evk. EMMC storage is enabled by default for iq-615-evk. To change the default storage, follow these commands: +The machine configurations have either UFS or EMMC storage enabled by default. UFS storage is enabled by default for QCS6490, IQ-9075 EVK, and IQ-8275 EVK. EMMC storage is enabled by default for IQ-615 EVK. To change the default storage, follow these commands: - .. container:: nohighlight +.. container:: nohighlight - :: + :: - cd meta-qcom/conf/machine - - # check the machine configuration to figure out which storage is currently enabled - cat .conf | grep "QCOM_PARTITION_FILES_SUBDIR" + cd meta-qcom/conf/machine + # check the machine configuration to figure out which storage is currently enabled + cat .conf | grep "QCOM_PARTITION_FILES_SUBDIR" - # Update QCOM_PARTITION_FILES_SUBDIR to set the correct storage - # Example, - # QCOM_PARTITION_FILES_SUBDIR ?= "partitions/iq-615-evk/emmc" - # QCOM_PARTITION_FILES_SUBDIR ?= "partitions/iq-615-evk/ufs" + # Update QCOM_PARTITION_FILES_SUBDIR to set the correct storage + # Example, + # QCOM_PARTITION_FILES_SUBDIR ?= "partitions/iq-615-evk/emmc" + # QCOM_PARTITION_FILES_SUBDIR ?= "partitions/iq-615-evk/ufs" Check if the build is complete ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -#. After a successful build, check that the ``rootfs.img`` file is in the build artifacts: +After a successful build, check if the ``rootfs.img`` file exists in the build artifacts: - .. container:: nohighlight +.. container:: nohighlight - :: + :: - # meta-qcom uses qcomflash IMAGE_FSTYPE to create a single tarball - # containing all the relevant files to perform a full clean flash, - # including partition metadata, boot firmware, ESP # partition and - # the rootfs. - cd /build/tmp/deploy/images//-.rootfs.qcomflash/ - ls -al rootfs.img + # meta-qcom uses qcomflash IMAGE_FSTYPE to create a single tarball + # containing all the relevant files to perform a full clean flash, + # including partition metadata, boot firmware, ESP # partition and + # the rootfs. + cd /build/tmp/deploy/images//-.rootfs.qcomflash/ + ls -al rootfs.img -Modifying recipes +Modify recipe ^^^^^^^^^^^^^^^^^^ -#. Modify and compile a recipe from the same workspace: +Modify and compile a recipe from the same workspace: - .. container:: nohighlight +.. container:: nohighlight - :: + :: - # You can use devtool to modify the source-code used in any of the recipes - kas shell -c "devtool modify " meta-qcom/ci/:meta-qcom/ci/:meta-qcom/ci/lock.yml - # Example, kas shell -c "devtool modify linux-qcom" meta-qcom/ci/qcs9100-ride-sx.yml:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/lock.yml + # You can use devtool to modify the source-code used in any of the recipes + kas shell -c "devtool modify " meta-qcom/ci/:meta-qcom/ci/:meta-qcom/ci/lock.yml + # Example, kas shell -c "devtool modify linux-qcom" meta-qcom/ci/qcs9100-ride-sx.yml:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/lock.yml - # Build your recipe - kas shell -c "bitbake " meta-qcom/ci/:meta-qcom/ci/:meta-qcom/ci/lock.yml - # Example, kas shell -c "bitbake linux-qcom" meta-qcom/ci/qcs9100-ride-sx.yml:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/lock.yml + # Build your recipe + kas shell -c "bitbake " meta-qcom/ci/:meta-qcom/ci/:meta-qcom/ci/lock.yml + # Example, kas shell -c "bitbake linux-qcom" meta-qcom/ci/qcs9100-ride-sx.yml:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/lock.yml .. _how_to_build_generate_sdk: @@ -196,17 +194,19 @@ Clean build artifacts Build a standalone QDL ^^^^^^^^^^^^^^^^^^^^^^^^^^ -**Prerequisites** +.. rubric:: Prerequisites - - The modules ``make`` and ``gcc`` must be available. +- The modules ``make`` and ``gcc`` must be available. - - Install the following dependent packages: +- Install the following dependent packages: - .. container:: nohighlight + .. container:: nohighlight - :: + :: + + sudo apt-get install git libxml2-dev libusb-1.0-0-dev pkg-config - sudo apt-get install git libxml2-dev libusb-1.0-0-dev pkg-config +.. rubric:: Steps to build QDL 1. Download and compile the Linux flashing tool (QDL): diff --git a/topic/k2c-qli-build-ga/howto_setup.rst b/topic/k2c-qli-build-ga/howto_setup.rst index 60590d2..b2f4117 100644 --- a/topic/k2c-qli-build-ga/howto_setup.rst +++ b/topic/k2c-qli-build-ga/howto_setup.rst @@ -355,6 +355,8 @@ If you face USB or Ethernet connectivity issues on the device, consider updating .. note:: The following procedure is applicable only to Ubuntu 22.04 host. If you are using a Windows or macOS host, set up an Ubuntu virtual machine by following the instructions described in the `Virtual Machine Setup Guide `__. +.. rubric:: Update the firmware + 1. Register and sign in to `Renesas `__. #. `Download the firmware `__. @@ -428,4 +430,4 @@ If you face USB or Ethernet connectivity issues on the device, consider updating [ 6.653277] usb 2-1: new SuperSpeed USB device number 2 using xhci_hcd [ 7.013061] usb 2-1.1: new SuperSpeed USB device number 3 using xhci_hcd [ 7.120657] ax88179_178a 2-1.1:1.0 eth0: register 'ax88179_178a' at usb-0001:04:00.0-1.1, ASIX AX88179 USB 3.0 Gigabit Ethernet, 3e:9e:5e:ff:d3:fb - [ 7.120767] usbcore: registered new interface driver ax88179_178a + [ 7.120767] usbcore: registered new interface driver ax88179_178a \ No newline at end of file diff --git a/topic/k2c-qli-build-ga/introduction.rst b/topic/k2c-qli-build-ga/introduction.rst index 3bfbb8c..94d8c1e 100644 --- a/topic/k2c-qli-build-ga/introduction.rst +++ b/topic/k2c-qli-build-ga/introduction.rst @@ -28,16 +28,16 @@ Sync, build, and flash the software .. note:: You must `register with Qualcomm `__ to sync and build Qualcomm Linux. - If you're a registered user, you can use the following method to sync and build Qualcomm Linux. These methods use the Qualcomm Yocto layers and the supporting base Yocto layers. You can access the source of certain firmware components and Qualcomm tools, which lets you build and download the software. + If you're a registered user, you can use any of the following methods to sync and build Qualcomm Linux. These methods use the Qualcomm Yocto layers and the supporting base Yocto layers. You can access the source of certain firmware components and Qualcomm tools, which lets you build and download the software. .. list-table:: :header-rows: 1 :align: center :class: longtable - * - Manual build + * - Manual build - CLI - * - Build using selective proprietary sources and binaries/libraries. + * - Selective proprietary sources and binaries/libraries. - QSC command-line interface (CLI). * - :ref:`Build from source (with firmware and extras) ` - :ref:`Build with QSC CLI ` diff --git a/topic/k2c-qli-build-ga/setup_local_firmware.rst b/topic/k2c-qli-build-ga/setup_local_firmware.rst index 15ee205..d0c2be0 100644 --- a/topic/k2c-qli-build-ga/setup_local_firmware.rst +++ b/topic/k2c-qli-build-ga/setup_local_firmware.rst @@ -1,103 +1,100 @@ -.. _setup_local_firwmare: +.. _setup_local_firmware: -Setting up local firmware binaries +Set up local firmware binaries -------------------------------------- -Once the firmware compliations are done, you can run these commands to include your local firmware binaries in the Yocto image -compliation rather than the upstream firmware binaries. These commands provide examples for overriding firmware for QCS9100 chipset. -The appropriate paths for the other chipsets are documented in the `Release Notes `__. +Once the firmware compilations are complete, you can run these commands to include your local firmware binaries in the Yocto image compilation rather than the upstream firmware binaries. These commands provide examples to override firmware for the QCS9100 chipset. The appropriate paths for other chipsets are documented in the `Release Notes `__. -#. As a prerequisite, set the path to the firmware binaries for use in subsequent commands. +.. rubric:: Prerequisite + + Set the path to the firmware binaries for use in subsequent commands - .. container:: nohighlight + .. container:: nohighlight - :: + :: # The firmware recipe is compiled when the Yocto build is initiated. # Example, for QCS9100, the directory path must contain QCS9100_bootbinaries.zip, QCS9100_dspso.zip, and QCS9100_fw.zip. - # Set the environment variable to pick up the prebuilts: + # Set the environment variable to pick up the prebuilts export FWZIP_PATH="/qualcomm-linux-spf-2-0_ap_standard_oem_nomodem/" # Example, export FWZIP_PATH="/qualcomm-linux-spf-2-0_ap_standard_oem_nomodem/QCS9100.LE.2.0/common/build/ufs/bin" - -Overriding linux-firmware binaries +Override Linux-firmware binaries ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1. Create a local devtool workspace for the linux firmware recipe. This recipe provides the firmware binaries to meta-qcom. +1. Create a local devtool workspace for the Linux firmware recipe. This recipe provides the firmware binaries to ``meta-qcom``. - .. container:: nohighlight + .. container:: nohighlight - :: + :: - # Create a kas configuration file for overriding the default revision for linux-firmware.git - cat << EOF > meta-qcom/ci/firwmare.yml - header: + # Create a kas configuration file for overriding the default revision for linux-firmware.git + cat << EOF > meta-qcom/ci/firmware.yml + header: version: 14 - local_conf_header: + local_conf_header: firmware-build: | "SRCREV:pn-linux-firmware = "06a743fd69999590e88199bb9edba9d5b73d6ad1" - EOF + EOF - kas shell -c "devtool modify linux-firmware" meta-qcom/ci/:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/linux-qcom-6.18.yml:meta-qcom/ci/lock.yml:meta-qcom/ci/firmware.yml - # Example, kas shell -c "devtool modify linux-firmware" meta-qcom/ci/qcs9100-ride-sx:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/linux-qcom-6.18.yml:meta-qcom/ci/lock.yml:meta-qcom/ci/firmware.yml + kas shell -c "devtool modify linux-firmware" meta-qcom/ci/:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/linux-qcom-6.18.yml:meta-qcom/ci/lock.yml:meta-qcom/ci/firmware.yml + # Example, kas shell -c "devtool modify linux-firmware" meta-qcom/ci/qcs9100-ride-sx:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/linux-qcom-6.18.yml:meta-qcom/ci/lock.yml:meta-qcom/ci/firmware.yml - .. note:: + .. note:: - To find the correct value to be assigned to SRCREV:pn-linux-firmware - first check the version of the linux-firmware recipe under the path - oe-core/meta/recipes-kernel/linux-firmware/. + To find the correct value to be assigned to ``SRCREV:pn-linux-firmware``, first check the version of the ``linux-firmware`` recipe under the path ``oe-core/meta/recipes-kernel/linux-firmware/``. If the file name is ``linux-firmware_20260110.bb``, find the matching SRCREV from the `linux-firmware git tags `__. - The file name may be as follows linux-firmware_20260110.bb, - In such case find the matching SRCREV from the linux-firmware git tags - https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/refs/tags + The ``SRCREV:pn-linux-firmware`` must be set as follows: - The SRCREV:pn-linux-firmware should be set as follows + .. container:: nohighlight - SRCREV:pn-linux-firmware = "06a743fd69999590e88199bb9edba9d5b73d6ad1" + :: -#. Unzip the bootbinaries zip file if the unzipped version is not available. + SRCREV:pn-linux-firmware = "06a743fd69999590e88199bb9edba9d5b73d6ad1" - .. container:: nohighlight +#. Unzip the frmware zip file if you do not have the unzipped version. + + .. container:: nohighlight - :: + :: unzip $FWZIP_PATH/.zip -d $FWZIP_PATH # Example, unzip $FWZIP_PATH/QCS9100_fw.zip -d $FWZIP_PATH -#. Copy the contents of the firmware zip file to the devtool workspace +#. Copy the contents of the firmware zip file into the devtool workspace - .. container:: nohighlight + .. container:: nohighlight - :: + :: cp $FWZIP_PATH//lib/firmware//*.{mbn,jsn,elf} build/workspace/sources/linux-firmware// # Example, cp $FWZIP_PATH/QCS9100_fw/lib/firmware/qcom/sa8775p/*.{mbn,jsn,elf} build/workspace/sources/linux-firmware/qcom/sa8775p/ -.. note:: If you are overriding the firmwares in linux-firmware, you would always want to override the hexagon dsp binaries as well. +.. note:: When you override the firmwares in ``linux-firmware``, you must also override the Hexagon DSP binaries. -Overriding DSPSO binaries +Override DSPSO binaries ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1. Create a local devtool workspace for the hexagon-dsp-binaries recipe. This recipe provides the dspso binaries to meta-qcom. +1. Create a local devtool workspace for the hexagon-dsp-binaries recipe. This recipe provides the DSPSO binaries to meta-qcom. - .. container:: nohighlight + .. container:: nohighlight - :: + :: - kas shell -c "devtool modify hexagon-dsp-binaries" meta-qcom/ci/:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/linux-qcom-6.18.yml:meta-qcom/ci/lock.yml - # Example, kas shell -c "devtool modify hexagon-dsp-binaries" meta-qcom/ci/qcs9100-ride-sx.yml:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/linux-qcom-6.18.yml:meta-qcom/ci/lock.yml + kas shell -c "devtool modify hexagon-dsp-binaries" meta-qcom/ci/:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/linux-qcom-6.18.yml:meta-qcom/ci/lock.yml + # Example, kas shell -c "devtool modify hexagon-dsp-binaries" meta-qcom/ci/qcs9100-ride-sx.yml:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/linux-qcom-6.18.yml:meta-qcom/ci/lock.yml -#. Unzip the bootbinaries zip file if the unzipped version is not available. +#. Unzip the firmware zip file if the unzipped version is not available - .. container:: nohighlight + .. container:: nohighlight - :: + :: unzip $FWZIP_PATH/.zip -d $FWZIP_PATH # Example, unzip $FWZIP_PATH/QCS9100_fw.zip -d $FWZIP_PATH -#. Copy the dsp so binaries from the firmware zip file to the devtool workspace +#. Copy the DSPSO binaries from the firmware zip file to the devtool workspace .. container:: nohighlight @@ -136,32 +133,32 @@ Overriding DSPSO binaries .. note:: Copy the dsp so binaries for your chipset for ADSP, CDSP, CDSP1, GDSP0 and GDSP1 as applicable. You can refer to the documentation in the `Release Notes`__. -Overriding boot firmware binaries +Override boot firmware binaries ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1. Create a local devtool workspace for the boot critical firmware recipes - .. container:: nohighlight + .. container:: nohighlight - :: + :: kas shell -c "devtool modify " meta-qcom/ci/:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/linux-qcom-6.18.yml:meta-qcom/ci/lock.yml # Example, kas shell -c "devtool modify firmware-qcom-boot-qcs9100" meta-qcom/ci/qcs9100-ride-sx.yml:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/linux-qcom-6.18.yml:meta-qcom/ci/lock.yml -#. Unzip the bootbinaries zip file if the unzipped version is not available. +#. Unzip the bootbinaries zip file if the unzipped version is not available - .. container:: nohighlight + .. container:: nohighlight - :: + :: unzip $FWZIP_PATH/.zip -d $FWZIP_PATH # Example, unzip $FWZIP_PATH/QCS9100_bootbinaries.zip -d $FWZIP_PATH #. Copy the contents of the bootbinaries zip file to the devtool workspace - .. container:: nohighlight + .. container:: nohighlight - :: + :: cp -r $FWZIP_PATH//* build/workspace/sources/ # Example, cp -r $FWZIP_PATH/QCS9100_bootbinaries/* build/workspace/sources/firmware-qcom-boot-qcs9100 @@ -171,4 +168,6 @@ Overriding boot firmware binaries echo 'ALLOW_EMPTY:${PN} = "1"' >> build/workspace/appends/ # Example, echo 'ALLOW_EMPTY:${PN} = "1"' >> build/workspace/appends/firmware-qcom-boot-qcs9100_00116.0.bbappend -Once these steps are run, the next Yocto image build should pickup the local firmware binaries. +Once these steps are run, the next `Yocto image build ` will pickup the local firmware binaries. + +fter you run these steps, the next :ref:`Yocto image build ` picks up the local firmware binaries. diff --git a/topic/k2c-qli-build-ga/troubleshoot_sync_build_and_flash.rst b/topic/k2c-qli-build-ga/troubleshoot_sync_build_and_flash.rst index a3b756a..cdb8219 100644 --- a/topic/k2c-qli-build-ga/troubleshoot_sync_build_and_flash.rst +++ b/topic/k2c-qli-build-ga/troubleshoot_sync_build_and_flash.rst @@ -307,9 +307,9 @@ Build - "ERROR: Executing event: bitbake-server might have died or been forcibly stopped, ie. OOM killed" - This error can trigger while running builds on systems with insufficient memory. + This error can trigger while running builds on systems with insufficient memory. - **Solution** + **Solution** .. container:: nohighlight @@ -319,7 +319,7 @@ Build free -h - If the build fails due to an OOM error, try increasing the swap memory to more than 32GB. + If the build fails due to an OOM error, try increasing the swap memory to more than 32GB. - "ERROR: linux-kernel-qcom-6.6-r0 do_menuconfig: No valid terminal found, unable to open devshell"