I’m going to do an OTA test for iMX6ULL. I’m using iMX6ULL WIFI, Bluetooth board and make some applications with C language and Golang to run in Linux Console. My board will be installed in a hospital and connected to the hospital server through TCP/IP but can’t use an internet. So I don’t need OTA method by cloud or external server. That is to say, I’m going to upgrade kernel or rootfs from only internal server. Please recommend which OTA method to use for this. I don’t want to pay a license fee and need an easy way to implement it.
Dear @HansKim72 , I’m afraid that what you are asking is something not remotely available, at least for the iMX6ULL.
Torizon, our new embedded Linux platform, offers OTA but it is not available for the iMX6ULL (only on a experimental basis and not intended for production): Torizon | Toradex Developer Center
Our flashing tool, TEZI, works on local servers (check this) but you would still need to launch TEZI from somewhere (USB - recovery or through Distro boot), and for this you would also need some local access to U-boot… An option would be to have a SD card with a local version of TEZI, but still you would need the access to the local machine’s bootloader to launch it.
The small flash and RAM doesn’t help in order to have a A/B partition scheme and in any case, you would have to go through the development of the whole solution by yourself.
I’m afraid that I don’t see an easy way on updating the system via OTA.
Hi @HansKim72, on paper and with the proper time and experience nothing is impossible but from our side, little work is done (what is mentioned above). You can check the below link that has some good videos and information of our OTA related partner (Mender.io) that may help you:
Yes, in almost any case Yocto customization is recommended (we use it to create our images) and in this case, with heavy customization, more so. In case you haven’t dealt with Yocto at this point in time, check the following, where we explain a more in detail how to setup and build our sample images (although the customization is really up to you):
Dear Alvaro,
I can compile the Yocto at the moment. I want to test Mendor but this is not easy. I visited Mendor website and studied them. But I don’t know how to make A/B partition for iMX6ULL. My application size is small and I will use console mode. So I think rootfs size is less than 150MB. I can use dual partition for rootfs. I read iMX7 Mendor instruction but I don’t understand. I can’t find the commands for download and compile. Please see the following? Where are the commmands?
master branch (Mender and Yocto) + rocko-next branch (Toradex)
Hi,
Yes. I want to add Mender in iMX6ULL. But I don’t know how to download the following. Please let me know the command for the following. And where do I download it to? Please let me know directory name.
I found the correct directory position. There are many meta-frescale and meta-xxxx directory. So I download meta-mender in here.
oe-core/layers/meta-mender
But I don’t know the following. Please let me know.
$ . /poky/oe-init-build-env
In my opinion is “/home/r/oe-core/layers” in my tree. But I don’t know . Is this “”/home/r/oe-core/build"?
Your explanation of Kernel, OE-Core, are easy. So even a beginner like me could easily followed.
But Mender document is vaguely explained, it is difficult to follow. Do you have an easy explanation like Kernel or OE-Core?
Your competitor, Variscite, has an easy explanation for SWUpdate. I want to use SWUpdate but I can’t now. I wish Toradex would be more considerate of consumers. Why should the engineer document be difficult? Wouldn’t it be a good easy explanation?
r@p:~$ cd oe-core/
r@p:~/oe-core$ . /home/r/oe-core/layers/poky/oe-init-build-env \ /home/r/oe-core/build
You can also run generated qemu images with a command like 'runqemu qemux86'.
r@p:~/oe-core/build$ bitbake core-image-minimal<br>
ERROR: Unable to start bitbake server (None)<br>
ERROR: Server log for this session (/home/r/oe-core/build/bitbake-cookerdaemon.log):<br>
--- Starting bitbake server pid 3288 at 2019-12-11 14:24:17.578621 ---<br>
ERROR: Traceback (most recent call last):<br>
File "/home/r/oe-core/layers/poky/bitbake/lib/bb/cookerdata.py", line 168, in wrapped<br>
return func(fn, *args)<br/>
File "/home/r/oe-core/layers/poky/bitbake/lib/bb/cookerdata.py", line 193, in parse_config_file<br>
return bb.parse.handle(fn, data, include)<br/>
File "/home/r/oe-core/layers/poky/bitbake/lib/bb/parse/__init__.py", line 107, in handle<br>
return h['handle'](fn, data, include)<br/>
File "/home/r/oe-core/layers/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 121, in handle<br>
abs_fn = resolve_file(fn, data)<br/>
File "/home/r/oe-core/layers/poky/bitbake/lib/bb/parse/__init__.py", line 131, in resolve_file<br>
raise IOError(errno.ENOENT, "file %s not found" % fn)<br/>
FileNotFoundError: [Errno 2] file /home/r/oe-core/build/../layers/meta-mender/conf/layer.conf not found<br>
<br>
ERROR: Unable to parse /home/r/oe-core/build/../layers/meta-mender/conf/layer.conf: [Errno 2] file /home/r/oe-core/build/../layers/meta-mender/conf/layer.conf not found<br>
r@p:~/oe-core/build$
Hi could you create a new question about this so we can better track and monitor your question. Please include the information/documentation that you’re following to perform this build.
On quick inspection it seems in your build settings/local.conf that you need to set PREFERRED_VERSION_u-boot-toradex to either our 2016.11 or 2019.07 u-boot version. This seems to be the initial issue the build system has.
I am working for mining industry and my situation is similar to yours - no cloud updates possible.
We are using SWUpdate on imx6ULL boards
It is well documented and Yocto integration is provided.
I always have 2 rootfs partitions. One of them is active, second one is for update. When new system image is downloaded to second partition swupdate is changing u-boot boot partition to second one using fw_setenv command. System is booted from second partition and new update will be written to the first one
It is possible to update system from any medium: www, mmc, usb stick etc.
Thanks. We made some progress put have error below every time mender updates…
Besides the error report it seems to work. But I’d like to dig deeper into root cause of the error…
I’m trying to do Mender OTA. Can you check my attached files? I can’t use bitbake-layers command. There is an error. error_message, bitbake-cookerdaemon.log
Sure but Torizon does not run on iMX6ULL so considering this thread is about iMX6ULL not sure why you have mentioned that.
I have the queries and issues as described by HansKim.
Please provide instructions how to build for mender on iMx6ULL.
Question:
My main issue currently is after adding the layers is:
ERROR: Multiple versions of u-boot-toradex are due to be built (/home/audnex/yocto/build/../layers/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb /home/audnex/yocto/build/../layers/meta-toradex-nxp/recipes-bsp/u-boot/u-boot-toradex_2019.07.bb). Only one version of a given PN should be built in any given build. You likely need to set PREFERRED_VERSION_u-boot-toradex to select the correct version or don't depend on multiple versions.