Skip to content

Build Image (iesy RPX30)

Stefan Lellwitz edited this page Nov 15, 2022 · 5 revisions

Overview

There are 3 predefined configurations available:

Distro Image Description Details
iesy-fb iesy-base-image Minimal console-only (Framebuffer) BusyBox; mdev; ash
iesy-wayland iesy-base-image Supporting Wayland and XWayland Systemd; udev; bash; Weston
iesy-x11 iesy-base-image Native X11 support SysVinit; udev; bash; Openbox; xterm

We strongly recommend using iesy-wayland distro when working with graphical content, as iesy-x11 is only being provided for compatibility reasons and has not been fully tested.

Alternatively, you could also use the distributions and images provided by Poky or refer to the resources provided in the other BSP Layers. Or even build your own.
To retrieve a full list of available Distros and Images run the following commands:

$ printf "%s\n" sources/meta-*/conf/distro/*.conf sources/poky/meta-*/conf/distro/*.conf | awk -F/ '{print $NF}' | sed -e 's/\.conf$//'
$ printf "%s\n" sources/meta*/recipes*/images/*.bb sources/poky/meta*/recipes*/images/*.bb | awk -F/ '{print $NF}' | sed -e 's/\.bb$//'

Tips & Tricks

How to switch between Wayland and XWayland

XWayland is enabled by default. You can change that by modifying /usr/share/weston-start/xwayland. Alternatively you can delete the whole directory

root@iesy-rpx30-eva-mi:~# rm /usr/share/weston-start/xwayland
root@iesy-rpx30-eva-mi:~# rmdir /usr/share/weston-start

and control XWayland via Weston configuration /etc/xdg/weston/weston.ini or Environment file /etc/default/weston.

Setup Environment

This example builds iesy-base-image using Distro iesy-wayland.
If you want to use a different Image or Distro, just replace them in the commands below.

First we need to configure the Build Environment. This needs to be done whenever a new shell session is started.

$ source oe-init-build-env build_iesy-wayland

When running for the first time (= new Build Directory is created), make sure to add all necessary Layers to your bblayers.conf. The simplest way would be to just use the predefined template file:

$ cp ../sources/meta-iesy-osm/conf/bblayers.conf.rpx30 conf/bblayers.conf

Set MACHINE and DISTRO variables in your local.conf:

$ sed -i 's/\(MACHINE ??= \)\(.*\)/\1"iesy-rpx30-eva-mi"/' conf/local.conf
$ sed -i 's/\(DISTRO ?= \)\(.*\)/\1"iesy-wayland"/' conf/local.conf

Note: This only needs to be done for the first time when a new Build Directory is created.
You can also manually change that configuration later by editing local.conf.

Start Build

Once you have set up the Environment, build your image:

$ bitbake iesy-base-image

Build Results

Build output is located in build_iesy-wayland/tmp/deploy/images/iesy-rpx30-eva-mi

File Description
iesy-base-image-iesy-rpx30-eva-mi.wic.gz Full Image
idblock.img Pre-Bootloader (IDBLoader)
uboot.img U-Boot
trust.img Trusted Firmware
boot.img Kernel / DTB
rootfs.img rootfs

For a more detailed description of all these resources and boot mechanism on Rockchip SoC take a look at http://opensource.rock-chips.com/wiki_Boot_option.

Image file format

The resulted image is created using some build system fragment called "Wic" (OpenEmbedded Image Creator). See here for more information: https://docs.yoctoproject.org/singleindex.html#creating-partitioned-images-using-wic
There are different image formats which are supported by the Yocto Project and provide specific capabilities, e.g. sparse file support (*.wic).

However, the resulted image is compressed (.wic.gz) and can be flashed to the hardware as explained in the following chapters.