I have an image that I can successfully use to flash my Edison using flashall.bat or flashall.sh.
However, if I try to use the same image to flash the Edison using:
configure_edison --flashFile.zip Edison.zip
Then when the Edison reboots I see this error:
Unable to read file ota_update.scr
This file is definitely present in the zip - and I can see it being extracted when configure_edison runs.
Two other pieces of information that may be relevant:
1. Whenever the Edison reboots, Windows always prompts me to format the drive, even if it was previously formatted.
2. When the Edison reboots after using flashall.bat, I see these messages in the console:
[ 19.302554] sh: fdisk: WARNING: rereading partition table failed, kernel still uses old table: Invalid argument
[ 19.359424] sh: Formatting update partition Step 1 : Success
[ 19.417707] sh: Formatting update partition Step 2 : Success
[ 19.461765] sh: mkfs.vfat 2.11 (12 Mar 2005)
[ 19.508770] sh: Loop device does not match a floppy size, using default hd params
These lead me to suspect there may be an issue with the update partition on the Edison...
Can anyone suggest how I might get the configure_edison --flashFile script to work?
Why are you trying to flash your Edison with this method instead of using the flashall or the Flash Tool Lite?
The recommended method to flash is using the Flash Tool Lite https://software.intel.com/en-us/articles/flash-tool-lite-user-manual https://software.intel.com/en-us/articles/flash-tool-lite-user-manual .
For background - what we're trying to do is implement a remote firmware update:
When I run our implementation of this process on my Edison I see the error message "Unable to read file ota_update.scr" when the Edison reboots, and the update doesn't happen.
I am using configure_edison -flashFile to try to troubleshoot the issue because it also performs a firmware update by copying a firmware image to /update and running reboot ota.
Note: If I format the Edison drive from Windows as FAT32, copy the same firmware image to the drive using the Windows file explorer, and then run reboot ota on the Edison, the update succeeds. The issue only seems to occur if the Edison mounts the /update partition and copies the firmware image to it.
Is this the first time you've tried to flash your board? The reboot ota command has some limitations in newer images, that's why the Flash tool Lite is the recommended method to flash the Edison Platform. You can see more information here /docs/DOC-98643 https://communities.intel.com/docs/DOC-98643 .
Are you trying to flash the latest Edison image or a custom image?
I'm using a custom image that one of my colleagues has successfully used in this scenario.
I have just received a new Edison device which I will test on shortly.
Thanks for following up.
I've received a new Edison to test. Using the same image and processes it works fine. I can successfully use the configure_edison --flashFile command to update the firmware. It also works running an OTA update using our software to download an image and perform a "reboot ota"
We haven't been able to identify what is different between the two Edison devices - they were both flashed with the same image to start with. We'll do some more analysis and let you know if we find anything.
I've sent the Edison that had the problem to my colleagues in the US (I'm in the UK) for further analysis. It may be a while before they get a chance to look at it, but I will let you know when I hear anything back.
I am really impressed about your sentence :" I've received a new Edison to test. Using the same image and processes it works fine. I can successfully use the configure_edison --flashFile command to update the firmware. It also works running an OTA update using our software to download an image and perform a "reboot ota"".
how you did it ?
my environment is quite different : on Edison I'm triyng ota update using IOT-device-management with the powerful sample : edison_sample.c. (https://github.com/Azure/azure-iot-sdks GitHub - Azure/azure-iot-sdks: SDKs for a variety of languages and platforms that help connect devices to Microsoft Azur… )
IOT device management do all "dirty job" for you (receive commands,follow remote job steps, download, and update) , but each image image i supply to IOT DM always says " "not enough space" .
I verify that the .ext4 rootfs (about 1.1 GB ) file is greater than the /update (about 768 mb) partition itself .
I tried build my own image with bitbake with IOT-DM enabled ( https://github.com/Azure/azure-iot-sdks/blob/dmpreview/c/iotdm_client/samples/iotdm_edison_sample/ho... azure-iot-sdks/how_to_create_an_image_for_Intel_Edison.md at dmpreview · Azure/azure-iot-sdks · GitHub ) but is always too large.
Also "cleaning" the edison-image.bb it remains too large ( .ext4 rootfs is about 890 MB ).
Did you use a smaller image ? if so, how you built it ?
Did you use bitbake (see the reference I indicate up) ?
Did you ask support from Microsoft IOT developers ?
do you think is still possible develop on Edison ?
I'm continuing to try and try to find affordable solution inside Edison world, but it only confirm to became more and more frustrated to use edison to build a mass market product .
If my boss ask to me about continuing on edison road, althought their size I should say "they are not ready yet" ...
We're planning to publish a tutorial soon that shows how to build a custom image that includes the IoT-DM service running on an Edison - when it's ready I'll add the link to it here.
Thanks for your interest.
pay attention to build an edison-image withi IOT-DM but... of acceptable size.
in this way we can really test "firmware update" IOT-DM job, otherwise the example is meaningless.
Note: reset to factory default is a problem quite identical.
We are going in production delay, when you plan to publish ?
We've now published the article here: https://azure.microsoft.com/en-gb/documentation/articles/iot-hub-gateway-sdk-device-management/ Device management with the Gateway SDK | Microsoft Azure
Hope it helps!
I take a look at the article your referenced, it's clear and usefull BUT...
it reports :
For the steps in this section, we consulted the following articles: http://www.intel.com/content/dam/support/us/en/documents/edison/sb/edisonbsp_ug_331188007.pdf Intel Edison Board Support Package, http://www.hackgnar.com/2016/01/manually-building-yocto-images-for.html Manually Building Yocto Images for the Intel Edison Board from Source, and http://shawnhymel.com/724/creating-a-custom-linux-kernel-for-the-edison-yocto-2-1/ Creating a Custom Linux Kernel for the Edison (release 2.1).
1) it speaks about release 2.1 and I spoke about 3.0,
2) it does not illustrate how reduce size of image to fit "remote firmware update" limits ( that are about 500mb maximum rootfs size ).
before I start another job trying to reach the solution proposed, could you confirm me that solves the above 2 issues ?
more practically : what is the name of a correct edison hardware image that have to be supplied to bitbake command to produce a correct size image ( <= 500 mb ) with IOT enabled and IOTDM edison-sample ?
The article uses the source from https://downloadcenter.intel.com/download/25028/Intel-Edison-Board-Software-Package Download Intel® Edison Board Software Package v2.2.
I did not need to do anything to reduce the size of the image, or make any changes to the partitions on the Edison.