Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel6
outlinefalse
stylenone
typelist
printablefalse

1. Overview

This application note explains how to use the Ubuntu Compatibility Layer in the Emcraft software distribution for the Renesas RZ/V2H SoC.

2. Understanding Ubuntu Compatibility Layer

2.1. Purpose of the Ubuntu Compatibility Layer

The Ubuntu Compatibility Layer allows certain packages from the Renesas RZ/V2H EVK BSP to be co-installed with packages from the ARM64 port of Ubuntu Desktop operating system, combining those packages into a single image. This allows users to build images that can combine the vast functionality coming from Ubuntu Desktop packages, and other compatible distributions such as the ROS2 distribution, with the lower-level hardware and basic OS support provided by the Renesas RZ/V2H EVK BSP.

2.2. Structure of the Ubuntu Compatibility Layer

The Ubuntu Compatibility Layer is integrated into the Emcraft software distribution as the meta-renesas-desktop Yocto layer with the following layout:

...

  • recipes-connectivity - this directory contains recipes ,which provide the default network configuration for the board.

  • recipes-desktop - this directory provides recipes for building Ubuntu Desktop images such as image-ubuntu-desktop.

  • recipes-devtools - this directory contains recipes for pseudo and qemu ported from the https://github.com/nxp-imx/meta-nxp-desktop to perform installations of the ARM64 packages in the emulated execution environment.

  • recipes-ros - this directory contains recipes for the default out-of-box setup for the ROS2 execution environment

3. Using Ubuntu Compatibility Layer

3.1. Using Ubuntu Compatibility Layer to Run Pre-installed Ubuntu Packages

The Compatibility layer pre-installs many Ubuntu packages onto the Emcraft release image, which can be used out of the box once the image has been flashed and booted on the target:

...

The set of the pre-installed Ubuntu packages can be specified in the image recipe image-ubuntu-desktop.bb using the APTGET_EXTRA_PACKAGES and APTGET_EXTRA_PACKAGES_LAST variables. The mechanics of these variables and relevant information is documented in the nativeaptinstall.bbclass.

3.2. Using Ubuntu Compatibility Layer to Add Ubuntu Packages from Internet

The Compatibility layer allows adding and removing Ubuntu packages from the Internet at run-time. Packages can be added either from the official Ubuntu archive or private package archives.

...

Code Block
 user@rzv2hevkalphaemc:~$ sudo apt-get install nano
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Suggested packages:
  hunspell
The following NEW packages will be installed:
  nano
0 upgraded, 1 newly installed, 0 to remove and 3 not upgraded.
Need to get 277 kB of archives.
After this operation, 872 kB of additional disk space will be used.
Get:1 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 nano arm64 6.2-1 [277 kB]
Fetched 277 kB in 1s (267 kB/s)
Selecting previously unselected package nano.
(Reading database ... 160205 files and directories currently installed.)
Preparing to unpack .../archives/nano_6.2-1_arm64.deb ...
Unpacking nano (6.2-1) ...
Setting up nano (6.2-1) ...
update-alternatives: using /bin/nano to provide /usr/bin/editor (editor) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/editor.1.gz because associated file /usr/share/man/man1/nano.1.gz (of link group editor) doesn't exist
update-alternatives: using /bin/nano to provide /usr/bin/pico (pico) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/pico.1.gz because associated file /usr/share/man/man1/nano.1.gz (of link group pico) doesn't exist
Processing triggers for man-db (2.10.2-1) ...
user@rzv2hevkalphaemc:~$ nano 1.txt
...

4. Understanding Caveats of Using Ubuntu Compatibility Layer

Though the Ubuntu Compatibility Layer allows for the Yocto packages to co-exist with the Ubuntu packages on the same file system, there are certain limitations, which can result in an ultimate mis-function of the resulting software distribution.

4.1. Possible Conflicts Between Renesas Packages and Ubuntu Compatibility Layer

There are two main constituents into the possibility of conflicts between the Renesas BSP packages and the Ubuntu packages installed onto the same target image.

...

Emcraft has taken precautions to address all Yocto vs Ubuntu incompatibility issues we have come across. If you run into a related issue, please contact Emcraft.

4.2. Configuring Ubuntu Compatibility Layer in the Build

The Ubuntu Compatibility layer can be added and removed by directly editing the bblayers.conf. Alternatively, the meta-renesas-desktop layer can be added or removed from the build using the bitbake-layers command.

...