Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • nativeaptinstall.bbclass - this class contains the main functionality behind the Ubuntu Distribution installation on top of the Yocto-provided root filesystemfile system.

  • ubuntu-image.bbclass - this class contains the common functionality shared by recipes for Ubuntu-based images.

Metadata Configuration: /conf

...

Dynamic layers metadata: /dynamic-layers.This directory contains the recipe tweaks appends corresponding to the core Yocto distribution and various Renesas BSP Yocto layers. The tweaks appends are required to adapt the recipes for building for the Ubuntu Desktop environment and file system directory layout which is slightly different from the one used in Yocto.

...

Code Block
user@rzv2hevkalphaemc:~$ systemctl list-units --state=active *.service
  UNIT                                               LOAD   ACTIVE SUB     DESCRIPTION                                      
  alsa-restore.service                               loaded active exited  Save/Restore Sound Card State
  apport.service                                     loaded active exited  LSB: automatic crash report generation
  avahi-daemon.service                               loaded active running Avahi mDNS/DNS-SD Stack
  chrony.service                                     loaded active running chrony, an NTP client/server
  console-setup.service                              loaded active exited  Set console font and keymap
  containerd.service                                 loaded active running containerd container runtime
  dbus.service                                       loaded active running D-Bus System Message Bus
  docker.service                                     loaded active running Docker Application Container Engine
  getty@tty1.service                                 loaded active running Getty on tty1
  keyboard-setup.service                             loaded active exited  Set the console keyboard layout
  kmod-static-nodes.service                          loaded active exited  Create List of Static Device Nodes
  ModemManager.service                               loaded active running Modem Manager
  networkd-dispatcher.service                        loaded active running Dispatcher daemon for systemd-networkd
  NetworkManager-wait-online.service                 loaded active exited  Network Manager Wait Online
  NetworkManager.service                             loaded active running Network Manager
...

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

Using Ubuntu Compatibility Layer to Add Ubuntu Packages from Internet

...

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 ultimate mis-function of the resulting software distribution.

Possible Conflicts Between Renesas Packages and Ubuntu Compatibility Layer

...

The first constituent comes from the fact that the image file system is formed in two phases. The first phase is the Yocto-based image installation where the Renesas BSP packages are installed. Then the second phase installs Ubuntu packages on top of that.

The first phase uses RPM package management system, thus these packages are not taken into account by the second phase where Ubuntu’s DEB package management system is used. This results in a situation where the files installed via unpacking of the Renesas BSP packages may then be overwritten by Ubuntu packages. If this is the case, some precautions must be explicitly taken to save the needed files after the first phase and to restore them after the second one. In the Ubuntu Compatibility layer image recipes which are based on the ubuntu-image.bbclass this can define specific functions which do the save and restore logic and add the function names to the UBUNTU_APTGET_PREFUNCS and/or UBUNTU_APTGET_POSTFUNCS variables respectively. This would allow calling the these functions right before and after the second phase.

...