1
Android 11 OS Update
Instruction for Family of
Products on SDM660
2
Contents
1. A/B (Seamless) OS Update implementation on SDM660 devices .................................................................................................... 2
2. How AB system is different to Non-AB system ................................................................................................................................ 3
3. OS Update from Zebra.com and LGE 3.0 .......................................................................................................................................... 4
4. Android AB Mode for OS Update ..................................................................................................................................................... 4
5. Recovery Mode for OS Update ......................................................................................................................................................... 5
6. Reset Packages and special recovery packages ................................................................................................................................ 5
7. OS Update Operations - Upgrade and Downgrade .......................................................................................................................... 6
8. OS Upgrade and Downgrade via EMMs ........................................................................................................................................... 7
9. AB Streaming Update ....................................................................................................................................................................... 8
10. User Notification for Full OTA package Upgrade or Downgrade ...................................................................................................... 9
11. OS Update - Screenshots ................................................................................................................................................................ 10
12. Recovery Mode ............................................................................................................................................................................... 12
13. UPL (Update Package List) mechanism .......................................................................................................................................... 17
14. Status messages to EMMs .............................................................................................................................................................. 20
15. Possible device interruptions during an OTA package update ....................................................................................................... 20
16. AB Fallback mechanism .................................................................................................................................................................. 21
17. Rescue Party Mode ......................................................................................................................................................................... 21
18. Recovery logs .................................................................................................................................................................................. 21
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 A11 are:
TC97, EC30PR, EC300K, CC600, CC6000, VC8300, TC8300, L10AW, TC52, TC57, TC77, TC72, PS20J, TC57X, TC52X, TC21,
TC26, MC2200, MC2700, WT6300, EC50, EC55, TC83, MC93, VC8308, VC8310, EC30, L10A, ET56, ET51, CC605, CC610,
MC3300x, MC3300xC
1. A/B (Seamless) OS Update implementation on SDM660 devices
Full OTA and Delta OTA (Patch) updates can occur while the system is running, without interrupting
the user. This means users can continue to use their devices during an OTA upgrade. 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 a
backup slot (reboot back into the old partition) and the device remains usable.
In AB Update, updates can be streamed to A/B devices, removing the need to download the
complete package before installing it.
Starting with A11
Full OTA packages and Delta OTA packages of each LG release will be available on Zebra.com.
Delta OTA packages can be streamed and installed on the device.
OTA Delta packages available on Zebra.com will be sequential in nature. This means to upgrade from
Patch1 (U01) to Patch5 (U05), one must apply all intermediate delta patches too (i.e., U01, U02, U03,
U04 and U05) in the same order.
To make things easier, user may skip applying delta packages sequentially and directly flash the Full
OTA package of U05.
For customers who are using Zebra LGE solution, you can upgrade to the required LG patch version in
a single step with help of a single OTA delta package. This OTA delta package is called as true delta
package which contains the exact delta required to install the required LG patch version.
This true delta OTA package will be serviced by LGE solution and will not be available on zebra.com.
You can find more details on LGE solution at Zebra TechDocs portal.
The size of OTA delta packages will be much smaller than Full OTA packages.
3
2. How AB system is different to Non-AB system
OS Update Use Case
Non-AB
AB
Notes
Flashing Full OTA Package
Recovery
Mode
Android AB
Mode
AB: Device shall apply Full OTA Package via Android AB mode when
applied via EMM.
User can manually enter recovery mode to apply Full OTA package
too.
Non-AB: Device shall boot into recovery mode to apply any OTA
package.
Flashing Delta OTA Package
Recovery
Mode
Android AB
Mode
AB: Device will apply OTA delta package via Android AB mode. User
can manually enter recovery mode to apply OTA delta package too.
Non-AB: Device shall boot into recovery mode to apply any OTA
package.
Flashing Reset Packages
Recovery
Mode
Recovery
Mode
AB: Device shall boot into recovery mode to apply Enterprise and
Factory Reset packages
Non-AB: Device shall boot into recovery mode to apply Enterprise
and Factory Reset packages
Device downtime for OS Update
-
+
AB: Full and Delta OTA updates can occur while the system is
running, without interrupting the user. At the end, device reboots
into the new installed image. Rebooting to new OS image is the
only device downtime user will experience.
Non-AB: Device reboots to recovery mode to install reset or special
packages only. User cannot use the device while installing OTA
package.
Fault tolerance
-
+
AB device are fault tolerant by providing a backup slot. If device
fails to boot-up, then it will fall back to backup slot (reboot back
into the old partition).
Non-AB: If device fails to bootup, then device is bricked.
Patch upgrades
Y
Y
Patch downgrades
Y
N
Starting A11, patch downgrades are not supported. Users have the
option to use Full OTA package of the specific patch to perform OS
downgrade.
SDM660 Android O and above has Version Binding implementation
which will cause data reset on downgrade.
Hotfix patch support
Y
Y
Patch Size
-
+
AB delta packages will be considerably small compared to Non-AB
delta packages available for Zebra devices.
Customers using LGE APIs will be able to use a True Delta package.
Silent Update
-
Y
AB Full and Delta OTA updates are silent to user
4
3. OS Update from Zebra.com and LGE 3.0
OS Update Use Case
Zebra.com
LGE 3.0
Notes
Full OTA OS Upgrade
Y
Y
Full OTA OS Downgrade
Y
N
LGE 3.0 does not support OS downgrade. EMM can downgrade to
an older version by downloading a Full OTA package of an older
version.
Zebra.com customers can downgrade using EMM.
Delta OTA Upgrade
Y
Sequential
Delta
Y
True
Delta
LGE3.0 - Delta OTA packages will be streamed for customers using
LGE solution.
Zebra.com - Delta upgrades are sequential and can be installed
using StageNow/EMM or from Recovery mode.
Delta OTA Downgrade
N
N
Delta OTA packages cannot be used for Downgrade to an older
patch version.
Streaming Support
N
Y
LGE 3.0 solution will enable AB streaming of OTA Full and Delta
packages.
Zebra.com customers will have to manually download full OTA or
delta packages to the device and install the same.
Reset Packages or Special Packages
Y
N
LGE 3.0 APIs do not support flashing of Reset or Special packages.
Zebra.com customers can download, and flash Reset packages or
any special packages available to them.
4. Android AB Mode for OS Update
Full and delta OTA packages will be installed via Android AB mode. As part of this:
a. Full and delta OTA package will be applied on the device silently in the background.
b. User can continue using the device while OTA packages will be applied.
c. Post installation is complete, a device notification will be displayed confirming the installation is completed
and device shall auto-reboot after 15 secs.
d. Device will auto-reboot to boot into new installed OS image after the OTA package installation is completed
successfully.
e. Customers can also configure the device to wait for Update clients (e.g., FOTA) or EMMs to notify device to
reboot.
f. AB streaming mode will be used by default for customers using LGE3.0 solution to update the device. The
OTA package will not be completely downloaded and saved on device before starting the installation.
Rather the OTA package contents will be streamed to the device and installed.
OTA package consists of following:
1. HLOS images (system, vendor, boot and dtbo)
2. Non-HLOS images (QCOM images)
5
5. Recovery Mode for OS Update
Reset packages and any special packages to update Zebra Device Management partitions will be installed via
recovery mode.
As part of this:
a) Device will be automatically reboot to recovery mode.
b) 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.
6. 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
Special recovery packages
Packages used to modify Zebra Device Management partitions
or packages to update WLAN region code, audio tuning files
etc. can be applied via recovery mode.
Do not use older reset packages from Oreo/Pie/A10 on A11 OS
6
7. OS Update Operations - Upgrade and Downgrade
Customer can upgrade the device to a newer OS dessert initial release OR to any latest LG patch version within
the same dessert OR on the higher dessert release if the Google security patch level of the OS image to be
installed is higher than the Google security patch level on the device.
If the device is running on a higher Google security patch level compared to the OS image to be installed, then
customer cannot upgrade to such an image. This behavior follows Google security requirements to protect
device from exploiting any known security vulnerabilities. User data is persisted on all OS Upgrade operations.
Customers can perform OS downgrade to an older OS dessert image or to a LG patch image having a lower
Google security patch level compared to Google security patch level on device. If customer performs OS
downgrade operation, user data will be erased automatically.
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 delta OTA
image.
3. Starting from A11 on SDM660 devices, customers can downgrade (move to an older/lower version
*
of OS
Image) operation using Full OTA packages only.
4. Separate interfaces are provided to perform OS Upgrade & OS downgrade operations.
5. All OS downgrade operation will result in an Enterprise Reset operation. i.e., user data is erased on OS
downgrade operation.
**
higher version Following parameters will be considered to identify if an OS image to be installed is higher
or lower compared to device OS version.
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
7
8. 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
via EMM
OS Downgrade
Reset Action
11 - OS Downgrade
Allowed OTA
Packages
Full OTA Package
Data
persistence
NO
Auto data reset shall be performed
Allowed OS
Update use
case
DOWNGRADE ONLY
Downgrade from current OS to a lower/older OS version
Downgrade from current OS to a OS Patch version on
lower/older OS version
Downgrade from Patch to a lower/older OS version
Downgrade from Patch to a lower/older Hotfix version
Downgrade from Hotfix to a lower/older Hotfix version
Downgrade from Hotfix to a lower/older SPL version
Downgrade from Custom OS to a lower/older Custom
patch version
Downgrade from Custom OS to a lower/older Custom OS
SPL version
Downgrade from Custom OS version to a lower/older
Custom OS version
Downgrade from Custom OS version to a Custom OS Patch
version on a lower/older Custom OS version
Note: Suppress reboot flag shall not be considered in case of OS downgrade.
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.
8
9. 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.
AB streaming mode will be used by default for customers using LGE3.0 solution to update the device.
The delta OTA package will not be completely downloaded and saved on device before starting the
installation. Rather the delta OTA package contents will be streamed to the device and installed.
Similarly, AB streaming updates will be used if there is a need to install a Full OTA package from LGE
3.0 solution.
Customers who self-manage their devices will have to download the required OTA package from
zebra.com and copy the same to the device. AB Streaming update will not be applicable for this use-
case.
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/patch OS Upgrade via streaming
server.
DOWNGRADE
13 - OS Downgrade Streaming
Launches a full-package OS Downgrade via streaming server.
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. OS update status is
made available via OEMInfo as well.
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 (recommended for better security)
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 multiple OTA packages using UPL is not supported by AB streaming update.
9
10. 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 for Full OTA package and OTA Patch image.
2. On start of Full and Diff 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.
In prior desserts, if the device was flashed with an OS dessert or version that is not supported by
the device a notification used inform user that a sub-optimal version of OS is running.
This notification is removed from A11 onwards.
10
11. OS Update - Screenshots
A Full OTA package installation has started Installation of Full OTA package completed
11
A Full OTA package installation has failed to apply Notification for Cancelling an OS Update job
12
12. 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.
13
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 should enter the package name via adb sideload interface.
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.
14
Using this option, customers can perform OS Upgrade using Full OTA packages, OTA
Patch images and install Reset Packages from SD card.
15
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.
Once selecting this option user should enter the package name via adb side load 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.
16
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.
17
Power off
By selecting this option user can power off device.
13. UPL (Update Package List) mechanism
UPL allows user to perform anyone of the below use-cases in a single step for device administrator
Apply multiple firmware OTA packages along with an OS OTA package
Apply any configuration OTA packages along with an OS OTA package
Apply reset packages after installing an OS image
Perform device reset using commands instead of packages
An UPL file can consist combinations of following package types:
Full OTA package
Delta OTA package
Reset packages
Reset commands
Firmware update packages
Configuration packages
Till A10 on SDM660, an UPL file could have a Full OTA package of a baseline followed by delta OTA
package of a LG patch version belonging to the same baseline. This would allow device
administrator to update to the required LG patch on a baseline in a single step.
Starting Android 11 on SDM660, an UPL file cannot consist of both Full OTA and Delta OTA
package. This is because on A11 the customer can directly install the Full OTA package of
required LG image.
The Full OTA package can be downloaded from zebra.com. If customer is using the LGE 3.0 solution,
then device can be directly updated to the required LG patch version using a delta OTA package
provided by LGE 3.0.
18
Rules to build an UPL. On A11, UPL can consist of the following combinations:
Full OTA package + Reset/Special package
Full OTA package + Reset command
OS Patch image (e.g., LG patch) + Reset/Special package
OS Patch image (e.g., LG patch) + Reset command
Following combinations are supported only when downgrading from A11 to A10 or below:
Full OTA package + OS Patch image (e.g., LG patch)
Full OTA package + OS Patch image (e.g., LG patch) + Special package
Full OTA package + OS Patch image (e.g., LG patch) + Reset command
Device can be reset using following UPL commands and are supported on A10 and above. This avoids
the need to push a reset package while using UPL.
EnterpriseReset
FactoryReset
UPL files should NOT be configured as below:
Combination of Full OTA packages or Delta/OS Patch images (e.g., LG patch)
New lines present after the last line in UPL file
Trailing tab spaces present after each line in UPL file
Unwanted characters present after each line in UPL file
Contain only UPL commands
Few valid examples of UPL files are as below:
Sample1.upl
Sample2.upl
package:Full_OTA_Package.zip
package:Full_OTA_Package.zip
package:FactoryReset.zip
command:FactoryReset
Sample3.upl
Sample4.upl
package:Patch_OS_Package.zip
package:Patch_OS_Package.zip
package:FactoryReset.zip
command:FactoryReset
Sample5.upl
Sample6.upl
package:Baseline_Delta_Package.zip
package:Baseline_Delta_Package.zip
package:FactoryReset.zip
command:FactoryReset
Usage of Reset packages in UPL for dessert migration
MDM
Recovery
A10 to A11
A10 to A11
package:A11_Full_OTA_Package.zip
package:A11_Full_OTA_Package.zip
package:A11_Reset_Package.zip
package:A10_Reset_Package.zip
A11 to A10
A11 to A10
package:A10_Full_OTA_Package.zip
package:A10_Full_OTA_Package.zip
package:A10_Delta_OTA_Package.zip
package:A10_Reset_Package.zip
package:A10_Delta_OTA_Package.zip
package:A10_Firmware_Package.zip
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.
19
If UPL and OTA packages were copied to internal memory (/sdcard or /data/tmp/public)
then these files should not be re-used.
Notes:
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.
UPL file cannot be installed using adb sideload mode.
If UPL consists of a Full or Diff OTA package and a special package:
Full OTA package shall get installed in Android AB mode (background update)
Special packages 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.
20
14. 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.
15. Possible device interruptions during an OTA package update
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 an OS Update operation, the ongoing job will be suspended
for seamless update and cancelled for steaming update. On reboot of device, OS Update job
will be resumed and completed only in case of a seamless update.
21
16. 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.
17. 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.
18. Recovery logs
User can fetch recovery logs using RxLogger. One must enable RxLogger plugin for recovery mode to
collect recovery logs.
22
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.