Adapting the image (Dunfell)

Building a SECO Northern Europe Yocto Linux system from source


General information about SECO Northern Europe Yocto Linux systems

SECO Northern Europe uses the Yocto Project for building embedded Linux systems for their platforms by providing a Board Support Package (BSP). The Yocto Project is led by the Linux foundation with the aim to produce tools and processes to create embedded Linux distributions. It includes a cross toolchain and a configurable build system called Bitbake.

For general information regarding the Yocto Project please refer to the official Yocto website.

A detailed documentation regarding Yocto and its build system can be found here.

Source code for SECO Northern Europe Yocto Linux images

The source code for our BSP is publicly available in our Git repository. Users can use the repository to build their own custom images with the BSP that are compatible with our devices. A detailed instruction as well as necessary tools for the image building is available in the repository.

Deploying the Linux system to the target


A SECO Northern Europe Yocto image can be installed on the system’s internal eMMC flash memory using our Flash-N-Go System. This is a small RAM-disk-based Linux which is installed on your i.MX6 in parallel to the regular operating system. This chapter describes how to boot your device into Flash-N-Go System and use it to install the Yocto image of your choice.

A more in-depth explanation of our Flash-N-Go infrastructure can be found here.

Booting Flash-N-Go System

There are two ways of booting your device into Flash-N-Go System. If the device already has a working Yocto image installed, you can switch to Flash-N-Go System by issuing the bootselect command with the alternative mode.

root@santaro:~# bootselect alternative alternative root@santaro:~# reboot

The device will reboot and show the Flash-N-Go System splash screen on the display. On the serial console, the command prompt should appear:

--------------------------------- Garz & Fricke Flash-N-Go System --------------------------------- FLASH-N-GO:/

The change of the bootmode using the bootselect command is permanent, i.e. the next boot of the device will start Flash-N-Go System again, until the bootmode is set back to regular operation:

FLASH-N-GO:/ bootselect regular regular root@santaro:~# reboot

Alternatively, the bootmode can be switched temporarily by pressing down and holding the bootmode switch while the power supply is switched on. The location of the bootmode switch is shown in the figure below.

Location of the bootmode switch on the devices.

This method changes the bootmode only for a single boot. The next boot of the device (without the bootmode switch pressed) will boot the regular operating system again.

Installing a Yocto image on the device

SECO Northern Europe provides a shell script for installing a Yocto image on the device, called fng-install.sh. The files can be installed either locally on the device (e.g. a USB drive or an SD card) or remotely via TFTP. Regardless which solution you prefer, you will need the following files from your deploy folder (see [Building a SECO Northern Europe Yocto Linux system from source]):

  • fng-install.sh

  • guf-image-imx6guf.tar.gz

If you have not built the image yourself but rather want to install a SECO Northern Europe prebuilt Yocto image, the filenames will differ slightly. The file extensions should be equal, though, so it should not be difficult to determine the correct files.

The installation via fng-install.sh removes any previously installed regular operating system. If the installation fails for some reason, the device will always boot into Flash-N-Go System afterwards.

Over the network via TFTP

During development, the most comfortable way of installing the images on the device is by loading them over the network via TFTP. For this purpose, a TFTP server is needed on your development host machine. The TFTP server directory has to be set to your deploy folder. The ethernet connection on the device has to be configured as described in [SECO Northern Europe system configuration], so that it can access the TFTP server.

The script can be loaded to the device and executed there via the Flash-N-Go System shell. Assuming, that your TFTP host has the IP address 192.168.1.100, type:

The above command loads the fng-install.sh script from your TFTP server to the /tmp/ directory of the Flash-N-Go System and executes it. During execution of the script, the Yocto image files will be loaded from the TFTP server and written directly to the eMMC flash memory.

The installation procedure will take some minutes. You can observe the output messages of the process on the terminal console. After successful installation the script returns to the Flash-N-Go prompt:

From a local folder using an external storage device

If you do not have a network connection to your device, the fng-install.sh can be copied to an external storage device, e.g. a USB driver or an SD card, along with the Yocto images. Simply put all files into the same folder and insert the storage device into your i.MX6.

The TFTP environment variable must not be set. Usually the variable is not set, so you do not have to worry about this. If you have tried using TFTP before, though, it probably contains your TFTP server IP address and has to be unset explicitly:

To start the installation, simply call the script from the shell:

The installation procedure will take some minutes. You can observe the output messages of the process on the terminal console. After successful installation the script returns to the Flash-N-Go prompt:

The installation from a local folder requires Flash-N-Go System 4.0 or higher.