This repository was archived by the owner on Mar 10, 2025. It is now read-only.
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
#+STARTUP: indent #+LANGUAGE: en #+TITLE: Automation One Embedded Linux Reference Platform #+AUTHOR: O.S. Systems Software #+EMAIL: contato@ossystems.com.br #+LATEX_CLASS: article #+OPTIONS: date:nil #+OPTIONS: toc:nil * Deprecated Please Note that this Repo has been deprecated. Please use the kas-a1, as well as meta-a1-platform and meta-a1-extras repos instead. * Supported boards - Automation One i.MX6ULL Rev. 1 board * Setup instructions ** Required Packages for the Build Host The list of packages you need on the host development system can be large when covering all build scenarios using the Yocto Project. See [[https://www.yoctoproject.org/docs/3.1/ref-manual/ref-manual.html#detailed-supported-distros][Yocto Project Reference Manual]] for details. ** Getting the ~repo~ tool The first step is to download and prepare all the Yocto Project (YP) environment, you need to have the ~repo~ tool installed in your host machine. For Debian/Ubuntu Linux distro you can install it running: #+BEGIN_SRC bash sudo apt install repo #+END_SRC If you're using other Linux distro or the ~repo~ tools is not in the repository you can download directly from upstream and set your distro as shown below: #+BEGIN_SRC bash mkdir ~/bin curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo PATH=${PATH}:~/bin #+END_SRC ** Download the platform source The next step is to download the BSP source code, we have a platform to fetch all files that is necessary to build the project. To download all sources run the following commands: #+BEGIN_SRC bash mkdir a1el-platform cd a1el-platform repo init -u https://github.com/Automation-One/a1-embedded-linux-platform.git -b dunfell repo sync #+END_SRC At the end of the commands, you have every metadata you need to start work with. ** Preparing the environment Before starting to work you need to load the YP variables to run bitbake command: #+BEGIN_SRC bash MACHINE=imx6ull-a1-r1 source setup-environment build #+END_SRC To check all possible values for ~MACHINE~ variable see the output of command: #+BEGIN_SRC bash source setup-environment build #+END_SRC Note that you need to run the command above for all new terminal, the loaded variables are only visible to the terminal that you source the ~setup-environment~ script. * Automation One i.MX6ULL Rev. 1 - ~imx6ull-a1-r1~ ** Building the image The /meta-a1/ layer provides the /a1-image-base/ image recipe, that has the basic packages to boot the board and to support the main functionalities. To build the image run: #+BEGIN_SRC bash bitbake a1-image-base #+END_SRC This process can take a long time depending on your host machine. When the image is ready, the resulted files are available in the ~deploy~ directory. By default it is located in ~build/tmp/deploy/images/imx6ull-a1-r1/~. ** Building the NAND installer image The Automation One i.MX6ULL Rev. 1 board uses a raw /NAND/ device as storage. To use the board, you need to flash the image to the /NAND/ device. The /meta-a1/ provides an installer image recipe to make this process easier. To build the image installer run: #+BEGIN_SRC sh bitbake a1-image-installer-nand #+END_SRC The resulted files are in the same location that ~a1-image-base~, ~build/tmp/deploy/images/imx6ull-a1-r1/~. To use this image you need to flash it to a /SD card/ using the following command: #+BEGIN_SRC bash zcat build/tmp/deploy/images/imx6ull-a1-r1/a1-image-installer-nand-imx6ull-a1-r1.wic.gz | sudo dd of=/dev/sdX bs=4M #+END_SRC The ~sdX~ is the device that /SD card/ was addressed in you host machine, you can check your using the ~dmesg~ command. ** Flashing the image to NAND device With the ~a1-image-installer-nand~ image flashed to the /SD card/, insert the /SD card/ on the board and power up it. You'll see that the /A/ led will start to blink, this indicates that the installation process is running. The installation process finishes when the /A/ led is off. You can remove the power source and remove the /SD card/. Now, power up the board again and the system will boot from the /NAND/ device. * References - [[https://github.com/CollaborativeWritersHub/heading-for-the-yocto-project/releases/download/18.10.0/Heading-for-the-Yocto-Project.pdf][Heading for the Yocto Project]] - [[https://www.amazon.com/dp/B0751HKPB4][Embedded Linux Development using Yocto Projects - Second Edition]] - [[https://www.yoctoproject.org/docs/3.1/ref-manual/ref-manual.html#detailed-supported-distros][Yocto Project Reference Manual]]