0% found this document useful (0 votes)
44 views21 pages

A10 Os Update Instructions

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views21 pages

A10 Os Update Instructions

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

Android 10 OS Update

Instruction for Family of


Products on SDM660

1
Contents
1. A/B (Seamless) OS Update implementation on SDM660 devices ..................................................................................................... 2
2. How AB system is different to Non-AB system ................................................................................................................................. 3
3. Android AB Mode for OS Update ...................................................................................................................................................... 4
4. Recovery Mode for OS Update ......................................................................................................................................................... 4
5. Reset Packages and special recovery packages................................................................................................................................. 4
6. OS Upgrade and Downgrade ............................................................................................................................................................. 5
7. OS Upgrade and Downgrade via EMMs ............................................................................................................................................ 6
8. AB Streaming Update ........................................................................................................................................................................ 7
9. User Notification for Full OTA package Upgrade or Downgrade ....................................................................................................... 8
10. Recovery Mode ............................................................................................................................................................................... 11
11. UPL mechanism............................................................................................................................................................................... 17
12. Status messages to EMMs .............................................................................................................................................................. 19
13. Possible device interruptions during Full OTA package: ................................................................................................................. 19
14. AB Fallback mechanism................................................................................................................................................................... 20
15. Rescue Party Mode ......................................................................................................................................................................... 20
16. Recovery logs .................................................................................................................................................................................. 20

2
Zebra uses AB mechanism for OS Update on SDM660 products running Android O and above. This is a new
OS Update mechanism which is unavailable on other Zebra products with Android O.

The intent of this document is to advise Zebra customers and service about
1. AB OS Update mechanism
2. How to apply OTA packages on SDM660
3. How AB devices are different to legacy Non-AB systems
4. Fastboot flashing of AB devices

List of supported devices on A10 are:


TC52, TC57, TC72, TC77, MC3300x, MC93, PS20, EC30, CC600, CC605, CC610, CC6000, VC8300, TC8300, ET51, ET56,
L10AW, L10A, MC9300, TC8300, CC600, C6000, TC21, TC26, MC2200, MC2700, TC57X, TC52X, MC3300, EC50, EC55,
TC72X, TC77X, WT6300

1. A/B (Seamless) OS Update implementation on SDM660 devices


• Full OTA updates can occur while the system is running, without interrupting the user. This means
users can continue to use their devices during an OTA. After the installation of OTA package is
completed, device reboots into the updated image.
• AB device are fault tolerant by providing a backup slot. If device fails to boot-up, then it will fall back to
backup slot (slot with previous used good image/Baseline image) and device remains usable.
• In AB Update, updates can be streamed to A/B devices, removing the need to download the package
before installing it.

2
2. How AB system is different to Non-AB system

3
3. Android AB Mode for OS Update
A full OTA package will be installed via Android AB mode. As part of this:
a. Full OTA package will be applied on the device silently in the background.
b. User can continue using the device while Full OTA package will be applied.
c. Once the Full OTA package is applied, device auto-reboots to boot into new installed image.
d. Customers can also configure the device to wait for EMMs to notify device to reboot via CSP.

Full OTA package consists of following:


1. HLOS images (system, vendor, boot and dtbo)
2. Non-HLOS images (QCOM images)

Full OTA packages are used when we change to a new Baseline image.

4. Recovery Mode for OS Update


OTA patch images, reset packages and any special packages to update /persist or /odm partitions will be
installed via recovery mode.

As part of this:
a) Device will be automatically reboot to recovery mode.
b) OTA patch, reset packages or special packages will be applied using recovery mode.
c) Device will reboot back to home screen after installation is completed in recovery mode.
d) Customers can enter recovery mode using following key combinations of “PTT Key + Scan Key + Power
button” or using “adb reboot recovery” command.

OTA Patch image consists of following:


1. HLOS images (system, vendor, boot and dtbo)
2. Non-HLOS images (QCOM images)

OTA patch images are used to provide incremental updates to a device. The size of the OTA patch image is
smaller compared to Full OTA package and time taken to apply them is also very less.

5. Reset Packages and special recovery packages


Zebra devices support reset packages to erase userdata and enterprise partition. These packages will be
applied via recovery mode.

Package Information
Enterprise Reset Erase userdata partition and persist enterprise partition

Factory Reset Erase both userdata and enterprise partition


Packages used to modify /persist or /odm partitions or
Special recovery packages packages to update WLAN region code, audio tuning files etc.
can be applied via recovery mode.

4
6. OS Upgrade and Downgrade
Customer can upgrade the device to another Baseline image or to a patch image on a given baseline. In both
cases user data is persisted on all OS Upgrade operation.

Customers can perform OS downgrade to an older baseline or to a patch image belonging to an older baseline.
If customer performs OS downgrade operation, forced auto data reset is performed. Data persistence is not
supported on OS Downgrade.

On SDM660 O and above, following is the experience related to OS Update:

1. Customers shall be able to perform OS Upgrade (move to a higher version of OS Image) using Full OTA package.
2. Customers shall be able to perform OS Upgrade (move to a higher version of OS Image) using OTA patch image.
3. Downgrade (move to an older/lower version of OS Image) operation will be disabled by default on SDM660 O.
Any customers who use existing CSPs to perform OS Update shall not be able to perform OS downgrade.
4. Existing OS update interface shall be able to perform only OS upgrade operation and not OS Downgrade
operation.
5. Using a new interface, customers shall be able to perform OS Downgrade operation with Full OTA/OTA Patch
image.
6. The Downgrade interface shall be able to perform only downgrade operation and not OS Upgrade operation.
7. All OS downgrade operation will result in an Enterprise Reset operation. i.e., user data is erased on OS downgrade
operation.
8. Following parameters will be considered for OS downgrade operation
a. OS Google Security patch level (ro.build.version.security_patch)
b. OS patch version (ro.device.patch.version)
c. OS Hotfix version
d. Custom OS version

5
7. OS Upgrade and Downgrade via EMMs
Kindly refer to MX tech docs present on Zebra TechDocs portal for more details on supported CSP interfaces
for OS Upgrade and Downgrade.

https://techdocs.zebra.com/mx/powermgr/

OS Update
OS Upgrade OS Downgrade
via EMM

Reset Action 10 - OS Upgrade 11 - OS Downgrade

Allowed OTA
Full OTA Package, OTA Patch image, UPL Full OTA Package, OTA Patch image, UPL
Packages
Data NO
YES
persistence Auto data reset shall be performed
UPGRADE ONLY DOWNGRADE ONLY
Upgrade from Baseline to a higher OS Patch version Downgrade from Baseline to a lower/older Baseline
Upgrade from Baseline to a higher SPL version Downgrade from Baseline to a OS Patch version on
Upgrade from Baseline to a higher Baseline lower/older Baseline
Upgrade from Baseline to a higher Hotfix version Downgrade from Patch to a lower/older Patch version
Upgrade from Patch to a higher Patch version Downgrade from Patch to a lower/older SPL version
Upgrade from Patch to a higher SPL version Downgrade from Patch to a lower/older Baseline
Upgrade from Patch to a higher Baseline Downgrade from Patch to a lower/older Hotfix version
Allowed OS
Upgrade from Patch to a higher Hotfix version Downgrade from Hotfix to a lower/older Hotfix version
Update use
Upgrade from Hotfix to a higher Hotfix version Downgrade from Hotfix to a lower/older SPL version
case
Upgrade from Hotfix to a higher SPL version Downgrade from Custom OS to a lower/older Custom
Upgrade from Custom OS to a higher Custom version patch version
Upgrade from Custom OS to a higher Custom OS SPL Downgrade from Custom OS to a lower/older Custom OS
version SPL version
Upgrade from Custom OS to a higher Custom Baseline Downgrade from Custom OS Baseline to a lower/older
Custom OS Baseline version
Downgrade from Custom OS Baseline to a Custom OS Patch
version on a lower/older Custom OS Baseline version

Recovery UI also has been modified for OS Upgrade and Downgrade. Separate OS Upgrade and Downgrade
options have been enabled in recovery UI to perform OS Update operation.

Kindly visit below sections in this document for detailed explanation on recovery mode.

6
8. AB Streaming Update
An OTA package can reside on server and SDM660 devices can stream the package from server
directly to device without saving the OTA package on device. The OS update happens in background
and a user notification shall be displayed to indicate that OS update operation is in progress.

OS Update package can be streamed to A/B devices, removing the need to download the OTA
package to the device before installing it. With help of AB Streaming mode user can perform OS
update operations even if disk space is low. Same OTA package can be used for both AB streaming
and AB seamless updates.

Interface to initiate AB streaming update remains same as AB seamless update. Refer to Section 7 of
this document for details on interfaces.

Table below depicts the arguments to be used for AB streaming update:

Operation Reset Action Details

UPGRADE 12 - OS Upgrade Streaming Launches a full-package OS Upgrade via streaming server.

DOWNGRADE 13 - OS Downgrade Streaming Launches a full-package OS Downgrade via streaming server.

Once AB streaming update has started, a user notification message indicating that OS Update is in
progress will be displayed. Same status is available via OEMInfo.

While AB streaming update is in progress, a progress bar shall show the progress of the operation.
After AB streaming update has completed, device shall show a notification that in 15 seconds device
will auto-reboot.

After 15 seconds, device will auto-reboot into new OS image.

Device needs to authenticate with server before the OTA package residing on server can be
streamed. EMM solution or FOTA solution who is initiating OS Update job will have to generate the
authentication Id and share with device using Power Manager CSP.

Following Authentication modes are supported for AB streaming mode.


• Token Auth
• Username & Password (Basic Auth).
• No Authentication

Device supports following protocols to perform AB streaming


• http
• https

Installing Full OTA package upgrade/downgrade can be accomplished using AB streaming update. All
other Enterprise use cases of Zebra cannot be supported by AB Streaming update.
• Installing LG patches or Delta packages are not supported by AB streaming update.
• Installing multiple OTA packages using UPL is not supported by AB streaming update.

7
9. User Notification for Full OTA package Upgrade or Downgrade
SPR 36526 was fixed in 01-18-02.00-OG-U00-STD/01-18-02.00-ON-U00-STD OS version. With this fix,
we now bring user notification when a Full OTA package is being installed. Earlier OS versions had
implemented a silent OS update and thus user was unaware of the background OS Update process.

Few of the features of this user notification:


1. This is applicable only for Full OTA package and is not applicable for OTA Patch image.
2. On start of Full OTA package installation, an Icon (android system icon) will be displayed on the
Status Bar.
3. On pulling down the notification drawer, a notification will be displayed informing that OS
Update is in progress and device will Reboot automatically on completing the same.
4. User will have no control over this notification. i.e., User CANNOT
a. Pause/Snooze the OS Update request
b. Cancel OS Update request
c. Prevent Reboot of device
5. Notification can be cleared by User. Once notification is removed, no new notification shall be
displayed again.
6. If EMMs have selected “Suppress Reboot” option while installing a Full OTA package, then device
will not auto-reboot. User Notification too indicates the same and waits for EMMs to reboot the
device.
7. The notification will also display system interrupts blocking OS Update process. E.g., Low Battery,
Media Eject etc.

8
A Full OTA package installation has started Installation of Full OTA package completed

9
A Full OTA package installation has failed to apply Notification for Cancelling an OS Update job

10
10. Recovery Mode
From recovery UI customers can install full OTA packages, OTA Patch images and reset packages.

SDM660 Recovery UI provides the following options to perform various operations in recovery
mode and apply different packages:
• Reboot system now
• Apply upgrade from adb
• Apply upgrade from SD card
• Apply upgrade from USB drive
• Apply downgrade from adb
• Apply downgrade from SD card
• Apply downgrade from USB drive
• View recovery logs
• Power off

Different UI options and their functionalities are explained below in detail.

• Reboot system now

When this UI option is selected by user, device will boot to OS.

11
• Apply upgrade from adb

Upgrade packages via adb will be applied when we select this option. User can only perform OS
Upgrade operation and not downgrade operation using this option.

User will be provided two different options one option is for Full OTA package. User should
select this option to apply Full-OTA upgrade package or reset packages.

After selecting Full OTA Package option user should enter the package name via adb
sideload interface.

Second option is to apply OTA Patch image (Diff OTA). User should select this option to
apply OTA Patch images.

After selecting Diff OTA Package option user should enter the package name via adb side
load interface.
12
• Apply upgrade from SD card

Upgrade packages via External SD card will be applied when we select this option. User can only
perform OS Upgrade operation and not downgrade operation using this option.

Using this option, customers can perform OS Upgrade using Full OTA packages, OTA
Patch images and install Reset Packages from SD card.

13
• Apply upgrade from USB drive

Upgrade packages via USB drive will be applied when we select this option. User can
only perform OS Upgrade operation and not downgrade operation using this option.
Using this option, customers can perform OS Upgrade using Full OTA packages, OTA
Patch images and install Reset Packages from USB drive.

• Apply downgrade from adb

Downgrade packages via adb will be applied when we select this option. User can only perform
OS Downgrade operation and not upgrade operation using this option.

User will be provided two different options one option is for Full downgrade OTA package. User
should select this option to apply Full-OTA downgrade package or reset packages.

14
Once selecting Full OTA package option user should enter the package name via adb side load
interface.

Second option is for OTA Patch image (Diff OTA). User should select this option to
apply OTA-diff downgrade packages.

Once selecting Diff OTA package option user should enter the package name via adb
sideload interface.

• Apply downgrade from SD card

Downgrade packages via External SD card will be applied when we select this option. User can
only perform OS Downgrade operation and not upgrade operation using this option.

Using this option, customers can perform OS downgrade using Full OTA packages, OTA
Patch images and install Reset Packages from SD card.

• Apply downgrade from USB drive

Downgrade packages via USB drive will be applied when we select this option. Using this option,
customers can perform OS Upgrade using Full OTA packages, OTA Patch images and install Reset
Packages from USB drive.
User can only perform OS Downgrade operation and not upgrade operation using this option.

15
• View recovery logs

By selecting this option user can view recovery logs.

Recovery logs will be available in /tmp/recovery.log

By selecting Back, we can return to main menu.

16
• Power off

By selecting this option user can power off device.

11. UPL mechanism


User can apply multiple OS Update packages in a single step using UPL mechanism. UPL allows user
to migrate from a baseline / patch image to
• a new patch image on different baseline
• a new patch image on new dessert image
• a patch on older dessert image
• apply reset packages after installing the required OS images

An UPL file can consist of following


• Baseline image (Full OTA package)
• Baseline delta package
• OS patch image (diff/incremental OTA package)
• Reset packages

Rules to build an UPL:


An UPL can consist of following combinations
• Baseline Full OTA package + OS Patch image (e.g. LG patch)
• Baseline Full OTA package + OS Patch image (e.g. LG patch) + Reset package
• Baseline Full OTA package + OS Patch image (e.g. LG patch) + Reset Command
• Baseline Delta package + OS Patch image (e.g. LG patch)
• Baseline Delta package + OS Patch image (e.g. LG patch) + Reset package
• Baseline Delta package + OS Patch image (e.g. LG patch) + Reset Command

17
An UPL should not be configured as below
• OS Patch image (e.g., LG patch) followed by Baseline Full OTA package
• OS Patch image (e.g., LG patch) followed by Baseline Delta package
• More than 1 OS patch images of same baseline. (e.g.: LG01 + LG02 + LG03)
• No new lines should be present after the last line in UPL file
• No trailing tab spaces should be present after each line in UPL file
• No unwanted characters should be present after each line in UPL file

Device can be reset using following UPL commands are supported on A10. This avoids the need to
push a reset package when using UPL.
• EnterpriseReset
• FactoryReset

Few valid examples of UPL files are as below

Sample1.upl Sample2.upl
package:Full_OTA_Package.zip package:Baseline_Delta_Package.zip
package:Patch_OS_Package.zip package:Patch_OS_Package.zip
Sample3.upl Sample4.upl
package:Full_OTA_Package.zip package:Baseline_Delta_Package.zip
package:Patch_OS_Package.zip package:Patch_OS_Package.zip
package:FactoryReset.zip package:FactoryReset.zip
Sample5.upl Sample6.upl
package:Full_OTA_Package.zip package:Baseline_Delta_Package.zip
package:Patch_OS_Package.zip package:Patch_OS_Package.zip
command:FactoryReset command:FactoryReset

To install an UPL, copy UPL file and its corresponding OTA packages to the same location on the
device. Select UPL filename to install the packages and not any individual OTA package names.

If UPL and OTA packages were copied to internal memory (/sdcard or /data/tmp/public)
then these files should not be re-used. UPL files and OTA packages residing in internal memory of
device should be deleted after they have been applied. Do not re-use the same packages or UPL files.

An UPL cannot be installed using adb sideload mode

If UPL consists of a Full OTA package and a Diff OTA package:


• Full OTA package shall get installed in Android AB mode (background update)
• Patch/Diff OS image will be installed in recovery mode
• Device will auto reboot to recovery mode after Full OTA package installation has completed.
• Suppress reboot flag shall not be considered in UPL update.

18
12. Status messages to EMMs
OS Update status is sent as an intent. Data Analytics captures the same and stores it in OEMInfo
content provider. EMMs can read OEMInfo content provider to fetch the exact status of OS Update
operation. Device does not display any kind of UI notification when an OS Update is in
progress/applied/failed.

13. Possible device interruptions during Full OTA package


While a Full OTA Package is installed via AB mode in background, user of the deice will be able to use
the device. Thus, device might be put to various states which can interrupt the ongoing OS Update.
Device states which can interrupt the OS Update are,

1. Low Battery condition. If Battery falls below 30% capacity, ongoing OS Update will
be interrupted and resumed only after connecting to a battery source.
2. Device can be shutdown, enter critical battery state, media ejected (external SD Card), or
low Storage in userdata partition (<200MB). In all the above scenarios, ongoing OS
Update will be cancelled.
3. If device is rebooted in middle of a OS Update operation, the ongoing job will be suspended.
On reboot of device, OS Update job will be resumed and completed.

None of these device conditions will impact while applying OTA diff package as device will
reboot to recovery mode for applying it.

19
14. AB Fallback mechanism
In Android AB system if an OTA fails to apply (for example, because of a bad flash), the user will not
be affected. The user will continue to run the old OS (existing OS image), and the customer can re-
attempt the update.

If an OTA update is applied but fails to boot, the device will reboot back (fallback) into the
old/existing OS image and device remains usable. This allows our customer to re-attempt the
update.

15. Rescue Party Mode


Sometimes devices can end up in reboot loops, which cause customers to file support
tickets or warranty inquiries. This process is frustrating for customers and expensive.

Android on SDM660 includes a feature that sends out a "rescue party" when it notices core system
components are stuck in crash loops. Rescue Party then escalates through a series of actions to
recover the device. As a last resort, Rescue Party reboots the device into recovery mode and
prompts the user to perform a factory reset.

Rescue party logs can be collected using RxLogger. One must enable RxLogger plugin for recovery
mode to collect rescue party logs.

16. Recovery logs


User can fetch recovery logs using RxLogger. One must enable RxLogger plugin for recovery mode to
collect recovery logs.

User will not be able to pull recovery logs from /data/tmp/public/recovery path which was
available in Android Oreo & Pie.

Last 10 Recovery logs are saved under this folder for debug purposes.

20

You might also like