The meta-tq layer extends the Yocto Project's reference system Poky to provide support for a selection of TQ Embedded CPU Modules, including the MOD_NAME.

It uses the same codebase as the PTXdist based TQ Linux BSPs and therefore provides the same versions of U-Boot and Linux kernel, but doesn't define a specific root filesystem configuration.

Because of the dependencies to the other yocto layers we recommend to use ci-meta-tq which already provides all required yocto layers as git submodules instead of meta-tq to build this BSP release.

The instructions on this page refer to the BSP and ancillary tools listed in the following table:

The goal of these wiki pages is to get you started using ci-meta-tq with the STK_NAME, so instead of reinventing the wheel we will adhere to the very compact Yocto Project Quick Start and supply details specific to the STK_NAME where necessary.

For further details regarding Yocto Project YOCTO_REL_VER_MAJOR.YOCTO_REL_VER_MINOR - YOCTO_REL_NAME please refer to its official documentation.

Build Host

Yocto Project / Poky requires a Linux build host, so first of all you need a development workstation (or a virtual machine2)) with a Linux distribution installed.

Please refer to section Compatible Linux Distribution of the Yocto Project Quick Start for supported linux distributions and section Build Host Packages for required build host packages for those distributions.

The instructions on this page have been tested on HOST_OS_NAME HOST_OS_VERSION (HOST_OS_BITS) in a VMWare virtual machine.

Although not required by Yocto Project / Poky, we also recommend to configure and run a tftp server (for image download / update) and an nfs server (for network mounted root filesystem) on your development host.

Yocto Hardknott BSP

1. Open a new terminal and create a directory for the BSP build e.g. in the home directory and navigate to that directory.

mkdir -p ~/workspace/<label yocto_rel_branch>YOCTO_REL_BRANCH</label>.<label yocto_rel_branch_module>YOCTO_REL_BRANCH_MODULE</label>.BSP.SW.<label yocto_rel_branch_rev>YOCTO_REL_BRANCH_REV</label>
cd ~/workspace/<label yocto_rel_branch>YOCTO_REL_BRANCH</label>.<label yocto_rel_branch_module>YOCTO_REL_BRANCH_MODULE</label>.BSP.SW.<label yocto_rel_branch_rev>YOCTO_REL_BRANCH_REV</label>

2. Create a local copy of MTQ_REPOS

$ git clone --recurse-submodules https://github.com/tq-systems/ci-meta-tq.git

3. Checkout BSP release on new local branch.

$ cd ci-meta-tq
$ git checkout <label yocto_rel_branch>YOCTO_REL_BRANCH</label>.<label yocto_rel_branch_module>YOCTO_REL_BRANCH_MODULE</label>.BSP.SW.<label yocto_rel_branch_rev>YOCTO_REL_BRANCH_REV</label> -b <label yocto_local_branch_name>YOCTO_LOCAL_BRANCH_NAME</label>

4. Update git submodules:

$ git submodule sync
$ git submodule update --init

5. Setup local branch to track the remote branch.

git branch -u origin/<label yocto_remote_branch_name>YOCTO_REMOTE_BRANCH_NAME</label>

6. Export the environment DISTRO and MACHINE3) variable:

$ export DISTRO=<label distro_env>DISTRO_ENV</label>
$ export MACHINE=<label machine_env>MACHINE_ENV</label>

7. Configure the Build:

$ source setup-environment <label mod_name_code>MOD_NAME_CODE</label>_build <label ci_mtq_build_cfg>CI_MTQ_CFG</label>
Each time a new terminal is opened, the build environment must be reinitialised. The command described above is intended for the initial build space initialisation. To return to an existing buildspace open up a new terminal and navigate to the ci-meta-tq folder and execute the following command:
source setup-environment <label mod_name_code>MOD_NAME_CODE</label>_build

8. Build an Image for STK_NAME:

Image with debug features and packages

$ bitbake <label mtq_image>MTQ_IMAGE</label>-debug

Image without debug features and root login

$ bitbake <label mtq_image>MTQ_IMAGE</label>


9. Write the Image6)7)

$ sudo dd if=tmp/deploy/images/<label mtq_machine_default>MTQ_MACHINE_DEFAULT</label>/<label mtq_image>MTQ_IMAGE</label>-<label mtq_machine_default>MTQ_MACHINE_DEFAULT</label>.wic of=/dev/<TARGET_DEVICE>

10. Boot the STK_NAME from SD card (cf. <label mb_name>MB_NAME</label> DIP switch settings) |

Yocto Zeus BSP

1. Create a local copy of MTQ_REPOS

$ git clone --recurse-submodules https://github.com/tq-systems/ci-meta-tq.git

2. Checkout BSP release on new local branch.

$ cd ci-meta-tq
$ git checkout <label yocto_zeus_rel_branch>YOCTO_ZEUS_REL_BRANCH</label>.<label yocto_zeus_rel_branch_module>YOCTO_ZEUS_REL_BRANCH_MODULE</label>.BSP.SW.<label yocto_zeus_rel_branch_rev>YOCTO_ZEUS_REL_BRANCH_REV</label> -b <label yocto_zeus_local_branch_name>YOCTO_ZEUS_LOCAL_BRANCH_NAME</label>

3. Update git submodules:

$ git submodule update --init
$ git submodule sync

4. Setup local branch to track the remote branch.

git branch -u origin/<label yocto_zeus_remote_branch_name>YOCTO_ZEUS_REMOTE_BRANCH_NAME</label>

5. Configure the Build8):

$ source imx-setup-release.sh -b <label mod_name_code>MOD_NAME_CODE</label>_build -e wayland
$ echo 'MACHINE = "<label mtq_machine_default_zeus>MTQ_MACHINE_DEFAULT_ZEUS</label>"' >> conf/local.conf
Each time a new terminal is opened, the build environment must be reinitialised. The command described above is intended for the initial build space initialisation. To return to an existing buildspace open up a new terminal and navigate to the ci-meta-tq folder and execute the following command:
source setup-environment tqma8mpxl_build

6. Build an Image for STK_NAME:

$ bitbake <label mtq_image>MTQ_IMAGE</label>


7. Write the Image11)12)

$ sudo dd if=tmp/deploy/images/<label mtq_machine_default_zeus>MTQ_MACHINE_DEFAULT_ZEUS</label>/<label mtq_image_zeus>MTQ_IMAGE_ZEUS</label>-<label mtq_machine_default_zeus>MTQ_MACHINE_DEFAULT_ZEUS</label>.wic of=/dev/<TARGET_DEVICE>

8. Boot the STK_NAME from SD card (cf. <label mb_name>MB_NAME</label> DIP switch settings) |


1)
i.e. value for MACHINE variable
2)
for testing purposes Yocto Project provides a ready to use virtual machine called Build Appliance
3) , 4) , 5) , 6)
valid machines are
MTQ_MACHINES
7) , 12)
TARGET_DEVICE has to be an SD card
8) , 9) , 10) , 11)
valid machines are
MTQ_MACHINES_ZEUS
  • Last modified: 2022/08/16 17:51