- Atomic upgrades
- Rollback capabilities
- Efficient delta-based updates
Use capsule and OSTree repos to upgrade devices
To upgrade devices running Qualcomm Linux 1.0 to Qualcomm Linux 2.0, use the following:- OTA upgrade through capsule for the boot firmware
- OSTree repos for Linux
Partitioning operation limitations
The following operations aren’t supported for OTA upgrade as they make the device susceptible to crashes in the field:
- Repartitioning to resize any partition, that is, partition size can’t be increased or decreased
- Changing partition labels
- Changing partition GUIDs
- Changing the attribute flags of partitions
- Moving a partition from LUN-X to LUN-Y
- Deleting partitions from any logical unit number (LUN)
Boot firmware partitions size considerations for non-Linux partitions
For any device running Qualcomm Linux 1.0, the boot firmware LUN has partitions dedicated to images, such as XBL, TZ, UEFI, and DTB. The partition sizes are defined when the device is provisioned with Qualcomm Linux 1.0. These partitions may have some unused space. For example, the unused space in QCS6490 is as follows:- 700 KB for UEFI
- 25 KB for TZ
- 60 MB for DTB
Linux image partitions considerations for EFI
In Qualcomm Linux 1.0, the EFI partition GUID and part-label are already standard:C12A7328-F81F-11D2-BA4B-00A0C93EC93B and EFI, respectively. Therefore, you can upgrade from Qualcomm Linux 1.0 to Qualcomm Linux 2.0 through OTA, and the EFI partition mounts as expected. The system mounts this partition to the /boot mount point.
Note
The label and GUID can’t be changed over OTA.
Linux image partitions considerations for Rootfs
For an OSTree-enabled build, the root file system is searched using theOTAROOT label, which is standard in Qualcomm Linux 1.0. Hence, on OTA upgrade from Qualcomm Linux 1.0 to Qualcomm Linux 2.0 using OSTree rootfs mounting works as expected.
A Qualcomm Linux 1.0 device going through the upgrade can’t change the partition label (partition name) to rootfs. The partition label continues to read system when inspected with tools, such as gdisk or sgdisk.
Note
The standard GUID in use for the rootfs partition for both Qualcomm Linux 1.0 and Qualcomm Linux 2.0 is B921B045-1DF0-41C3-AF44-4C6F280D3FAE.
Persist partition considerations
In Qualcomm Linux 1.0, thepersist partition resides on LUN0. When you update a device from Qualcomm Linux 1.0 to the mainline, you can’t move the persist partition from Linux images LUN0 to the boot-firmware LUN4.
After Qualcomm Linux 1.0 to Qualcomm Linux 2.0 OTA upgrade, systemd units mount the persist partition using the part-label to /var/lib/tee.
Userspace reference to partition labels
If your userspace utilities or libraries refer to the root partition labelsystem in Qualcomm Linux 1.0, you must update them to use either the boot specification GUID or findmnt to discover the root partition. This change preserves compatibility when you upgrade to Qualcomm Linux 2.0.
Note
Libraries must use the GUID-based reference method to be able to reliably find the rootfs partition.
Image considerations
A Qualcomm Linux 1.0 device may be running with one of the following image variants:The corresponding images in Qualcomm Linux 2.0 are as follows:
- Base variant, that is,
qcom-multimedia-imagebuilt withqcom-base-bspandqcom-base-distrooverrides- Custom variant, that is,
qcom-multimedia-imagebuilt withqcom-custom-bspandqcom-custom-distrooverrides
- The
qcom-multimedia-imageimage built withqcom-base-bspandqcom-base-distrooverrides in Qualcomm Linux 1.0 correspond toqcom-multimedia-imagein Qualcomm Linux 2.0.- The
qcom-multimedia-imageimage built withqcom-custom-bspandqcom-custom-distrooverrides in Qualcomm Linux 1.0 correspond toqcom-multimedia-proprietary-imagein Qualcomm Linux 2.0.
Deploy Qualcomm Linux 2.0 image on devices running Qualcomm Linux 1.0 images
After development is complete for Qualcomm Linux 2.0, select an image between Config #1 and Config #4, based on your product requirements. Images for the following two configurations are already predefined as recipes inmeta-qcom-distro:
- Config #1:
qcom-multimedia-image - Config #2:
qcom-multimedia-proprietary-image
DISTRO_FEATURE sota for the image defined for your product, so that the OSTree framework is enabled in the image.
OTA with OSTree and capsule handles the following partitions:
- EFI: OSTree
- ROOTFS: OSTree
- Boot firmware: Capsule
OTA update commands considerations
The OTA update steps are similar between Qualcomm Linux 1.0 and Qualcomm Linux 2.0. For instructions, see Qualcomm Linux Yocto Guide. In Qualcomm Linux 2.0, you don’t need to perform the following OTA-update step. This command is supported only in Qualcomm Linux 1.0.The step is skipped in Qualcomm Linux 2.0 because the EFI variables are stored in the EFI partition when you run the following step:
- Running the
uefi_secapp on the device to save theefivarsto replay protected memory block (RPMB):

