|
|

|
|
|
|
|
|
# Table Of Contents
|
|
|
|
|
|
- [Prepare your PC](#prepare-your-pc)
|
... | ... | @@ -14,9 +15,10 @@ |
|
|
- [Flash image on eMMC](#flash-image-on-emmc)
|
|
|
- [Tastitalaia Naming Convention](#tastitalia-naming-convention)
|
|
|
|
|
|
## Prepare your PC
|
|
|
# Prepare your PC
|
|
|
|
|
|
Here are the packages needed to build an image on a headless system with a supported Ubuntu or Debian Linux distribution:
|
|
|
|
|
|
```bash
|
|
|
$: sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \
|
|
|
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
|
... | ... | @@ -30,13 +32,14 @@ $: sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev \ |
|
|
```
|
|
|
|
|
|
For Ubuntu 20.04 and earlier, install python2:
|
|
|
|
|
|
```bash
|
|
|
$: sudo apt-get install python python-pysqlite2
|
|
|
```
|
|
|
|
|
|
We used Ubuntu 20.04 and Ubuntu 22.04 to build Yocto Kirkstone, other distributions may work but have not been tested.
|
|
|
|
|
|
## Download Tastitalia Yocto Kirkstone
|
|
|
# Download Tastitalia Yocto Kirkstone
|
|
|
|
|
|
To get the BSP you need to have repo installed and use it as:
|
|
|
|
... | ... | @@ -62,6 +65,7 @@ $: repo init -u https://gitlab.tastitalia.com/tastitalia-mpu-arm/yocto/tastitali |
|
|
$: repo sync -j20
|
|
|
#### Choose -j variable according to the number of cores in your PC
|
|
|
```
|
|
|
|
|
|
At the end of the commands you have every metadata you need to start work with.
|
|
|
|
|
|
### Download BSP with QT5 support
|
... | ... | @@ -77,7 +81,7 @@ $: repo sync -j20 |
|
|
|
|
|
At the end of the commands you have every metadata you need to start work with.
|
|
|
|
|
|
## Set environment variables
|
|
|
# Set environment variables
|
|
|
|
|
|
Enter Yocto folder and launch the script setting enviroment variables:
|
|
|
|
... | ... | @@ -85,13 +89,16 @@ Enter Yocto folder and launch the script setting enviroment variables: |
|
|
$: DISTRO=<distro name> MACHINE=<machine name> source imx-setup-release.sh -b <build dir>
|
|
|
```
|
|
|
|
|
|
where ``<machine-name>`` corresponds to the module for which the operative system image will be compiled and ``<build-dir-name>`` is the bulding directory name chosen by the user, as in the following example:
|
|
|
where `<machine-name>` corresponds to the module for which the operative system image will be compiled and `<build-dir-name>` is the bulding directory name chosen by the user, as in the following example:
|
|
|
|
|
|
```bash
|
|
|
$: DISTRO=fsl-imx-wayland MACHINE=tasd8mm-2g-10 source imx-setup-release.sh -b build
|
|
|
```
|
|
|
where a directory named ``build`` is created and enviroment variables are set to compile images for the module ``SODIMM MX8M Mini``.
|
|
|
|
|
|
where a directory named `build` is created and enviroment variables are set to compile images for the module `SODIMM MX8M Mini`.
|
|
|
|
|
|
If the build directory already exists due to previous compilations it will be required to set the enviroment variables only executing the command:
|
|
|
|
|
|
```bash
|
|
|
$: source setup-environment build
|
|
|
```
|
... | ... | @@ -99,45 +106,53 @@ $: source setup-environment build |
|
|
You can find the right machine name following our [Naming Convention](#tastitalia-naming-convention), or searching in the supported machines table below:
|
|
|
|
|
|
### SODIMM
|
|
|
| Machine | Description |
|
|
|
|-------------|-------------------------------------------------------------------------------------------------------------------------|
|
|
|
| **tasd8mm-1g-10** | ``Tastitalia Starter Kit``: **SODIMM i.MX8M Mini** module, 1GB of DDRAM and custom **10"** LVDS Display (1920x1200). |
|
|
|
| **tasd8mm-2g-10** | ``Tastitalia Starter Kit``: **SODIMM i.MX8M Mini** module, 2GB of DDRAM and custom **10"** LVDS display (1920x1200). |
|
|
|
| **tasd8mp-2g-10** | ``Tastitalia Starter Kit``: **SODIMM i.MX8M Plus** module, 2GB of DDRAM and custom **10"** LVDS display (1920x1200). |
|
|
|
| **tasd8mm-1g-7** | **SODIMM i.MX8M Mini** module, 1GB of DDRAM and custom **7"** LVDS Display (1280x800). |
|
|
|
| **tasd8mm-2g-7** | **SODIMM i.MX8M Mini** module, 2GB of DDRAM and custom **7"** LVDS display (1280x800). |
|
|
|
| **tasd8mp-2g-7** | **SODIMM i.MX8M Plus** module, 2GB of DDRAM and custom **7"** LVDS display (1280x800). |
|
|
|
| **tasd8mp-2g-4** | **SODIMM i.MX8M Plus** module, 2GB of DDRAM and custom **4.3"** LVDS display (800x480). |
|
|
|
|
|
|
| Machine | Description |
|
|
|
|---------|-------------|
|
|
|
| **tasd8mm-1g-10** | `Tastitalia Starter Kit`: **SODIMM i.MX8M Mini** module, 1GB of DDRAM and custom **10"** LVDS Display (1920x1200). |
|
|
|
| **tasd8mm-2g-10** | `Tastitalia Starter Kit`: **SODIMM i.MX8M Mini** module, 2GB of DDRAM and custom **10"** LVDS display (1920x1200). |
|
|
|
| **tasd8mp-2g-10** | `Tastitalia Starter Kit`: **SODIMM i.MX8M Plus** module, 2GB of DDRAM and custom **10"** LVDS display (1920x1200). |
|
|
|
| **tasd8mm-1g-7** | **SODIMM i.MX8M Mini** module, 1GB of DDRAM and custom **7"** LVDS Display (1280x800). |
|
|
|
| **tasd8mm-2g-7** | **SODIMM i.MX8M Mini** module, 2GB of DDRAM and custom **7"** LVDS display (1280x800). |
|
|
|
| **tasd8mp-2g-7** | **SODIMM i.MX8M Plus** module, 2GB of DDRAM and custom **7"** LVDS display (1280x800). |
|
|
|
| **tasd8mp-2g-4** | **SODIMM i.MX8M Plus** module, 2GB of DDRAM and custom **4.3"** LVDS display (800x480). |
|
|
|
|
|
|
### SMARC
|
|
|
| Machine | Description |
|
|
|
|-------------|-------------------------------------------------------------------------------------------------------------------------|
|
|
|
| **tasc8mp-2g-10** | ``Tastitalia Starter Kit``: **SMARC i.MX8M Plus** module, 2GB of DDRAM and custom **10"** LVDS display (1920x1200). |
|
|
|
| **tasc8mp-2g-7** | **SMARC i.MX8M Plus** module, 2GB of DDRAM and custom **7"** LVDS display (1280x800). |
|
|
|
| **tasc8mp-2g-12** | **SMARC i.MX8M Plus** module, 2GB of DDRAM and custom **12"** LVDS display (1280x800). |
|
|
|
|
|
|
## Compile and flash image
|
|
|
| Machine | Description |
|
|
|
|---------|-------------|
|
|
|
| **tasc8mp-2g-10** | `Tastitalia Starter Kit`: **SMARC i.MX8M Plus** module, 2GB of DDRAM and custom **10"** LVDS display (1920x1200). |
|
|
|
| **tasc8mp-2g-7** | **SMARC i.MX8M Plus** module, 2GB of DDRAM and custom **7"** LVDS display (1280x800). |
|
|
|
| **tasc8mp-2g-12** | **SMARC i.MX8M Plus** module, 2GB of DDRAM and custom **12"** LVDS display (1280x800). |
|
|
|
|
|
|
# Compile and flash image
|
|
|
|
|
|
Compile the desired image with bitbake using the command (in this example we compile the recipe `tastitalia-demo-image.bb` for `i.MX 8M Mini`):
|
|
|
|
|
|
Compile the desired image with bitbake using the command (in this example we compile the recipe ``tastitalia-demo-image.bb`` for ``i.MX 8M Mini``):
|
|
|
```bash
|
|
|
$: bitbake tastitalia-demo-image
|
|
|
```
|
|
|
|
|
|
### Supported Images
|
|
|
| Image | Description |
|
|
|
|-------------|-------------------------------------------------------------------------------------------------------------------------|
|
|
|
| **tastitalia-base-image** | Weston minimal environment with Chromium |
|
|
|
| **tastitalia-demo-image** | Tastitalia-base-image with the addition of QT, machine learning libraries and NXP graphical demo examples |
|
|
|
|
|
|
Once the image is compiled it will be possible to find in the build directory a deploy folder with the image files. The relative path to this folder from the yocto directory will be ``tmp/deploy/images/<MACHINE>``
|
|
|
| Image | Description |
|
|
|
|-------|-------------|
|
|
|
| **tastitalia-base-image** | Weston minimal environment with Chromium |
|
|
|
| **tastitalia-demo-image** | Tastitalia-base-image with the addition of QT, machine learning libraries and NXP graphical demo examples |
|
|
|
|
|
|
Once the image is compiled it will be possible to find in the build directory a deploy folder with the image files. The relative path to this folder from the yocto directory will be `tmp/deploy/images/<MACHINE>`
|
|
|
|
|
|
Example:
|
|
|
|
|
|
```bash
|
|
|
$: cd tmp/deploy/images/tasd8mm-2g-10
|
|
|
$: ls *wic.zst
|
|
|
```
|
|
|
|
|
|
### Flash image on uSD card
|
|
|
|
|
|
Here an example to flash an image to your uSD card from a Linux distribution:
|
|
|
|
|
|
```bash
|
|
|
$: cd tmp/deploy/images/tasd8mp-2g-10/
|
|
|
$: unzstd tastitalia-demo-image-tasd8mp-2g-10-20230713143133.rootfs.wic.zst
|
... | ... | @@ -146,25 +161,28 @@ $: sudo dd if=tastitalia-demo-image-tasd8mp-2g-10-20230713143133.rootfs.wic of=/ |
|
|
```
|
|
|
|
|
|
### Flash image on eMMC
|
|
|
|
|
|
Tastitalia provides a script to install the operating system on the eMMC of the board.
|
|
|
|
|
|
To do this, boot the board from the uSD and, while the system is running, execute the following command from shell:
|
|
|
|
|
|
```bash
|
|
|
$: install_yocto.sh
|
|
|
```
|
|
|
|
|
|
The process will take a few minutes, and once it's finished, a message confirming the successful installation will be displayed.
|
|
|
|
|
|
Now you can boot the board from eMMC.
|
|
|
|
|
|
## Tastitalia Naming Convention
|
|
|
# Tastitalia Naming Convention
|
|
|
|
|
|
We follow a specific naming convention for our board names. The board names are in the format **tasXYYY_Zg_W**, where:
|
|
|
|
|
|
- "**X**" indicates the format of the System-on-Module (SOM):
|
|
|
- "d" represents SODIMM format
|
|
|
- "c" represents SMARC format.
|
|
|
- "d" represents SODIMM format
|
|
|
- "c" represents SMARC format.
|
|
|
- "**YYY**" indicates the processor type, such as "8mp" for NXP i.MX8M Plus processor
|
|
|
- "**Z**" indicates the amount of DDR RAM in GB.
|
|
|
- "**W**" indicates the display size in inches.
|
|
|
|
|
|
For example, a board name **tasd8mm_2g_10** would represent a board with a SODIMM format, an i.MX8M Mini processor, 2GB of DDR RAM, and a 10-inch display (Dev Kit). |
|
|
For example, a board name **tasd8mm_2g_10** would represent a board with a SODIMM format, an i.MX8M Mini processor, 2GB of DDR RAM, and a 10-inch display (Dev Kit). |
|
|
\ No newline at end of file |