¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

[PATCH v3 0/6] android_ab: introduce bcb ab_dump command and provide several bcb fixes


 

Hi,

just test this series on Khadas vim3 board and it's working fine

bcb ab_dump mmc 2#misc
Bootloader Control:?????? [misc]
Active Slot:????????????? _a
Magic Number:???????????? 0x42414342
Version:????????????????? 1
Number of Slots:????????? 2
Recovery Tries Remaining: 0
CRC:????????????????????? 0xd438d1b9 (Valid)

Slot[0] Metadata:
??????? - Priority:???????? 15
??????? - Tries Remaining:? 6
??????? - Successful Boot:? 0
??????? - Verity Corrupted: 0

Slot[1] Metadata:
??????? - Priority:???????? 15
??????? - Tries Remaining:? 7
??????? - Successful Boot:? 0
??????? - Verity Corrupted: 0


Thanks for your patches.

Tested-by: Guillaume La Roque <glaroque@...>

Le 08/10/2024 ¨¤ 22:18, Dmitry Rokosov a ¨¦crit?:
The patch series include changes:
- move ab_select_slot() documentation to @ notation
- move ab_select command to bcb subcommands
- introduce the ab_dump command to print the content of the BCB
block; it's useful for debugging A/B logic on supported boards
- fix the slot suffix format in the ABC block to align with official
Android BCB specifications
- add a test for the ab_dump command to verify the accuracy of each
field within the ABC data displayed, it's also useful for testing
slot_suffix problem code paths

Changes v3 since v2 at [2]:
- return "Legend" block for bcb command
- additionally, verify the CONFIG_ANDROID_AB configuration alongside
CONFIG_CMD_BCB to ensure that the A/B scheme is used for the
designated board.

Changes v2 since v1 at [1]:
- move ab_select_slot() documentation to @ notation
- move ab_select command to bcb subcommands per Simon and Mattijs
suggestions
- redesign ab_dump as bcb subcommand
- use spaces instead of tabs in the ab_dump command output
- print hex values in the lowercase
- add RvB tags

Links:
[1]
[2]

Signed-off-by: Dmitry Rokosov <ddrokosov@...>
---
Dmitry Rokosov (6):
include/android_ab: move ab_select_slot() documentation to @ notation
treewide: bcb: move ab_select command to bcb subcommands
cmd: bcb: change strcmp() usage style in the do_bcb_ab_select()
cmd: bcb: introduce 'ab_dump' command to print BCB block content
common: android_ab: fix slot suffix for abc block
test/py: introduce test for ab_dump command

MAINTAINERS | 1 -
boot/android_ab.c | 116 ++++++++++++++++++++++++------
cmd/Kconfig | 15 +---
cmd/Makefile | 1 -
cmd/ab_select.c | 66 -----------------
cmd/bcb.c | 98 +++++++++++++++++++++++++
configs/am57xx_hs_evm_usb_defconfig | 1 -
configs/khadas-vim3_android_ab_defconfig | 1 -
configs/khadas-vim3l_android_ab_defconfig | 1 -
configs/sandbox64_defconfig | 4 +-
configs/sandbox_defconfig | 4 +-
doc/android/ab.rst | 12 ++--
include/android_ab.h | 17 ++++-
include/configs/khadas-vim3_android.h | 2 +-
include/configs/khadas-vim3l_android.h | 2 +-
include/configs/meson64_android.h | 4 +-
include/configs/ti_omap5_common.h | 4 +-
test/py/tests/test_android/test_ab.py | 31 ++++++--
18 files changed, 252 insertions(+), 128 deletions(-)
---
base-commit: fbe16bc28014dc1ed957f5fee7e53d6eee781aa9
change-id: 20241008-android_ab_master-d86d71c839ae

Best regards,


Dmitry Rokosov
 

Hello Guillaume!

Thank you for the quick testing results!
I really appreciate it!

On Wed, Oct 09, 2024 at 04:05:51PM +0200, Guillaume LA ROQUE wrote:
Hi,

just test this series on Khadas vim3 board and it's working fine

bcb ab_dump mmc 2#misc
Bootloader Control:?????? [misc]
Active Slot:????????????? _a
Magic Number:???????????? 0x42414342
Version:????????????????? 1
Number of Slots:????????? 2
Recovery Tries Remaining: 0
CRC:????????????????????? 0xd438d1b9 (Valid)

Slot[0] Metadata:
??????? - Priority:???????? 15
??????? - Tries Remaining:? 6
??????? - Successful Boot:? 0
??????? - Verity Corrupted: 0

Slot[1] Metadata:
??????? - Priority:???????? 15
??????? - Tries Remaining:? 7
??????? - Successful Boot:? 0
??????? - Verity Corrupted: 0


Thanks for your patches.

Tested-by: Guillaume La Roque <glaroque@...>


Le 08/10/2024 ¨¤ 22:18, Dmitry Rokosov a ¨¦crit?:
The patch series include changes:
- move ab_select_slot() documentation to @ notation
- move ab_select command to bcb subcommands
- introduce the ab_dump command to print the content of the BCB
block; it's useful for debugging A/B logic on supported boards
- fix the slot suffix format in the ABC block to align with official
Android BCB specifications
- add a test for the ab_dump command to verify the accuracy of each
field within the ABC data displayed, it's also useful for testing
slot_suffix problem code paths

Changes v3 since v2 at [2]:
- return "Legend" block for bcb command
- additionally, verify the CONFIG_ANDROID_AB configuration alongside
CONFIG_CMD_BCB to ensure that the A/B scheme is used for the
designated board.

Changes v2 since v1 at [1]:
- move ab_select_slot() documentation to @ notation
- move ab_select command to bcb subcommands per Simon and Mattijs
suggestions
- redesign ab_dump as bcb subcommand
- use spaces instead of tabs in the ab_dump command output
- print hex values in the lowercase
- add RvB tags

Links:
[1]
[2]

Signed-off-by: Dmitry Rokosov <ddrokosov@...>
---
Dmitry Rokosov (6):
include/android_ab: move ab_select_slot() documentation to @ notation
treewide: bcb: move ab_select command to bcb subcommands
cmd: bcb: change strcmp() usage style in the do_bcb_ab_select()
cmd: bcb: introduce 'ab_dump' command to print BCB block content
common: android_ab: fix slot suffix for abc block
test/py: introduce test for ab_dump command

MAINTAINERS | 1 -
boot/android_ab.c | 116 ++++++++++++++++++++++++------
cmd/Kconfig | 15 +---
cmd/Makefile | 1 -
cmd/ab_select.c | 66 -----------------
cmd/bcb.c | 98 +++++++++++++++++++++++++
configs/am57xx_hs_evm_usb_defconfig | 1 -
configs/khadas-vim3_android_ab_defconfig | 1 -
configs/khadas-vim3l_android_ab_defconfig | 1 -
configs/sandbox64_defconfig | 4 +-
configs/sandbox_defconfig | 4 +-
doc/android/ab.rst | 12 ++--
include/android_ab.h | 17 ++++-
include/configs/khadas-vim3_android.h | 2 +-
include/configs/khadas-vim3l_android.h | 2 +-
include/configs/meson64_android.h | 4 +-
include/configs/ti_omap5_common.h | 4 +-
test/py/tests/test_android/test_ab.py | 31 ++++++--
18 files changed, 252 insertions(+), 128 deletions(-)
---
base-commit: fbe16bc28014dc1ed957f5fee7e53d6eee781aa9
change-id: 20241008-android_ab_master-d86d71c839ae

Best regards,
--
Thank you,
Dmitry