Giter VIP home page Giter VIP logo

qcom-manifest's Introduction

QCOM Repo Manifest README

This git repository is used to download manifests for QCOM Linux Yocto BSP releases.

The branch will be based on the release type Linux with release manifests in each branch tied to the base releases.

For QCOM Linux Yocto BSP releases the manifest branches will be named as qcom-linux-[Yocto-Project-release], so qcom-linux-kirkstone with all manifests tied to releases on Kirkstone in this branch.

Below procedure assumes that you have gone through qualcomm-linux-preview and have a valid Qualcomm account

If you are already having standard yocto environment, skip below prepare Host setup steps

Qualcomm Tools

Run the following commands to set up Qualcomm Package Manager. It is used to generate personalized access token to access Qualcomm proprietary software, for example, to fetch binary SDKs during SDK build.

Follow below instructions to install qsc-cli

  • Install curl if you haven't installed already
sudo apt install curl
  • Download and Install the debian package for qsc-cli
curl -L https://softwarecenter.qualcomm.com/api/download/software/qsc/linux/latest.deb -o qsc_installer.deb
sudo dpkg -i qsc_installer.deb
  • log in to qsc-cli
qsc-cli login -u [username]

Host Setup

The host machine needs a few setup operations to ensure the required software tools are ready

Install below packages to prepare your host environment for Yocto build

For ubuntu 20.04

sudo apt update
sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential \
    chrpath socat cpio python3 python3-pip python3-pexpect xz-utils \
    debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa \
    libsdl1.2-dev pylint3 xterm python3-subunit mesa-common-dev zstd \
    liblz4-tool locales tar python-is-python3 file libxml-opml-simplegen-perl \
    vim whiptail

For ubuntu 22.04

sudo apt update
sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential \
    chrpath socat cpio python3 python3-pip python3-pexpect xz-utils \
    debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa \
    libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd \
    liblz4-tool locales tar python-is-python3 file libxml-opml-simplegen-perl \
    vim whiptail

Install the repo utility

To use this manifest repo, the repo tool must be installed first. To install repo, run these commands:

mkdir -p ~/bin
cd ~/bin
#Note if you already have a previous directory of repo_tool, you can delete it
rm -rf ~/bin/repo_tool
git clone https://android.googlesource.com/tools/repo.git -b v2.41 repo_tool
cd repo_tool
git checkout -b v2.41
export PATH=~/bin/repo_tool:$PATH

If the above method did not work you can try below commands for repo installation

Note: latest repo version works with python3

mkdir -p ~/bin
curl https://raw.githubusercontent.com/GerritCodeReview/git-repo/v2.41/repo -o ~/bin/repo && chmod +x ~/bin/repo
export PATH=~/bin:$PATH

Add your Qualcomm login credentials to .netrc file in your home directory

Log in to qsc-cli to generate the PAT ( Personalized Access Token )

qsc-cli login -u <username>

Run below command to generate the PAT

qsc-cli pat --get

This command will give output as captured in the Info note below The last line in this output is the token, which can be used to access Qualcomm Proprietary repositories. This token will expire in two weeks

qsc-cli pat --get

[Info]: Starting qsc-cli version 0.0.0.9

5LThNlklb55mMVLB5C2KqUGU2jCF

vim ~/.netrc # add below entries

machine chipmaster2.qti.qualcomm.com
login <your Qualcomm login id>
password <your PAT>

machine qpm-git.qualcomm.com
login <your Qualcomm login id>
password <your PAT>

Set up locales if you haven't setup already, by using the following commands

sudo locale-gen en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

Update git configurations

Check if your identity is configured in .gitconfig

git config --get user.email
git config --get user.name

Run the following commands if you do not have your account identity set in .gitconfig

git config --global user.email [email protected]
git config --global user.name "Your Name"

Add below UI color option for output of console

git config --global color.ui auto

Add below configuration required to fetch Qualcomm proprietary sources/binaries

git config --global http.postBuffer 1048576000
git config --global http.maxRequestBuffer 1048576000
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999
git config --global http.https://chipmaster2.qti.qualcomm.com.followRedirects true
git config --global http.https://qpm-git.qualcomm.com.followRedirects true

Download the Yocto Project BSP

mkdir [release]
cd [release]
repo init -u https://github.com/quic-yocto/qcom-manifest -b [branch name] -m [release manifest]
repo sync

Each branch will have detailed READMEs describing exact syntax.

Example:

To download the qcom-6.6.17-QLI.1.0-Ver.1.3 release

repo init -u https://github.com/quic-yocto/qcom-manifest -b qcom-linux-kirkstone -m qcom-6.6.17-QLI.1.0-Ver.1.3.xml
repo sync

Setup the build folder for a BSP release

MACHINE=[machine] DISTRO=qcom-[backend] source setup-environment

[machine] defaults to qcm6490

[backend] Graphics backend type

  • qcom-wayland meta-qcom-distro

Example for setup Wayland, machine qcm6490:

MACHINE=qcm6490 DISTRO=qcom-wayland source setup-environment

Build an image

bitbake [image recipe]

Some image recipes:

Image Name Description
qcom-minimal-image A minimal rootfs image that boots to shell.
qcom-console-image Boot to shell with Package group to bring in all basic packages.
qcom-multimedia-image Image recipe includes recipes for multimedia software components, such as, audio, bluetooth, camera, computer vision, display and video.
qcom-multimedia-test-image This image recipe includes tests

Example command:

bitbake qcom-multimedia-image

To Include add-on layers, refer below README.md files

  1. Qualcomm Intelligent Multimedia Product SDK
  2. Realtime Linux
  3. Qualcomm Intelligent Robotics Product SDK

Flash the image

To flash the generated build, see the Flash software

References

If you are new to the Yocto project, you may try your first build as documented in the Yocto project at Standard Yocto environment

The complete index of Yocto project docs is available at Yocto project docs

qcom-manifest's People

Contributors

quic-rgarimel avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.