iMX6 Production Programming USB Only

Hi! I am looking for a method of creating a master file for iMX6 boards and restoring it using only USB.

I am using the guide here as a basis, however that article states that an SD Card is required at some points - Production Programming for iMX6 Modules

Are there production programming methods / tools that do not require an SD Card?

Thanks!

Hi, you can use our Easy Installer to install your Windows Embedded Compact image, including registry configuration, custom splash screen (if you have one) and config block settings.

Here:

https://docs1.toradex.com/104975-imx6-easy-installer-template-for-custom-images.zip

you can find a template that you can put on an USB stick and use with the installer.

New modules come with the Easy Installer on board, old ones can run it via recovery mode as described here:

https://developer.toradex.com/software/toradex-easy-installer

If you need to transfer files to the \FlashDisk folder you can use the autocopy feature:

https://developer.toradex.com/knowledge-base/autocopy

So your full procedure would be:

  • run easy installer and install custom CE image.
  • reboot
  • have autocopy filling \FlashDisk contents
  • reboot to fully configured device

For the template it says to rename the standard image file to nk7.nbx or nk8.nbx. To clarify, this means I can rename my nk.bin file to nk8.nbx and it should work for the imaging process, correct?

No. You need to have a compressed image. If you use the standard images we provide you have to rename nk7.nbx or nk8.nbx to nk.nbx.
If you are building your own image you need to compress it using the image compression tool that is available for a fee (if you already have it for a different module, let me know).

https://developer.toradex.com/knowledge-base/tools-and-utilities-windows-embedded-compact#pc-tools

Ah yes I see that now, thank you! Can the Easy Installer be accessed if we are programming these boards as headless units? For example, during manufacturing we plan to have access to USB ports and a serial header - will we be able access all of the functionality we need from Easy Installer through serial communication on bootup?

Thanks for your support so far!

You can do that by setting the “autoinstall” value to true in your configuration file:

https://developer.toradex.com/software/toradex-easy-installer

Since you will not have any kind of visual output it would be better to add an “echo” command to the wrapup script so you can detect when installation is finished.

Everything in the process you’ve described so far has worked out exactly as I’ve needed! I believe the last question I have is regarding the echo command for the wrap-up script. I was able to get the image to auto-install from EasyInstaller but without using a monitor, I’m unable to see when the installation finished and I’m okay to reboot. I’ve noticed that some of the commands in the wrapup script should already be echo’ed, but I’m not seeing any of that text come up on the monitor or through the serial output. Ideally, I’d just like the system to auto-reboot after the image is installed. If that’s not possible, I’d like to just have something echo’ed through the serial port. Would the auto-reboot be possible by just adding a reboot command to the end of the wrap-up script?

adding something like:
echo “Setup completed” > /dev/console
to the script should work, sending the message to the serial console.
Unfortunately is not possible to automatically reboot the device because even if you do a SW reset the device will anyway reboot in recovery mode.

You will need to remove power and power-up again the device to have a regular boot (so you can use autocopy to copy your files to flashdisk).
As an alternative you can toggle GPIO signals to report completion of the setup.

https://developer.toradex.com/knowledge-base/gpio-(linux)

Please notice that this uses IMX6 GPIO numbers, not SO-DIMM pin numbers, so you need to use the datasheet to get the correct number you need to use for a specific pin.

You can try those commands on the easy installer console and then move them to the script.