===== Preface =====
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 [[..:arm:@mod_name@:linux:ptxdist:overview|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 [[https://github.com/tq-systems/ci-meta-tq|ci-meta-tq]] which already provides all required yocto layers as git submodules instead of [[https://github.com/tq-systems/meta-tq|meta-tq]] to build this BSP release.
The instructions on this page refer to the BSP and ancillary tools listed in the following table:
^ BSP Revision ^ @yocto_rel_branch_rev@ ^
^ ++meta-tq release|\\ [[https://github.com/tq-systems/ci-meta-tq/releases|all releases]]++ | [[https://github.com/tq-systems/ci-meta-tq/releases/tag/@yocto_rel_branch@.@mod_name_mtq@.@bsp_notation@.@bsp_rev@|@yocto_rel_branch@.@mod_name_mtq@.@bsp_notation@.@bsp_rev@]] |
^ Yocto Project / Poky Release | @yocto_rel_ver_major@.@yocto_rel_ver_minor@ |
^ Target machine((i.e. value for [[https://@yocto_doc_base_url@/@yocto_rel_ver_major@.@yocto_rel_ver_minor@/ref-manual/variables.html#term-MACHINE|MACHINE]] variable)) | @mtq_machines@ |
^ U-Boot | @uboot_version@ |
^ Linux Kernel | @linux_kernel@ |
It's strongly recommended to use **git** for downloading both the //Yocto Project / Poky// Release as well as //ci-meta-tq// (instead of downloading archives and extracting them)
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 [[https://@yocto_doc_base_url@/@yocto_rel_ver_major@.@yocto_rel_ver_minor@/brief-yoctoprojectqs/index.html|Yocto Project Quick Build]] 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 [[https://@yocto_doc_base_url@/@yocto_rel_ver_major@.@yocto_rel_ver_minor@/ref-manual/index.html|official documentation]].
===== Prerequisites =====
//Yocto Project / Poky// requires a Linux build host, so first of all you need a development workstation (or a virtual machine((for testing purposes //Yocto Project// provides a ready to use virtual machine called [[https://www.yoctoproject.org/tools-resources/projects/build-appliance|Build Appliance]])))
with a Linux distribution installed.
Please refer to section [[https://@yocto_doc_base_url@/@yocto_rel_ver_major@.@yocto_rel_ver_minor@/ref-manual/system-requirements.html#supported-linux-distributions|Supported Linux Distribution]] of the //Yocto Project Quick Start// for supported linux distributions and section [[https://@yocto_doc_base_url@/@yocto_rel_ver_major@.@yocto_rel_ver_minor@/ref-manual/system-requirements.html#required-packages-for-the-build-host|Required Packages for the Build Host]] 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 [[en:tftp|tftp server]] (for image download / update) and an [[en:nfs|nfs server]] (for network mounted root filesystem) on your development host.
===== Yocto BSP Build Instructions =====
Please setup the build host as described in the [[.:quickstart_yocto#Prerequisites]] section above .
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/@yocto_rel_branch@.@yocto_rel_branch_module@.@bsp_notation@.@yocto_rel_branch_rev@
cd ~/workspace/@yocto_rel_branch@.@yocto_rel_branch_module@.@bsp_notation@.@yocto_rel_branch_rev@
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 @yocto_rel_branch@.@yocto_rel_branch_module@.@bsp_notation@.@yocto_rel_branch_rev@ -b @yocto_local_branch_name@
4. Update git submodules:
git submodule sync
git submodule update --init
5. Setup local branch to track the remote branch.
git branch -u origin/@yocto_remote_branch_name@
6. Configure and the Build for a specific Linux ((valid machines are\\ @mtq_machines@)):
++++ Configuration for Linux mainline kernel|
export DISTRO=@distro_env@
export MACHINE=@machine_env@
source setup-environment @mod_name_code@_build @ci_mtq_build_cfg@
++++
++++ Configuration for Linux RT kernel|
export DISTRO=@distro_env_rt@
export MACHINE=@machine_env@
source setup-environment @mod_name_code@_build @ci_mtq_build_cfg@
echo 'PREFERRED_PROVIDER_virtual/kernel = "linux-rt-tq"' >> 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 @mod_name_code@_build
7. Build an Image for @stk_name@:
== Linux mainline kernel ==
bitbake @mtq_image@-debug
bitbake @mtq_image@
==Linux RT kernel==
bitbake @mtq_image_rt@-debug
bitbake @mtq_image_rt@
The resulting image is ''tmp/deploy/images/@mtq_machine_default@((valid machines are\\ @mtq_machines@))/@mtq_image@-@mtq_machine_default@((valid machines are\\ @mtq_machines@)).wic''\\
9. Write the Image((valid machines are\\ @mtq_machines@))((''TARGET_DEVICE'' has to be an SD card))
sudo dd if=tmp/deploy/images/@mtq_machine_default@/@mtq_image@-@mtq_machine_default@.wic of=/dev/
Please see [[./deployment_yocto#create_sd_card_with_bsp_image|Create SD Card with BSP Image]] for detailed instructions.
10. Boot the @stk_name@ from SD card (cf. [[@lang@:@mod_arch@:@mod_name@:@mb_name_code@:dip_switches|@mb_name@ DIP switch settings]]) |