Table of Contents |
---|
...
The Flash-N-Go infrastructure (or FnG infrastructure) is a software product for NXP i.MX Edge devices created by SECO Nothern Europe. It has been used for SAN* devices like, Santoka, Santino, Santaro,…Consisting . Consisting of three parts, : Flash-N-Go Boot, Flash-N-Go System and Flash-N-Go Update; it provides a convenient way of booting, flashing, testing and updating edge devices. FnG Infrastructure is available on the following series of devices. Where is …:
Products of the SAN* family of devices with i.MX6: SANTARO, SANTOKA, SANTINO,…
NALLINO with i.MX6ULL
TANARO with i.MX8MM
...
What is …
...
Flash-N-Go System?
Flash-N-Go System is a volatile versatile Linux distribution to aid with the initial installation, production test and upgrade tasks but is limited to a small set of features. It is sometimes coined referred to as a management or recovery system. Flash-N-Go System is the backbone of the Flash-N-Go infrastructure.
...
In production, Flash-N-Go System is used to conduct the production test. This de-couples the testing process from the target-end system and makes it possible to test devices with customer-specific OS configurations, with limited testing capabilities.
...
Flash-N-Go Boot?
Flash-N-Go Boot is a simple, non-interactive and open-source bootloader for i.MX6 and i.MX6ULL devices. With its condensed functionalities, it is capable of initializing the RAM dynamically and booting Linux, Android, and Windows CE.
...
By using Flash-N-Go Boot it is possible to use different DDR-memory hardware without adapting the bootloader to the specific RAM configuration, and this makes the SD-RAM equipment of embedded board very flexible. Pre-initialization and matching of the bootloader to board or RAM isn’t necessary.
...
Flash-N-Go Update?
The Flash-N-Go Update software tool provides an all-in-one update solution for Flash-N-Go System based i.MX6 devices.
Normally coming as a USB flash drive, it uses an auto-start feature of the device to bring up the graphical update process. The available operating systems can be directly downloaded if the device is setup up with internet access and by this provides a way to implement an OTA update behaviour.
Flash-N-Go Update is deprecated and is no longer being supported by SECO.
...
Basic Flash-N-Go Architecture
The following figure shows the basic boot-up and file system structure of a Flash-N-Go Boot based system.
...
The shared device-specific data is currently well-supported on iMX6 and iMX6ULL devices. However, i.MX8 devices may use this scheme in the future as well.
...
Partition layout
The current backing-storage type of Flash-N-Go is eMMC (using the Linux naming mmcblk0). In addition to the partitions for the basic Flash-N-Go components, there may be some more partitions depending on the system configuration.
...
Expand | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
The default partition layout for the Flash-N-Go on the iMX6 platform is:
The target operating system kernel is usually installed in |
...
Expand | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||
On the imx8 based systems the default partition layout also contains the partitions for the target OS. The following table contains all possible partitions. Depending on the selected setup it is possible that that the LINUXB, ROOTFSB and user partition are missing.
|
...
...
Booting
...
Flash-N-Go
...
System
There are two possible options for booting the device into Flash-N-Go System instead of booting the target OS. The first one is pressing down and holding the bootmode switch while the power supply is switched on. The location of the bootmode switch is shown in the following figure
...
Alternatively, the bootselect
tool can be used, which is usually provided by Flash-N-Go compatible operating systems using Flash-N-Go System as well as by available modes are regular for normal target OS and alternative for Flash-N-Go System itself.
Info |
---|
The boomode bootmode switch needs to be pressed held on each boot process. The selection made with |
...
Configuration tools
Several tools on the Flash-N-Go System solution are provided for configuring, testing and flashing the devices.
bootselect
...
...
This tool offers the possibility to switch the boot target between the flashed operation system (e.g. Linux, Windows Embedded) on the device and Flash-N-Go System itself. The following code block shows a list of all possible parameters:
Expand | |||||
---|---|---|---|---|---|
| |||||
|
...
It is also possible to use abbreviation such as a for alternative and so on.
| |||||
FLASH-N-GO:/ bootselect regular
regular |
...
|
Expand | ||
---|---|---|
| ||
regular: target OS regularA (or regularB): target OS A or B (in case of A-B partitioning) alternative: Flash-N-Go System |
...
Code Block | ||
---|---|---|
| ||
FLASH-N-GO:/ bootselect alternative
alternative oneshot (or oneshotA, oneshotB): boot once into the desired mode, then switch to the fallback
|
Info |
---|
The |
...
too. |
sconfig
sconfig
is a small command-line tool that offers functionalities for device configurations like network settings, screen rotation etc. The following code block shows a list of all possible parameters.
Expand | ||
---|---|---|
| ||
|
xconfig
xconfig
is a command-line tool to manipulate the XML-configuration data directly. Care should be taken when using these commands as miss-configured or corrupted XML- configuration data might render a system unusable. The following code block shows a list of all possible parameters.
Expand | |||
---|---|---|---|
| |||
|
...
Note |
---|
Some features of on older devices are only supported by older releases of our FnG Infrastructure. For example, FnG Update will only work with FnG System 15 and below. If you have an older device and need those features, please contact our Technical Support for the appropriate installation procedure. |
Manual System Update
The manual system update considers a manual operating system (OS) installation via a console. The progress can be done locally using mass storage devices or using a network connection. The update process described here requires an Ethernet connection of the device to a development PC, either directly or via intranet. Also, a TFTP-Server or HTTP-Server is required on the development PC. There are several, also free, TFTP-Servers and HTTP-Servers online available. Please make sure that the timeout settings of the TFTP-Server are set to 60 seconds at a minimum. . The progress can be done locally using mass storage devices or using a network connection.
The installation of target OSes, and Flash-N-Go System and Flash-N-Go Boot should work via console one- or two-liners. All device partitioning, deployment actions should be done by shell scripts executed by the simple command. See Booting Flash-N-Go System for instructions on how to boot into the management system.
Expand | ||
---|---|---|
| ||
Before updating the target operating system we first need access to the device. The easiest way to access the target is via the serial console. Simply connect the first RS-232 port of your target system with a COM port of your PC or a USB-to-RS-232 converter using a null-modem cable. With the serial connection set up start your favourite terminal program (e.g. minicom or tera term) with the following settings:
From the very first moment when the target is powered, you should see debug messages in the terminal if the standard configuration is set. |
Establish a network connection
The Ethernet can be set up with the sconfig command-line tool, see also sconfig.
...
Code Block | ||
---|---|---|
| ||
sconfig dhcp on reboot |
Note |
---|
It is also necessary to install a TFTP-server or HTTP-server on a host PC. |
...
Installation via network
Info |
---|
Our latest releases can be found here (FnG-System) and here (Yocto) |
The common concept of the installation is always similar.
Set the download source variable
TFTP
(or URL for newer installation script versions)Download the installation script (with
curl
) andExecute the installation script (with
sh
).
These concatenating these steps the installation can be done in one-liner commands.
Example 1: Install Yocto Daisy 15.0
Download all files within the Linux-Yocto/Releases/Yocto-15.0-r4523-9/prebuilt_images
folder of the SECO Nothern Europe support server (formerly known as Garz & Fricke FTP server).
GUF-Yocto-15.0-r4523-9-SANTARO-boot.cfg
GUF-Yocto-15.0-r4523-9-SANTARO-fng-install.sh
GUF-Yocto-15.0-r4523-9-SANTARO-imx6-santaro-x1.dtb
GUF-Yocto-15.0-r4523-9-SANTARO-imx6-santaro-x2.dtb
GUF-Yocto-15.0-r4523-9-SANTARO-linuximage.bin
GUF-Yocto-15.0-r4523-9-SANTARO-modules.tgz
GUF-Yocto-15.0-r4523-9-SANTARO-pkg.py
GUF-Yocto-15.0-r4523-9-SANTARO-root.tar.gz
To start the upgrade process use:
Code Block | ||||
---|---|---|---|---|
| ||||
export TFTP=tftp://<TFTP-Server IP> ; curl $TFTP/GUF-Yocto-15.0-r4523-9-SANTARO-fng-install.sh | sh |
Info |
---|
Replace |
Example 2: Upgrade to Flash-N-Go System 8.0
Download the Flash-N-Go System files listed below from the Flash-N-Go/FNGSystem/FNGSystem8.0
folder of the support server.
Flash-N-Go-System-8.0-python-3.1.4.ext2
Flash-N-Go-System-8.0-self-init.sh
Flash-N-Go-System-8.0-self-update.sh
Flash-N-Go-System-8.0.cpio.gz
GF_Bootlogo_Flash-N-Go-System.png
boot-alt.cfg
fng_wipe_emmc.sh
Additionally, download the Kernel Files files listed below from the Flash-N-Go/FNGSystem/FNGSystem-8.0/GUFYocto-35.0-r5982-0
directory of the support server. Place them in a subfolder of the TFTP-Server root folder named GUF-Yocto-35.0-r5982-0
GUF-Yocto-35.0-r5982-0-IMX6GUF-imx6dl-santaro.dtb
GUF-Yocto-35.0-r5982-0-IMX6GUF-imx6dl-santino-lt.dtb
GUF-Yocto-35.0-r5982-0-IMX6GUF-imx6dl-santino.dtb
GUF-Yocto-35.0-r5982-0-IMX6GUF-imx6dl-santoka.dtb
GUF-Yocto-35.0-r5982-0-IMX6GUF-imx6q-santaro.dtb
GUF-Yocto-35.0-r5982-0-IMX6GUF-imx6q-santoka.dtb
GUF-Yocto-35.0-r5982-0-IMX6GUF-linuximage.bin
GUF-Yocto-35.0-r5982-0-IMX6GUF-modules.ext4
ParamFile.txt
md5sums.txt
To start the upgrade process use the following lines
...
breakoutMode | wide |
---|---|
language | bash |
...
Execute the installation script (with
sh
).
These concatenating these steps the installation can be done in one-liner commands.
Info |
---|
The examples below are using our server as an example. Customer can download the files and host on their own server in case only local network is available. |
Example 1: Install Yocto Kirkstone 25.0
Set the variable location, then call curl
to download it to pipe to sh
Code Block | ||
---|---|---|
| ||
FNG="https://secostorage.blob.core.windows.net/seco-ne-public/HMI/Linux-Yocto/Releases/Yocto-kirkstone-25.0/seco-mx6/fng-install.sh"
curl --location "$FNG" | sh -s -- --url="$(dirname "$FNG")" |
The parameter url of the script should point to the location of the folder where the installation files are located.
Example 2: Install Flash-N-Go System 51
The process is similar to installing the target OS
Code Block | ||
---|---|---|
| ||
FNG="https://secostorage.blob.core.windows.net/seco-ne-public/HMI/Flash-N-Go/FNGSystem/FNGSystem-51.0/seco-mx6/fngsystem-self-update.sh"
curl --location "$FNG" | sh -s -- --url="$(dirname "$FNG")" |
Offline installation
It is also possible to install FnG System as well as the target OS offline.
To do that, simply download and copy the installation script as well as the corresponding files to a USB stick. After that, simply boot the device into FnG System, mount the USB stick and directly call the script.
...
Security Considerations
The Flash-N-Go System is designed as a management system to install and update target operating systems and change the device configurations. Thus it runs with root privileges. This may be a concern for some scenarios. Therefore some security considerations are necessary.
...
License
Expand | ||
---|---|---|
| ||
|
Info |
---|
Replace |
Example 3: Upgrade Flash-N-Go Boot to version 13.0
Download the Flash-N-Go Boot files listed below from the Flash-N-Go/FNGBoot/FNGBoot-v13.0r3476/
directory of the support server.
GF_iMX6x-FNGBoot-v13.0r3797_26-09-2019.bin
fng_boot_update.sh
md5sums.txt
Code Block | ||
---|---|---|
| ||
export TFTP=<TFTP-Server IP>; curl tftp://$TFTP/fng_boot_update.sh | sh |
Info |
---|
Replace |
Security Considerations
...
|