Toradex Easy Installer Release Details

The following table contains known issues, scheduled bug fixes, and feature improvements for the Toradex Easy Installer.

Any schedules are not guaranteed, but reflect the current planning. The planning could be shifted due to priority changes.Issues which are scheduled for a specific version will be integrated in the mentioned version of the tool.

We will update this table continuously in order to always provide the latest state of our development plan.

Description: When the Easy Installer untars the tarballs during installation, extended attributes do not get retrieved by tar if --xattrs-include=* is not passed as an argument together with --xattrs. This is in contradiction with the tar documentation, according to which --xattrs on its own suffices for tar to extract extended attributes.

Description: When trying to install a Toradex Easy Installer from a running Toradex Easy Installer in a iMX6ULL 512MB WiFi, the image will be displayed as incompatible.

Workaround: Download the Easy Installer image provided in our developer site. Extract the zip files and look for the image.json. In the supported_product_ids field add "0045" to the list. The image will now appear in the Easy Installer as installable.

Description: Turns out our current boot.scr script uses ${bootpart} rather than ${distro_bootpart} to reference the partition. Luckily, U-Boot just assumes the first partition if nothing is passed e.g. in a load command. That is why distro boot worked at all at least from the first partition.

Workaround: First, you have to make sure whatever partition you want to boot from is actually set to active boot in the partition table.
Then, change the boot script making sure you use ${distro_bootpart} rather than ${bootpart}. You may re-create the script from a text file as follows:
mkimage -T script -C none -n 'Distro boot script' -d boot.txt boot.scr

Description: If the complete NAND gets erased, e.g. by the U-Boot command 'nand erase.chip' the BCB data structure at the beginning of the NAND needs to be rewritten in order to boot from NAND.
The Toradex Easy Installer does this as part of a missing Config Block recovery process.

Workaround: If you erase the NAND chip, do not write the Config Block in U-Boot. Recover with the Toradex Easy Installer which will interactively ask for the Config Block data and write the BCB.

Description: Some file system settings are not available through command line of the mkfs utilities. Currently the settings file is stored in /etc/mke2fs.conf, which is in the read only part. Hence the current situation prevents to use a custom mke2fs.conf file.

Workaround: We have added the tune2fs utility into the tezi images, which can be invoked in the wrapup script to change the filesystem attributes after installation.

Description: Forward ported commit 7ad9771527d2 ("apalis-tk1: fix pcie reset for reliable gigabit ethernet operation") was never validated. Turns out it does not work and may lead to PCIe gigabit bring-up issues.

Description: The timing used on the Colibri iMX6 parallel RGB output (which is also converted to VGA on the Colibri Evalution Board) has a VGA resolution but is not the standard VGA timing. The same applies to the Apalis iMX6 parallel RGB as well as native VGA output.

Workaround: Use the Toradex Easy Installer with a different screen or a different graphical output such as HDMI/DVI-D or over network using VNC.

Description: The field offset_in_sectors allows to specify a particular partition offset. By default, the minimal valid offset is used (for the first partition this is 8192 sectors/4MiB, for the subsequent ones depending on the size of the previous partition). Due to a "off-by-1" error the minimal offset leads to an error "Fixed partition offset too low".

Workaround: Since the minimal offset is the default anyway, do not specify "offset_in_sectors" if the minimal offset is required.

Installation Process Blocks When Lots of Messages Are Writen to stderr

Apalis TK1, Apalis iMX6, Colibri iMX6, Colibri iMX6ULL, Colibri iMX7

No

Description: Installation Process might block on some tar files if GNU tar writes lots of warnings/errors to stderr. E.g. when the system clock is not correctly set (causing tar to print "time stamp .. in the future" warnings) or bsdtar has been used which uses header keywords not known by GNU tar (causing "Ignoring unknown extended header keyword" warnings).

Workaround: Make sure system time is correct either by using NTP (connect the module to the Internet) or manually using the date command (e.g. "date -s 2018-04-10"). Also, make sure the tarball has been packed using GNU tar to avoid header keyword warnings.

Prepare/Wrap-up Script Timeout is Ignored by the Toradex Easy Installer

Apalis TK1, Apalis iMX6, Colibri iMX6, Colibri iMX6ULL, Colibri iMX7

No

Description: The Toradex Easy Installer executes prepare/wrap-up scripts with a timeout of 30s. However, if the scripts exceed the 30s, the installer ignores that and simply continues executing, assuming the script succeeded.
Instead of using a timeout without a reasonable error handling wait forever until the script ended. Also print a warning after 30s.

Description: When raw NAND devices are erased completely (e.g. using nand erase.chip in U-Boot), the boot configuration block has not been restored so far. With this release the Toradex Easy Installer will write a boot configuration block whenever the config block is missing (which is located in the same erase block.

This release supports image/configuration format 1 and 2!
Using fw_setenv in wrap-up scripts is not supported anymore since the U-Boot environment utilities in Toradex Easy Installer no longer provide a default environment and default configuration file. Please migrate to use "u_boot_env" property in image.json and point to a U-Boot environment text file.

Description: So far tar has been used without special setting on unpacking. It seems that the default behavior of tar translates textual user/group names to user/group ids according to the local user/group database. In Toradex Easy Installer case this means the user/group database of the temporary installer. This might lead to wrong user/group ids in the target rootfs. With 1.4 Tezi will use the --numeric-owner argument to make sure that all files/directories are created with user/group ownership by id as stored in the tar file.

Description: By default the Toradex Easy Installer does generate partition table in the DOS format. This adds support for GUID partition tables (GPT) by using the "table_type" property on block device level.

Description: The PWM B, C and D pins are not used by the Toradex Easy Installer but still muxed as PWM and output by default (PWM A is used for display brightness). This might be problematic for designs which use the pins for a different purpose. Do not mux PWM B, C and D.

Description: eMMC boot partitions are read-only by default. The Toradex Easy Installer unlocks them only when actually flashing something. Utilities such as fw_setenv on the command line, or writing the boot partitions via USB mass storage emulation does not work.

Workaround: To use fw_setenv the boot partition can manually be unlocked using "echo 0 > /sys/block/mmcblk0boot0/force_ro".

Description: Some volatile directories are missing resulting in tools needing them failing.
E.g. fw_printenv and fw_setenv which access and modify the U-Boot environment fail as follows:
/ # fw_printenv
Error opening lock file /var/lock/fw_printenv.lock
/var/lock is a symlink to /run/lock, but /run/lock does not exist.

Description: Most USB Keyboard do not work as well as hot plugging keyboards at runtime. This is particularly unfortunate when a config block restore is needed, since this operation can only be done using a keyboard.

Workaround: Use remote access via RNDIS/Ethernet and VNC to enter the config block information. Alternatively, use a Logitech wireless keyboard/touch mouse combination such as K400r which has been successfully tested.

Description: A module enters the recovery mode implicitly e.g. when no bootloader has been found (typically after erasing flash). Using Toradex Easy Installer recovery in this case fails unexpectedly. The downloaded U-Boot tries to boot from local storage and network.

Description: Unfortunately the Toradex Easy Installer currently does not take into account, that those early tapeout/stepping of the i.MX 7 SoC suffer a NAND flash issue requiring a software workaround.
Starting with this version of Toradex Easy Installer it will prevent installation of any images on such modules.

Description: A module enters the recovery mode implicitly e.g. when no bootloader has been found (typically after erasing flash). Using Toradex Easy Installer recovery in this case fails unexpectedly. The downloaded SPL tries to boot from eMMC.

Description: The Toradex Easy Installer does not validate the JSON file before writing the image. Important parts could be missing. A JSON validation step helps to detect issues early and prevent failures during the flashing procedure.

Description: So far a generic Product ID and Vendor ID has been used, which some Windows 10 versions seem not to recognize. With this release, MS OS Descriptors are used for better compatibility across various Windows versions.

Description: When one clicks on the main window while a modal dialog is open, the dialog gets moved behind the main window. Since the dialog locks input to the parent window, the main window is now unresponsive and the Toradex Easy Installer is not usable.

Workaround: There is no workaround for this. Restart the Easy Installer and avoid clicking out of the window in focus.

Description: Since UBIFS is compressed on-the-fly the Toradex Easy Installer cannot reliably estimate whether an image fits on internal NAND ahead of time. However, Toradex Easy Installer should make a rough estimate and print a warning if the UBIFS will likely not be able to fit the image.

Description: Trying to automatically install an older or equal version of the Toradex Easy Installer from a running Toradex Easy Installer is not allowed. This is desired in most use cases (e.g. installing from an SD card), but it can become a problem in others, particularly when re-flashing the Toradex Easy Installer from a recovery image.

Workaround: Currently the workaround for this is setting `isinstaller: false` in the json config, but this may cause problems of infinite install loops.

Description: Currently the DHCP client used in Toradex Easy Installer does not provide a hostname. So even when using a DHCP server with DNS integration it will not be possible to ping the Toradex Easy Installer by hostname/FQDN.

Description: Provide a mechanism for raw files which allows to write at a specific offset from the end of the partition. This is useful to handle WinCE Config Block which is located at the end of the eMMC boot partition. Because eMMC boot partition sizes can vary the offset from the beginning depends on the exact product and product version.

Workaround: Use the wrapup.sh script to dd the configblock (or any other file) with a calculated offset from the end of the partition. For example:
...
IMAGE_FOLDER=$4
...
OFFSET=$(($(cat /sys/block/mmcblk0boot0/size)-17))
echo "Writing configblock.bin to offset ${OFFSET}"
dd if=${IMAGE_FOLDER}/configblock.bin of=/dev/mmcblk0boot0 count=16 seek=$OFFSET
This also makes sure that the static config block does not get accidentally overwritten in case configblock.bin is too long.
Note that this only works for images read from a local media, since only then configblock.bin is simply available in $IMAGE_FOLDER.

Description: During installation of BSP V2.6 directly from the Toradex Easy Installer U-Boot the following error message is shown but otherwise ignored by the installation procedure:
Unknown command 'patch_ddr_size' - try 'help'
As a consequence only 256MB of RAM will be available.

Workaround: Just manually execute the patch_ddr_size command once U-Boot from BSP V2.6 is installed.
For existing production programming scenarios we do recommend to first separately update just U-Boot only (e.g. doing run setupdate; run update_uboot; reset) in order to make sure any further production programming scripting will proceed as before.