[Fail] Using a Neutis N5 to flash a Yocto image onto another N5


#1

The host system is a Neutis N5 dev kit running the latest Ubuntu Xenial image listed here:
https://docs.neutis.io/quickstart/quickstart/

This is not a fresh install. e.g. Xorg is already installed and also a simple window manager.

The flash tool was downloaded as a deb package from here:
https://docs.neutis.io/flasher/gui/#deb-package

The Yocto image was built on a Debian 9 (stretch) host system. See this forum topic:

Files present:
neutis-manufacturing-flash-tool_1.2.1_all.deb
neutis-image-neutis-n5-20181223203900.rootfs.sunxi-sdimg

Install the flash tool:
sudo dpkg -i neutis-manufacturing-flash-tool_1.2.1_all.deb

dpkg: error processing package neutis-manufacturing-flash-tool
desktop-file-install: not found

Install ‘desktop-file-utils’:
sudo apt-get update
sudo apt-get install desktop-file-utils

Try the flash tool installation again:
sudo dpkg -i neutis-manufacturing-flash-tool_1.2.1_all.deb

Run the flash tool:
neutis-manufacturing-flash-tool

Error: cannot create @zA@@?!@8: Permission denied
ELF: not found
Syntax error: word unexpected (expecting “)”)

Examine the executable file that is run by the flash tool script:
file /opt/neutis-manufacturing-flash-tool/Neutis Manufacturing Flash Tool

ELF 64-bit LSB executable, x86-64, …

The flash tool can’t be run in an aarch64 environment. only in x86_64 :frowning:

Maybe we can cheat though :thinking:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install qemu-user-static

Find the location of the flash tool:
whereis neutis-manufacturing-flash-tool

/usr/bin/eutis-manufacturing-flash-tool

Run the flash tool with Qemu:
qemu-x86_64-static /usr/bin/eutis-manufacturing-flash-tool

WARNING: TCG doesn’t support requested feature: CPUID.01H:ECX.vmx
Error: Exec format error

Run the binary in the flash tool package directly with qemu-x86_64-static:
cd /opt/neutis-manufacturing-flash-tool/
qemu-x86_64-static Neutis\ Manufacturing\ Flash\ Tool

/lib64/ld-linux-x86-64.so.2: No such file or directory

libc6:amd64 is required, but it has other dependencies which were not easily resolved without getting packages from the next version, bionic. Doing that caused version mismatches and too much trouble to sort out. :frowning:

Failed.

If you were successful with this or have any suggestions, please respond.