Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Tastitalia Wiki Tastitalia Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Tastitalia MPU ARMTastitalia MPU ARM
  • Tastitalia WikiTastitalia Wiki
  • Wiki
  • Tastitalia Yocto Kirkstone

Tastitalia Yocto Kirkstone · Changes

Page history
Update Tastitalia Yocto Kirkstone authored Sep 04, 2023 by Stefano Radaelli's avatar Stefano Radaelli
Hide whitespace changes
Inline Side-by-side
Tastitalia-Yocto-Kirkstone.md
View page @ 9af365b6
![Tastitalia_logo](https://www.tastitalia.com/wp-content/uploads/2022/10/Tastitalia_logo_2x.png) ![Tastitalia_logo](https://www.tastitalia.com/wp-content/uploads/2022/10/Tastitalia_logo_2x.png)
# Table Of Contents # Table Of Contents
- [Prepare your PC](#prepare-your-pc) - [Prepare your PC](#prepare-your-pc)
...@@ -14,9 +15,10 @@ ...@@ -14,9 +15,10 @@
- [Flash image on eMMC](#flash-image-on-emmc) - [Flash image on eMMC](#flash-image-on-emmc)
- [Tastitalaia Naming Convention](#tastitalia-naming-convention) - [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: Here are the packages needed to build an image on a headless system with a supported Ubuntu or Debian Linux distribution:
```bash ```bash
$: sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \ $: sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \ 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 \ ...@@ -30,13 +32,14 @@ $: sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev \
``` ```
For Ubuntu 20.04 and earlier, install python2: For Ubuntu 20.04 and earlier, install python2:
```bash ```bash
$: sudo apt-get install python python-pysqlite2 $: 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. 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: 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 ...@@ -62,6 +65,7 @@ $: repo init -u https://gitlab.tastitalia.com/tastitalia-mpu-arm/yocto/tastitali
$: repo sync -j20 $: repo sync -j20
#### Choose -j variable according to the number of cores in your PC #### 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. At the end of the commands you have every metadata you need to start work with.
### Download BSP with QT5 support ### Download BSP with QT5 support
...@@ -77,7 +81,7 @@ $: repo sync -j20 ...@@ -77,7 +81,7 @@ $: repo sync -j20
At the end of the commands you have every metadata you need to start work with. 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: Enter Yocto folder and launch the script setting enviroment variables:
...@@ -85,13 +89,16 @@ 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> $: 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 ```bash
$: DISTRO=fsl-imx-wayland MACHINE=tasd8mm-2g-10 source imx-setup-release.sh -b build $: 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: If the build directory already exists due to previous compilations it will be required to set the enviroment variables only executing the command:
```bash ```bash
$: source setup-environment build $: source setup-environment build
``` ```
...@@ -99,45 +106,53 @@ $: 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: You can find the right machine name following our [Naming Convention](#tastitalia-naming-convention), or searching in the supported machines table below:
### SODIMM ### SODIMM
| Machine | Description |
|-------------|-------------------------------------------------------------------------------------------------------------------------| | 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). | | **tasd8mm-1g-10** | `Tastitalia Starter Kit`: **SODIMM i.MX8M Mini** module, 1GB 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-2g-10** | `Tastitalia Starter Kit`: **SODIMM i.MX8M Mini** 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). | | **tasd8mp-2g-10** | `Tastitalia Starter Kit`: **SODIMM i.MX8M Plus** module, 2GB of DDRAM and custom **10"** LVDS display (1920x1200). |
| **tasd8mm-2g-7** | **SODIMM i.MX8M Mini** module, 2GB of DDRAM and custom **7"** LVDS display (1280x800). | | **tasd8mm-1g-7** | **SODIMM i.MX8M Mini** module, 1GB 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). | | **tasd8mm-2g-7** | **SODIMM i.MX8M Mini** 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). | | **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 ### 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 ```bash
$: bitbake tastitalia-demo-image $: bitbake tastitalia-demo-image
``` ```
### Supported Images ### 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: Example:
```bash ```bash
$: cd tmp/deploy/images/tasd8mm-2g-10 $: cd tmp/deploy/images/tasd8mm-2g-10
$: ls *wic.zst $: ls *wic.zst
``` ```
### Flash image on uSD card ### Flash image on uSD card
Here an example to flash an image to your uSD card from a Linux distribution: Here an example to flash an image to your uSD card from a Linux distribution:
```bash ```bash
$: cd tmp/deploy/images/tasd8mp-2g-10/ $: cd tmp/deploy/images/tasd8mp-2g-10/
$: unzstd tastitalia-demo-image-tasd8mp-2g-10-20230713143133.rootfs.wic.zst $: 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=/ ...@@ -146,25 +161,28 @@ $: sudo dd if=tastitalia-demo-image-tasd8mp-2g-10-20230713143133.rootfs.wic of=/
``` ```
### Flash image on eMMC ### Flash image on eMMC
Tastitalia provides a script to install the operating system on the eMMC of the board. 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: To do this, boot the board from the uSD and, while the system is running, execute the following command from shell:
```bash ```bash
$: install_yocto.sh $: install_yocto.sh
``` ```
The process will take a few minutes, and once it's finished, a message confirming the successful installation will be displayed. 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. 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: 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): - "**X**" indicates the format of the System-on-Module (SOM):
- "d" represents SODIMM format - "d" represents SODIMM format
- "c" represents SMARC format. - "c" represents SMARC format.
- "**YYY**" indicates the processor type, such as "8mp" for NXP i.MX8M Plus processor - "**YYY**" indicates the processor type, such as "8mp" for NXP i.MX8M Plus processor
- "**Z**" indicates the amount of DDR RAM in GB. - "**Z**" indicates the amount of DDR RAM in GB.
- "**W**" indicates the display size in inches. - "**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
Clone repository
  • Tastitalia Android 12
  • Tastitalia RK3568 SBC
  • Tastitalia SMARC Starter Kit
  • Tastitalia SODIMM Starter Kit
  • Tastitalia Yocto Kirkstone
  • Tastitalia vSODIMM Starter Kit
  • Yocto Commands and Customization Guide for Hardware Integration
  • Home