No description
Find a file
David Zeuthen 8ed9738b62 update_verifier: Support AVB.
When using AVB, PRODUCT_SUPPORTS_VERITY is not set so check for
BOARD_ENABLE_AVB as well. Also AVB sets up the root filesystem as
'vroot' so map that to 'system' since this is what is
expected. Managed to test at least that the code is at least compiled
in:

 $ fastboot --set-active=_a
 Setting current slot to 'a'...
 OKAY [  0.023s]
 finished. total time: 0.023s

 $ fastboot reboot
 rebooting...

 finished. total time: 0.050s

 $ adb wait-for-device

 $ adb logcat |grep update_verifier
 03-04 05:28:56.773   630   630 I /system/bin/update_verifier: Started with arg 1: nonencrypted
 03-04 05:28:56.776   630   630 I /system/bin/update_verifier: Booting slot 0: isSlotMarkedSuccessful=0
 03-04 05:28:56.776   630   630 W /system/bin/update_verifier: Failed to open /data/ota_package/care_map.txt: No such file or directory
 03-04 05:28:56.788   630   630 I /system/bin/update_verifier: Marked slot 0 as booted successfully.
 03-04 05:28:56.788   630   630 I /system/bin/update_verifier: Leaving update_verifier.

Bug: None
Test: Manually tested on device using AVB bootloader.
Change-Id: I13c0fe1cc5d0f397e36f5e62fcc05c8dfee5fd85
2017-05-24 14:14:11 -04:00
applypatch Print SHA1 of the patch if bsdiff fails with data error 2017-05-16 12:39:14 -07:00
boot_control Boot control HAL based on the A/B headers. 2017-04-03 11:25:33 -07:00
bootloader_message libbootloader_message: convert to Android.bp 2017-05-17 11:43:29 -07:00
edify Suppress the unused variable warning in parser.yy 2017-03-28 12:44:10 -07:00
etc init.rc: Remove sys.powerctl action 2017-04-17 16:55:54 -07:00
fonts more font improvements and cleanup 2013-03-07 13:34:24 -08:00
minadbd minadbd: Fix a failing test due to SIGPIPE. 2017-04-25 09:37:20 -07:00
minui minui: Fix breakage in graphics_adf. 2017-04-28 16:13:02 -07:00
otafault Protect filename_cache with lock in ota fault 2017-04-10 16:21:09 -07:00
otautil otautil: Android.mk -> Android.bp 2017-05-09 16:09:41 -07:00
private Add a binary path param to update_binary_command(). 2017-05-08 12:16:45 -07:00
res-hdpi/images Merge "Add the missing sr-Latn into png files and rename the png locale header" 2017-03-28 19:52:47 +00:00
res-mdpi/images Merge "Add the missing sr-Latn into png files and rename the png locale header" 2017-03-28 19:52:47 +00:00
res-xhdpi/images Merge "Add the missing sr-Latn into png files and rename the png locale header" 2017-03-28 19:52:47 +00:00
res-xxhdpi/images Merge "Add the missing sr-Latn into png files and rename the png locale header" 2017-03-28 19:52:47 +00:00
res-xxxhdpi/images Merge "Add the missing sr-Latn into png files and rename the png locale header" 2017-03-28 19:52:47 +00:00
tests update_verifier: Support AVB. 2017-05-24 14:14:11 -04:00
tools Import translations. DO NOT MERGE 2017-04-01 15:49:37 -07:00
uncrypt recovery: replacing fs_mgr_read_fstab() with new fs_mgr APIs 2017-03-10 17:27:31 +08:00
update_verifier update_verifier: Support AVB. 2017-05-24 14:14:11 -04:00
updater updater: Update the mkfs.f2fs argument to match f2fs-tools 1.8.0. 2017-05-12 12:09:16 -07:00
.clang-format clang-format: Adjust short functions / if settings. 2016-12-12 15:00:52 -08:00
adb_install.cpp Don't write to /sys/class/android_usb/android0/enable with configfs. 2017-05-11 14:50:20 -07:00
adb_install.h adb_install: Stop passing RecoveryUI as a parameter. 2017-05-01 11:47:43 -07:00
Android.bp libbootloader_message: convert to Android.bp 2017-05-17 11:43:29 -07:00
Android.mk libbootloader_message: convert to Android.bp 2017-05-17 11:43:29 -07:00
asn1_decoder.cpp Checking unsigned variable less than zero 2017-03-23 17:07:39 +01:00
asn1_decoder.h Refactor asn1_decoder functions into a class. 2017-03-21 15:17:43 -07:00
bootloader.h Create bootloader_message static library. 2016-10-18 11:37:05 -07:00
CleanSpec.mk recovery: minui: add adf backend 2014-04-25 15:47:34 -07:00
common.h Revert "Remove EXPAND/STRINGIFY macros." 2017-05-04 00:31:11 +00:00
default_device.cpp Auto-detect whether to use the long-press UI. 2015-04-10 15:14:35 -07:00
device.cpp recovery: Move a few int to bool. 2017-03-07 15:35:12 -08:00
device.h recovery: Move a few int to bool. 2017-03-07 15:35:12 -08:00
error_code.h Add a default error code when updater script aborts 2017-05-03 05:52:03 +00:00
fuse_sdcard_provider.cpp Check an edge case when read(2) returns 0 2016-08-31 19:11:41 -07:00
fuse_sdcard_provider.h recovery: Fork a process for fuse when sideloading from SD card. 2016-01-13 21:29:20 -08:00
fuse_sideload.cpp fuse_sideload: Change the minimal block size to 4096. 2017-05-02 15:56:22 -07:00
fuse_sideload.h recovery: Switch fuse_* to C++. 2015-07-24 11:22:05 -07:00
install.cpp Add a binary path param to update_binary_command(). 2017-05-08 12:16:45 -07:00
install.h recovery: Change install_package() to take std::string. 2017-05-01 12:31:48 -07:00
interlace-frames.py Go back to the old ear-wiggling Android animation. 2016-04-21 14:26:14 -07:00
mounts.cpp libmounts: Remove two dead functions. 2017-04-16 15:53:47 -07:00
mounts.h libmounts: Remove two dead functions. 2017-04-16 15:53:47 -07:00
NOTICE Automated import from //branches/master/...@140824,140824 2009-03-24 18:36:42 -07:00
print_sha1.h Revert "Revert "Some cleanups to recovery."" 2016-11-03 11:57:46 -07:00
README.md Add checkers and tests for empty locale in PNG file 2017-01-18 19:37:06 -08:00
recovery-persist.cpp Cleanup the duplicates of logs rotation functions 2016-11-03 18:16:33 -07:00
recovery-persist.rc recovery: use __android_log_pmsg_file_write for log files 2016-03-31 13:52:54 -07:00
recovery-refresh.cpp Cleanup the duplicates of logs rotation functions 2016-11-03 18:16:33 -07:00
recovery-refresh.rc recovery: use __android_log_pmsg_file_write for log files 2016-03-31 13:52:54 -07:00
recovery.cpp Fix the input parameter for "set_retry_bootloader_message" 2017-05-17 18:09:35 +00:00
res-560dpi Make text for recovery larger on angler 2016-05-02 12:20:04 -07:00
roots.cpp recovery: Skip "/" in setup_install_mounts(). 2017-05-10 12:11:21 -07:00
roots.h Revert "Revert "Some cleanups to recovery."" 2016-11-03 11:57:46 -07:00
rotate_logs.cpp Cleanup the duplicates of logs rotation functions 2016-11-03 18:16:33 -07:00
rotate_logs.h Cleanup the duplicates of logs rotation functions 2016-11-03 18:16:33 -07:00
screen_ui.cpp Const modifiers 2017-03-23 21:52:30 +01:00
screen_ui.h Const modifiers 2017-03-23 21:52:30 +01:00
stub_ui.h recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00
ui.cpp Adding support for quiescent reboot to recovery 2017-04-19 14:43:08 -07:00
ui.h recovery: Add screensaver mode. 2017-01-30 16:12:30 -08:00
verifier.cpp Merge "Const modifiers" 2017-03-24 20:32:39 +00:00
verifier.h Const modifiers 2017-03-23 21:52:30 +01:00
wear_touch.cpp Removed C-style casts 2017-03-23 21:52:04 +01:00
wear_touch.h recovery: Move SwipeDetector into common location 2016-03-18 06:03:21 +00:00
wear_ui.cpp minui: Export minui/minui.h. 2017-01-16 21:28:18 -08:00
wear_ui.h recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00

The Recovery Image

Quick turn-around testing

mm -j && m ramdisk-nodeps && m recoveryimage-nodeps

# To boot into the new recovery image
# without flashing the recovery partition:
adb reboot bootloader
fastboot boot $ANDROID_PRODUCT_OUT/recovery.img

Running the tests

# After setting up environment and lunch.
mmma -j bootable/recovery

# Running the tests on device.
adb root
adb sync data

# 32-bit device
adb shell /data/nativetest/recovery_unit_test/recovery_unit_test
adb shell /data/nativetest/recovery_component_test/recovery_component_test

# Or 64-bit device
adb shell /data/nativetest64/recovery_unit_test/recovery_unit_test
adb shell /data/nativetest64/recovery_component_test/recovery_component_test

Running the manual tests

recovery-refresh and recovery-persist executables exist only on systems without /cache partition. And we need to follow special steps to run tests for them.

  • Execute the test on an A/B device first. The test should fail but it will log some contents to pmsg.

  • Reboot the device immediately and run the test again. The test should save the contents of pmsg buffer into /data/misc/recovery/inject.txt. Test will pass if this file has expected contents.

ResourceTest validates whether the png files are qualified as background text image under recovery.

1. `adb sync data` to make sure the test-dir has the images to test.
2. The test will automatically pickup and verify all `_text.png` files in
   the test dir.