After OSUpdate device not booting from slot B even after marking slot B as active.

370 views
Skip to first unread message

swetabh suman

unread,
Jun 6, 2019, 9:58:15 AM6/6/19
to android-platform
I am stuck with a scenario, where the OS update get success/completed then battery is removed immidiately within 1-2 sec.
In this case the update_engine completes its updating job and marking the next slot as active.But the problem is even if the slot B is marked as active, in the next boot device does not boots from slot B, rather it boots from slot a.
Below are the logs of the update engine completing its update process.

01-01 07:08:36.962  3307  3307 I update_engine: [0101/070836.962206:INFO:update_attempter_android.cc(505)] ActionCompleted() ... 
01-01 07:08:36.962  3307  3307 I update_engine: [0101/070836.962481:INFO:action_processor.cc(116)] ActionProcessor: finished FilesystemVerifierAction with code ErrorCode::kSuccess
01-01 07:08:36.962  3307  3307 I update_engine: [0101/070836.962535:INFO:action_processor.cc(143)] ActionProcessor: starting PostinstallRunnerAction
01-01 07:08:36.962  3307  3307 I update_engine: [0101/070836.962733:INFO:postinstall_runner_action.cc(340)] PostinstallRunnerAction : CompletePostinstall
01-01 07:08:36.962  3307  3307 I update_engine: [0101/070836.962782:INFO:postinstall_runner_action.cc(343)] PostinstallRunnerAction : install_plan_.switch_slot_on_reboot = true , calling SetActiveBootSlot()
01-01 07:08:36.963 10185 10185 I com.zebra.server.ProgressListener: Values onStatusUpdate status_code 5 percentage NaN
01-01 07:08:36.968  3307  3307 I update_engine: [0101/070836.968652:INFO:boot_control_android.cc(172)] update_engine : BCA : SetActiveBootSlot = B, ret.isOk= 1, result.success = 1
01-01 07:08:36.968  3307  3307 I update_engine: [0101/070836.968739:INFO:boot_control_android.cc(182)] update_engine : BCA : SetActiveBootSlot finally returning success
01-01 07:08:36.968  3307  3307 I update_engine: [0101/070836.968783:INFO:postinstall_runner_action.cc(366)] All post-install commands succeeded
01-01 07:08:36.968  3307  3307 I update_engine: [0101/070836.968826:INFO:update_attempter_android.cc(505)] ActionCompleted() ... 
01-01 07:08:36.970  3307  3307 I update_engine: [0101/070836.970495:INFO:action_processor.cc(116)] ActionProcessor: finished last action PostinstallRunnerAction with code ErrorCode::kSuccess
01-01 07:08:36.970  3307  3307 I update_engine: [0101/070836.970567:INFO:update_attempter_android.cc(460)] Processing Done .... code= 0
01-01 07:08:36.971  3307  3307 I update_engine: [0101/070836.971111:INFO:update_attempter_android.cc(710)] WriteUpdateCompletedMarker... boot_id= 890d19b0-a804-4108-b14b-6dc2e6062244
01-01 07:08:36.971  3307  3307 I update_engine: [0101/070836.971379:INFO:delta_performer.cc(1729)] DeltaPerformer : ResetUpdateProgress() called ...
01-01 07:08:36.972  3307  3307 I update_engine: [0101/070836.972182:INFO:delta_performer.cc(1740)] DeltaPerformer : resetted Prefs
01-01 07:08:36.972  3307  3307 I update_engine: [0101/070836.972223:INFO:update_attempter_android.cc(468)] Update successfully applied, waiting to reboot. . . DeltaPerformer::ResetUpdateProgress() called
01-01 07:08:36.972  3307  3307 I update_engine: [0101/070836.972264:INFO:update_attempter_android.cc(602)] TerminateUpdateAndNotify() called ...

Any help will be appreciated.
Thanks,
Swetabh

Wasim Nazir

unread,
Jun 14, 2019, 5:17:56 PM6/14/19
to android-platform
Hi Swetabh,

Can you try manually changing the active slot using bootctl command.
Here the details of the command:

=====================================================
bootctl - command-line wrapper for the boot HAL.

Usage:
  bootctl COMMAND

Commands:
  bootctl hal-info                       - Show info about boot_control HAL used.
  bootctl get-number-slots               - Prints number of slots.
  bootctl get-current-slot               - Prints currently running SLOT.
  bootctl mark-boot-successful           - Mark current slot as GOOD.
  bootctl set-active-boot-slot SLOT      - On next boot, load and execute SLOT.
  bootctl set-slot-as-unbootable SLOT    - Mark SLOT as invalid.
  bootctl is-slot-bootable SLOT          - Returns 0 only if SLOT is bootable.
  bootctl is-slot-marked-successful SLOT - Returns 0 only if SLOT is marked GOOD.
  bootctl get-suffix SLOT                - Prints suffix for SLOT.

SLOT parameter is the zero-based slot-number.
===========================================================

This message contains confidential information and is intended only for the individual(s) named. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this mail and attached file/s is strictly prohibited. Please notify the sender immediately and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secured or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission.

Gaynell Barnes

unread,
Jun 16, 2019, 4:07:23 PM6/16/19
to android-platform

swetabh suman

unread,
Jun 24, 2019, 11:10:45 AM6/24/19
to android-platform
Hi  Wasim ,
How can I apply bootctl command.? Do u mean by going to fastboot mode and applying the bootctl command or how is it ?
Reply all
Reply to author
Forward
0 new messages