NIOT-E-TPI51-EN-RE/NFLD is discontinued, what do I have to consider using the successor device NFX8M-D2-N32-010 along with my existing containers?

Q

NIOT-E-TPI51-EN-RE/NFLD is discontinued, what do I have to consider using the successor device NFX8M-D2-N32-010 along with my existing containers?

A

32Bit vs 64Bit

The NIOT-E-TPI51-EN-RE/NFLD device is preloaded with a 32Bit version of the OS. So all containers used on this device must have been coded for architecture ARMv7hf in 32Bit.

The successor device NFX8M-D2-N32-010 whereas supports a 64Bit version of OS based in the architecture ARMv8. This would imply that normally you are requested to recompile containers for this 64Bit architecture.

But the good thing is that device NFX8M-D2-N32-010 can also run 32Bit "old" containers. All that is needed during the container start is to tell the "docker run" command to use the correct architecture using the following parameter as documented here https://docs.docker.com/engine/reference/commandline/run/


docker run --platform linux/arm/v7 ...

For a simple test you could use an ARMv7 32bit compatible "debian" image from the official repository with


docker run -it --platform linux/arm/v7 debian /bin/sh

Serial port

The serial port's name has been changed between the two devices. While on NIOT-E-TPI51-EN-RE/NFLD the serial port is named "/dev/ttys0", is it named "/dev/ttymxc0" on the NFX8M-D2-N32-010 device.

You can let your "old" container untouched if you are using the "docker run" command with a clever mapping setup like the following example shows


docker run --device "/dev/ttymxc0:/dev/ttys0" ...