FSLOta i.MX6 Oreo

cancel
Showing results for 
Search instead for 
Did you mean: 

FSLOta i.MX6 Oreo

604 Views
Contributor I

I have some questions about FSLOta.

At this point I have a http server with an ota.zip.imx6q file.

Build.prop is in the folder too.

I start Android Oreo 8.0.0_1.0.0, goes to Settings->System->Additional system updates.

It finds the ota.zip.imx6q ("Have a new release").

Upgrade and converts to /cache/update.zip.

Restart and nothing happens...

Questions:

1) I manually add +1 to ro.build.date.utc in build.prop or else it says that it's up to date. Is there a better way?

1.1) Do I have to change ro.build.id too in build.prop or is that something that can be done in the "make" process?

2) How do I enter Recovery Mode (RC)? I've tried adb reboot recovery and my carrier doesn't have VOL button.

2.1) Tried adb shell 'echo "--update_package=/cache/update.zip" > /cache/recovery/command' then reboot recovery without any new implementation installed.

 

Labels (2)
0 Kudos
8 Replies

112 Views
Contributor I

I have a similar problem with my android.

OTA app download and checks the update.

After that, the system starts like a normal reboot.

https://community.nxp.com/thread/494108 

0 Kudos

112 Views
Senior Contributor II

Hi,

Find the answers of your questions below:

1) I manually add +1 to ro.build.date.utc in build.prop or else it says that it's up to date. Is there a better way?
Answer: This prop is read only, you can't change it manually or using setprop on android system. You don't need to update the build date prop in build.prop file, this property automatically set during build time in default property and default property will update the build.prop during completion of build.
You need to put the proper build.prop along side with your ota package which is in sync with compiled package.

1.1) Do I have to change ro.build.id too in build.prop or is that something that can be done in the "make" process?
Answer: Same here, this property also updated in build.prop during build time (make process).

2) How do I enter Recovery Mode (RC)? I've tried adb reboot recovery and my carrier doesn't have VOL button ?
Answer: For updating system OTA package you don't need to enter in Recovery Mode or use of VOL button, you can update the package path in /cache/recovery/command file and do the recovery reboot.

2.1) Tried adb shell 'echo "--update_package=/cache/update.zip" > /cache/recovery/command' then reboot recovery without any new implementation installed.

Answer: I tried it manually and successfully updated the system from 7.1.2 to 8.0.0. From command line or manually you can update any valid ota package either it is later or before of current version.

Steps for manually update:

  • Copy OTA zip to device on location /cache/update.zip
  • Touch the file /cache/recovery/command
  • Do the adb shell 'echo "--update_package=/cache/update.zip" > /cache/recovery/command'

Do the reboot recoveryI hope it will help you.

0 Kudos

112 Views
Contributor I

To question 1 and 1.1 I just looked closer in "Android - FAQ" right at the top "1. How do I configure the build number"

Question 2)

So you're saying that I don't need to enter Recovery Mode? All the guides I've read and tried depends on booting into the Recovery partition prior to updating Boot and System partition or is there an other way? I'm not entirely sure what the "command" file is or do.

Question 2.1)

Did all bullet point steps and when I executed the last one "...adb shell 'echo..." I got an error message telling me that the path way wasn't found. This I get when I'm not in shell mode. If I do the same in shell mode the cursor just jumps to new line - no feedback. It seems that there is no update happening.

0 Kudos

112 Views
Senior Contributor II

Hi Richard Andersen,

Please find my answers inline :

To question 1 and 1.1 I just looked closer in "Android - FAQ" right at the top "1. How do I configure the build number"

We can customize BUILD_ID or BUILD_NUMBER in build_id.mk under
${MY_ANDROID}/device/fsl/xxxx/build_id.mk, where "xxxx" is the board name of the product.

Simply make your desired change in the following line in the mentioned file:

export BUILD_NUMBER=<coustomizable build number>

 

Question 2)

So you're saying that I don't need to enter Recovery Mode? All the guides I've read and tried depends on booting into the Recovery partition prior to updating Boot and System partition or is there an other way? I'm not entirely sure what the "command" file is or do.

I thing we are misguided here by my words. If you don't have any VOL buttons on your board then you can input this command in the console to enter into recovery mode.:
# reboot recovery        //the board reset to recovery mode.

Question 2.1)

Did all bullet point steps and when I executed the last one "...adb shell 'echo..." I got an error message telling me that the path way wasn't found. This I get when I'm not in shell mode. If I do the same in shell mode the cursor just jumps to new line - no feedback. It seems that there is no update happening.

Here you have missed to place the update.zip at it's proper location. Kindly follow the below end solution to this :

  • Copy the OTA zip package to the device in sdcard using below command :

        $adb push <local> <remote "/sdcard">

  • Move the package from sdcard to cache partition i.e.

       $mv /sdcard/<your zip> /cache/.

  • Make the directory and perform the below steps on device

  • mkdir -p /cache/recovery
  • touch /cache/recovery/command
  • echo "--update_package=/cache/update.zip" > /cache/recovery/command
  • reboot recovery

Above steps will perform the Updation by Android recovery (automatically).

Let me know in case of any query here.

Thank You,

Radhika Somaiya

0 Kudos

112 Views
Contributor I

Hi again Radhika,

I'm pretty sure that I'm not entering any recovery mode. I have a similar problem as Georg Schöffl.

I do have the update.zip file under /cache/recovery already.

Did all steps:

  • mkdir -p /cache/recovery
  • touch /cache/recovery/command
  • echo "--update_package=/cache/update.zip" > /cache/recovery/command
  • reboot recovery

The command "reboot recovery" just reboots the device (in normal mode). When I look in Settings->About device it's still the old version, no update.

Here is what i wrote:

cgt_imx6:/ # touch /cache/recovery/command
cgt_imx6:/ # echo "--update_package=/cache/update.zip" > /cache/recovery/command
cgt_imx6:/ # reboot recovery

Shouldn't echo display some information on the screen? Nothing on mine though...

The module I'm using is from Congatec. I asked them the same questions, because I'm not sure which one is responsible for the Recovery Mode, but the answer I got from them is that they are not having any customers that uses it (until now).

Got any ideas?

Thank you,

Richard Andersen

0 Kudos

112 Views
Contributor I

Hi Richard, Radhika,

I'm trying to upgrade from Nougat (7.1.1) to Oreo (8.0.0) on imx6.

I get the attached failure on the device when i use sideload command.

adb reboot sideload

adb sideload cid-ota-20190610.zip (Oreo ota package)

The steps used to generate the Oreo OTA package are:

make -j12 dist || exit 1

make -j16 otapackage

I know the GPT partition is changed from nougat to Oreo. 

Reading the logs (attached) from the /cache/recovery directory, i see Oreo uses 

[ 65.319409] Patching system image unconditionally...
[ 65.319433] performing update
[ 65.386756] open "/dev/block/bootdevice/by-name/system" failed: No such file or directory
[ 65.386824] script aborted: E1001: Failed to update system image.
[ 65.401448] E:Error in /sideload/package.zip

My device is running Nougat when i perform the sideload. 

There is NO path of /dev/block/bootdevice/by-name in the device on Nougat. But this path is referred by Oreo in the ota package.

Am i missing some steps to get the upgrade procedure to work manually?

IMG_2506.JPG

0 Kudos

112 Views
Senior Contributor II

Hi Richard Andersen,

As you wrote here - "I'm pretty sure that I'm not entering any recovery mode. I have a similar problem as Georg Schöffl.

I do have the update.zip file under /cache/recovery already."

update.zip should be in /cache/. directory only not in /cache/recovery.  It looks like package is not getting selected at the recovery boot. Please confirm this.

0 Kudos

112 Views
Contributor I

I mistyped, update.zip is in /cache/ and not in /cache/recovery/

0 Kudos