Embedded Single Board Computer MBa6ULxL - Yocto Linux BSP documentation
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 tqma6ulx.
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 | 0116 |
---|---|
meta-tq release | hardknott.TQMa6UL.BSP.SW.0116 |
Yocto Project / Poky Release | 3.3.5 - Warrior |
Target machine1) | tqma6ulx-lga-mba6ulxl |
U-Boot | 2016.03 (NXP imx-rel_imx_4.1.15_2.0.0_ga) |
Linux Kernel | 5.15 |
For further details regarding Yocto Project 3.3.5 - Warrior please refer to its official documentation.
Prerequisites
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 Supported Linux Distribution of the Yocto Project Quick Start for supported linux distributions and section Required Packages for the Build Host 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.
Yocto BSP Build Instructions
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/hardknott.TQMa6UL.BSP.SW.0116 cd ~/workspace/hardknott.TQMa6UL.BSP.SW.0116
2. Create a local copy of meta-tq
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 hardknott.TQMa6UL.BSP.SW.0116 -b hardknott-tqma6ulxl-mba6ulxl
4. Update git submodules:
git submodule sync git submodule update --init
5. Setup local branch to track the remote branch.
git branch -u origin/hardknott
6. Export the environment DISTRO and MACHINE environment variable:
export DISTRO=dumpling-wayland
export MACHINE=tqma6ulx-lga-mba6ulxl
7. Configure the Build3):
source setup-environment tqma6ulxl_build minimal
source setup-environment tqma6ulxl_build
8. Build an Image for MBa6ulxl:
Image with debug features and root login
bitbake tq-image-weston-debug
Image without debug features and root login
bitbake tq-image-weston
tmp/deploy/images/tqma6ulx-lga-mba6ulxl4)/tq-image-weston-tqma6ulx-lga-mba6ulxl5).wic
sudo dd if=tmp/deploy/images/tqma6ulx-lga-mba6ulxl/tq-image-weston-tqma6ulx-lga-mba6ulxl.wic of=/dev/<TARGET_DEVICE>
10. Boot the MBa6ulxl from SD card (cf. MBa6ULxL DIP switch settings) |
Old Yocto Release Build Instructions
Yocto Zeus BSP
1. Create a local copy of meta-tq
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 tqma6ulxl_build -e wayland echo 'MACHINE = "<label mtq_machine_default_zeus>MTQ_MACHINE_DEFAULT_ZEUS</label>"' >> conf/local.conf
source setup-environment tqma6ulxl_build minimal
6. Build an Image for MBa6ulxl:
bitbake tq-image-weston
tmp/deploy/images/MTQ_MACHINE_DEFAULT_ZEUS9)/MTQ_IMAGE_ZEUS-MTQ_MACHINE_DEFAULT_ZEUS10).wic
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 MBa6ulxl from SD card (cf. MBa6ULxL DIP switch settings) |