My main target is to update the device in the field via server and the opportunities to change the uboot environment variables via USB-Stick.
Unfortunately, non of those two things is integrated out-of-the-box in any of our BSPs.
The USE-CASE1 is not so important anymore. But there was also the question how to change the environment variable via USB-Stick.
USE-CASE1: standalone colibri IMX7-board in the field. The device is boot from the sd-card.
If you anyway boot from an SD card, why don’t you just swap the card then to update?
So I build a custom open embedded core image.
Than I update the device with the easy-installer, because out of box the device could not save the environment variable. After the update I could save the environment variable.
Yes, that is expected behaviour as the Toradex Easy Installer configuration of U-Boot needs to be foolproof in that sense.
Colibri iMX7 # bootcmd=mmc rescan; mmc dev 0; run sdboot
After this the device are booting from the sdcard.
So this way was practicable because I only have 4-8 devices.
With the Toradex Easy Installer’s autoinstall feature this should be practicable for any number of devices.
USE-CASE2
In my second use-case I want to flash the device via LAN. First I have config my ubuntu system decribed here:
How to setup Networking for Embedded Linux Application Development | Toradex Developer Center
and load my image to the server describe here: High performance, low power Embedded Computing Systems | Toradex Developer Center
The target is to update the devices in the field without the usage of the serial console.
While the legacy update procedure is not really meant for unattended installation out-of-the-box you may of course integrate it that way.
Attention: I have build a colibri build described here High performance, low power Embedded Computing Systems | Toradex Developer Center because my custom build did not contain the update.sh script.
If done properly according to our guide you should get the exact same legacy resp. Toradex Easy Installer packages as the pre-build demo images we deploy.
Q: If I changed the uEnv.txt for sdcard boot, what I have to do after this?
uEnv.txt is only meant to be used with the Toradex Easy Installer. The legacy update procedure does not really integrate any such.
Extract the …tar.bz2 to a sdcard and update the device with:
Colibri iMX7 # run setupdate …
Colibri iMX7 # run update
I though, you do want to boot from an SD card. Then, you would just need to dd resp. WIC image to your SD card.
Is this possible or I have to use the toradex easy-installer?
To actually install U-Boot proper with your custom uEnv.txt set to SD card boot I would recommend using the Toradex Easy Installer.
Or is there a simpler way?
For my second use-case.
But what exactly is your 2nd use-case? Updating the SD card you are booting off of? Or what exactly is it that you are trying to achieve?
I have to copy the image to the folder with:
update.sh -c -o /srv/tftp/
High performance, low power Embedded Computing Systems | Toradex Developer Center
But I don’t understand which files I have to add to the nfs.
What NFS? What exactly are you talking about?
Is it possible to update the device in the field (only via update the server-files). Or is this step:
Colibri iMX7 # run setupdate … Colibri iMX7 # run update
via console, necessary after every update?
You mean after every update of them update files on your sever? No, you may also adjust the U-Boot environment from running Linux using the fw_setenv utility.
Before this step I could change the environment variable of the uboot by editing uEnv.txt?
As mentioned above uEnv.txt integration is solely meant for use with the Toradex Easy Installer.
Now I don’t understand why the update is not possible?
Somehow it does not detect your update files.
(2) Maybe someone could tell me which files I have to upload into tftp and nfs for a network boot?
Now, I believe you are mixing legacy network aka TFTP update being descibed here:
With NFS network boot described here:
Which are two completely different things.
(3) If I upload new files to the server with a device anywere in the world but connected to my server: Is it possible to update the device with the server without the usage from uboot serial mode or toradex easy installer?
The legacy update procedure is really not meant for updates accross the Internet. I recommend having a look at our new offerings around Torizon being in the works: