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.
The instructions on this page refer to the BSP and ancillary tools listed in the following table:
BSP Revision | BSP_REV |
---|---|
meta-tq release | <label yocto_rel_branch>YOCTO_REL_BRANCH</label>.<label mod_name_mtq>MOD_NAME_MTQ</label>.BSP.SW.<label bsp_rev>BSP_REV</label> |
Yocto Project / Poky Release | YOCTO_REL_VER_MAJOR.YOCTO_REL_VER_MINOR |
Target machine1) | MTQ_MACHINES |
U-Boot | UBOOT_VERSION |
Linux Kernel | LINUX_KERNEL |
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.
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.
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_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>
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_local_branch_name>YOCTO_LOCAL_BRANCH_NAME</label>
5. Initialize the build environment:
$ source setup-environment <label mod_name_code>MOD_NAME_CODE</label>_build <label ci_mtq_build_cfg>CI_MTQ_CFG</label>
6. Configure the Build for a specific Linux kernel3):
Configuration for NXP Linux kernel
Configuration for Linux mainline kernel
Configuration for Linux RT kernel
7. Build an Image for STK_NAME:
$ bitbake <label mtq_image>MTQ_IMAGE</label>
The resulting image is tmp/deploy/images/MTQ_MACHINE_DEFAULT4)/MTQ_IMAGE-MTQ_MACHINE_DEFAULT5).wic
8. 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=TARGET_DEVICE
9. Boot the STK_NAME from SD card (cf. <label mb_name>MB_NAME</label> DIP switch settings)