Skip to content
This repository was archived by the owner on Mar 10, 2025. It is now read-only.
 
 

Latest commit

 

History

38 Commits

Folders and files

NameName
Last commit message
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]]

About

Automation-One Embedded Linux platform

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages