Commit Graph

6379 Commits

Author SHA1 Message Date
Tao Bao c70446ce7b Revert "Build and use minadbd as a shared library."
This reverts commit 4fd4f89591.

The reverted CL has a side effect that unintentionally installs
a copy of libminadbd_services.so to the system image. This breaks the
check with `build/soong/build_test.bash --dist` which detects and
prevents vendor modules from installing files to the system image.

Prior to fully converting `recovery` to be built with Soong, we have to
statically link recovery-specific modules into `recovery`.

Bug: 110380063
Test: `m -j bootimage` with aosp_marlin-userdebug
Test: Run minadbd_test on marlin.
Test: Boot into recovery and verify that sideloading still works.
Test: `build/soong/build_test.bash --dist`
Change-Id: I290d55c82e17aa60a5afdf2ff7f896afc4dae8b3
2018-08-07 20:44:39 -07:00
Tao Bao 60924fa89a Merge "minui: Track libsync module name change." 2018-08-08 00:26:38 +00:00
Tao Bao 1e4f9c0477 Merge "Fix the DRM_FORMAT match with corresponding PixelFormat" 2018-08-07 19:49:14 +00:00
Tao Bao 1c4d4bf4f4 minui: Track libsync module name change.
Needs the matching change to libsync_recovery.

Test: `mmma -j bootable/recovery`
Change-Id: I69b5c978e9b4d16957ffecd360796b29cd95865c
2018-08-07 11:04:27 -07:00
Tao Bao ea38c4160a Merge "Build and use minadbd as a shared library." 2018-08-07 17:50:45 +00:00
tangrobin 13bec76662 Fix the DRM_FORMAT match with corresponding PixelFormat
The DRM_FORMAT settings in DrmCreateSurface should match with the
correct PixelFormat

Bug: 112245291
Test: build and flash boot image to device.
Change-Id: I3ee0de38256d1109cd5174b666e2f47dceb637e6
2018-08-07 10:10:33 -07:00
Xin Li 9791b21c1f Merge "Merge Android Pie into master" 2018-08-07 16:51:25 +00:00
Tom Cherry aceb244401 Merge "ueventd is now at /system/bin/ueventd" 2018-08-07 16:08:55 +00:00
Tao Bao 4fd4f89591 Build and use minadbd as a shared library.
The former `minadbd` module is now built as a shared library
(`libminadbd_services.so`) that serves sideloading under recovery, with
a dynamic dependency on `libadbd.so`.

This allows sharing and reusing libadbd code on device (both of `adbd`
and `recovery` now uses `libadbd.so`). As a result, it reduces the size
of `recovery` binary from 1407360-byte to (1272880 + 33032)-byte
(aosp_marlin-userdebug).

Bug: 78793464
Test: `m -j bootimage` with aosp_marlin-userdebug
Test: Run minadbd_test on marlin.
Test: Boot into recovery and verify that sideloading still works.
Change-Id: I6c2bc3d351d5af71220a9b9f956c8c039e52c781
2018-08-06 17:06:43 -07:00
Xin Li 8ab68527b8 Merge Android Pie into master
Bug: 112104996
Change-Id: I3256ec97f091b367c5a2c0b31430a975073a2c1b
2018-08-06 16:50:00 -07:00
Tianjie Xu b5bc978432 Merge "Add an updater function to compute hash tree"
am: dbe4420325

Change-Id: If426801d3494be02404c8e4f6d4f064fd6540a4d
2018-08-06 15:36:55 -07:00
Tao Bao 75acf24207 Merge "Dynamically load device-specific recovery UI lib."
am: 9cf9b689d9

Change-Id: I73e3fdc01ff4b51fd18272980ce1360b0bc069f7
2018-08-06 15:32:57 -07:00
Tianjie Xu dbe4420325 Merge "Add an updater function to compute hash tree" 2018-08-06 22:19:04 +00:00
Tao Bao 9cf9b689d9 Merge "Dynamically load device-specific recovery UI lib." 2018-08-06 21:46:10 +00:00
Tao Bao 42c45e2b66 Dynamically load device-specific recovery UI lib.
We used to statically link the device-specific recovery UI extension
(`TARGET_RECOVERY_UI_LIB`) into `recovery`. Such a logic can't be easily
migrated to Soong, as modules specified by `TARGET_RECOVERY_UI_LIB` may
not be built with Soong.

Instead of porting all the device-specific codes over, this CL builds
and installs the UI lib as a shared library with Android.mk. `recovery`
dlopen(3)'s and dlsym(3)'s `make_device` to invoke the device-specific
UI lib on start.

Note that in order to make dlopen(3) actually working, we have to switch
`recovery` to be dynamically linked (we will make the move later
anyway).

Bug: 110380063
Test: Build and boot into marlin recovery image. Check that
      device-specific recovery UI is successfully loaded.
Change-Id: Ia9861c7559a95f3f50676534540c0cb87cae4574
2018-08-06 12:35:23 -07:00
Tianjie Xu 69ffa15338 Add an updater function to compute hash tree
The new command is part of the transfer.list and allows us to compute the hash
tree on non-ab devices.

The required arguments for the hash_tree computation are:
  hash_tree_ranges
  source_ranges
  hash_algorithm
  salt_hex
  root_hash

Bug: 25170618
Test: unit tests pass;  run simulator with compute_hash_tree
Change-Id: I8ff0d582cc8adabb8a060db7845f38b35b28e62c
2018-08-06 12:17:50 -07:00
Tao Bao ea105889a5 Merge "minui: Move to Soong."
am: f2bc68cfe1

Change-Id: Iab9a892a3d4d691884e4709c288de1d122d67473
2018-08-06 10:58:16 -07:00
Tao Bao f2bc68cfe1 Merge "minui: Move to Soong." 2018-08-06 17:29:50 +00:00
Tao Bao 7ee83f627e minui: Move to Soong.
Note that although libminui says "shared_libs" in Android.bp file,
`recovery` binary will still statically link the libs, until we drop the
`LOCAL_FORCE_STATIC_EXECUTABLE := true` flag from `recovery` module.

Bug: 110380063
Test: `mmma -j bootable/recovery` with aosp_taimen-userdebug
Test: Boot into recovery and `Run graphics test`.
Change-Id: I48785d161dfe52eb01667e938d9c3f0a497b61a2
2018-08-05 14:42:26 -07:00
Tao Bao ce0409a560 Merge "minui: Use runtime properties instead of build time vars."
am: ebc04d1e7a

Change-Id: Ied0cc8732e0c5d75d1608c4aaa637c04548ecfe6
2018-08-03 16:02:25 -07:00
Tao Bao 17bf8d0518 Merge "ui: Read custom recovery UI values via system property."
am: 2117b4bd07

Change-Id: Ia9e2d805f2e90b9be8426010581a32d0b27fe8e6
2018-08-03 16:02:17 -07:00
Tao Bao ebc04d1e7a Merge "minui: Use runtime properties instead of build time vars." 2018-08-03 21:51:20 +00:00
Tao Bao 2117b4bd07 Merge "ui: Read custom recovery UI values via system property." 2018-08-03 21:51:20 +00:00
Zhomart Mukhamejanov a5d6a661c6 Merge "Remove non-A/B mention from README."
am: f8b04fe48d

Change-Id: Ia46aa857b64b8c344181941013cf2ced7832034f
2018-08-01 17:55:14 -07:00
Zhomart Mukhamejanov f8b04fe48d Merge "Remove non-A/B mention from README." 2018-08-02 00:44:28 +00:00
Zhomart Mukhamejanov c0ec9135d5 Remove non-A/B mention from README.
Test: N/A
Change-Id: I8622733d0a23ff062031a67efd0e32480a297322
2018-08-01 15:38:16 -07:00
Tao Bao ed876a7175 minui: Use runtime properties instead of build time vars.
This CL removes the use of the following build time macros, and uses the
runtime property values instead.
- TARGET_RECOVERY_PIXEL_FORMAT
- TARGET_RECOVERY_OVERSCAN_PERCENT
- TARGET_RECOVERY_DEFAULT_ROTATION

Bug: 110380063
Test: Set up taimen with `TARGET_RECOVERY_DEFAULT_ROTATION := ROTATION_LEFT`.
      Build and check recovery UI.
Test: Set up taimen with `TARGET_RECOVERY_PIXEL_FORMAT := ABGR_8888`.
      Build and check recovery UI.
Change-Id: I4439556a03fde4805a18011ef72eff1373f31d47
2018-08-01 15:36:41 -07:00
Tao Bao f22aeefaed Merge "minui: Clean up the use of rotation."
am: a9ef617aa7

Change-Id: Id87dce642ff0c8352c4dea2266cbd08558b20145
2018-08-01 14:30:11 -07:00
Tao Bao a9ef617aa7 Merge "minui: Clean up the use of rotation." 2018-08-01 21:20:01 +00:00
Tao Bao 44478dfb7d minui: Clean up the use of rotation.
This CL uses scoped enum for GRRotation. It also refactors the previous
comparisions to improve readability -- it was hard to tell the meaning
of `if (rotation % 2)` unless by checking the exact values.

It also temporarily adds STRINGFY to expand the macro of
DEFAULT_ROTATION. This will be removed once minui is changed from
reading build time vars to runtime properties.

Test: Build and boot into recovery image on marlin.
Test: Set `TARGET_RECOVERY_DEFAULT_ROTATION := ROTATION_LEFT` and check
      the display under recovery with `Run graphics test`.
Change-Id: Ieb08b1cd13c284f8dcf906cb2a1430c6bae2835b
2018-08-01 12:30:27 -07:00
Jaegeuk Kim 03f6185ea6 Merge "uncrypt: fix f2fs ioctl argument for pin_file"
am: 42f40cd370

Change-Id: I54a58ded52eb11cc6ba2834feda3ad22f4658407
2018-08-01 00:22:16 -07:00
Treehugger Robot 42f40cd370 Merge "uncrypt: fix f2fs ioctl argument for pin_file" 2018-08-01 07:18:19 +00:00
Jaegeuk Kim 2669da0d01 uncrypt: fix f2fs ioctl argument for pin_file
This patch fixes missing f2fs ioctl call.

Change-Id: Id840b76b9d5c580041aaee4501ac8e69fc3fb818
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
2018-08-01 03:52:51 +00:00
Tao Bao 0bc88de7aa ui: Read custom recovery UI values via system property.
The matching change to build system now writes these values as build
properties for recovery image. This allows us dropping the dependency on
Android.mk (as well as having more flexibility to do UI customization).

Also rename a few constant names, as the naming doesn't fully follow the
style guide (which reads "whose value is fixed for the duration of the
program").

Bug: 110380063
Test: Build and flash recovery image on taimen, which uses custom margin
      height. Check the UI and choose `Run graphics test`.
Change-Id: I2c50326123639cb36022f51b62cdeed925d77ba7
2018-07-31 15:14:40 -07:00
Jerry Zhang 3528139409 Merge "recovery: Add ability to interrupt UI"
am: 561ee9362c

Change-Id: Ic33767a7ebaac6c066c0552b502a361b5c498b9e
2018-07-30 16:16:26 -07:00
Treehugger Robot 561ee9362c Merge "recovery: Add ability to interrupt UI" 2018-07-30 23:04:31 +00:00
Jerry Zhang b76af93ab5 recovery: Add ability to interrupt UI
Normally calling a UI method will block
indefinitely until the UI is actually
used. This creates a method to interrupt
the UI, causing waitKey to return -2. This
in turn, will cause ShowMenu to return -2.
This allows switching between recovery and
fastbootd via usb commands.

Test: adb shell /data/nativetest64/recovery_unit_test/recovery_unit_test
Bug: 78793464
Change-Id: I4c6c9aa18d79070877841a5c9818acf723fa6096
2018-07-30 20:17:27 +00:00
Josh Gao 06ce8d32e6 Merge "minadbd: avoid overrriding services_to_fd."
am: 6f1f2c811a

Change-Id: Idd6afe20fe9341ee5ff79e6aaf2277490a027e21
2018-07-27 16:25:24 -07:00
Josh Gao 6f1f2c811a Merge "minadbd: avoid overrriding services_to_fd." 2018-07-27 23:17:18 +00:00
Hridya Valsaraju ed2480be9b Merge "Move recovery from /sbin to /system/bin"
am: 4c80768796

Change-Id: I543608d884f1cfe1fea59e78a4a47c6d6c3be4a1
2018-07-27 13:34:20 -07:00
Treehugger Robot 4c80768796 Merge "Move recovery from /sbin to /system/bin" 2018-07-27 20:25:53 +00:00
Josh Gao 038c4a11db minadbd: avoid overrriding services_to_fd.
Previously, we were relying on linker ordering pulling in minadbd's
copy of services_to_fd instead of libadbd's, which breaks when we
switch to dynamically linking. Separate out libadbd's services into a
separate function that's in a file that isn't built into libadbd, so
that we can provide our own here.

Bug: http://b/111831478
Test: mma
Change-Id: I2479947b2d81db5e750020fffc2c2c770cb31a78
2018-07-27 11:18:30 -07:00
Hridya Valsaraju cfb3c92302 Move recovery from /sbin to /system/bin
Executables should be in /system/bin
rather than sbin.

Bug: 78793464
Test: boot into recovery, try adb sideload
Change-Id: I194589119a099d29e56b0648f0906a5ae2aa6770
2018-07-26 17:12:40 -07:00
Tianjie Xu f3480024c2 Merge "Add proto3 support for care_map"
am: 8d9b3aec3d

Change-Id: Ica2ffa3c1a8d7a9cc2c59a8d30d4dc95907a6882
2018-07-26 12:48:10 -07:00
Tianjie Xu 8d9b3aec3d Merge "Add proto3 support for care_map" 2018-07-26 17:57:58 +00:00
Tao Bao 39e5bdaedb Merge "bootloader_message: Build libbootloader_message as shared lib."
am: 8515cd5f23

Change-Id: Ideed01697fa7f660fcf2ade93b2f55c55c142479
2018-07-25 21:58:08 -07:00
Tao Bao 8515cd5f23 Merge "bootloader_message: Build libbootloader_message as shared lib." 2018-07-26 04:48:46 +00:00
Tianjie Xu 4d9e62d8a0 Add proto3 support for care_map
Switching to the protobuf format helps to make the care_map more
extensible. As we have such plans in the future, add the support to
parse the protobuf message in the update_verifier.

Bug: 77867897
Test: unit tests pass, update_verifier successfully verifies a care_map.pb
Change-Id: I9fe83cb4dd3cc8d6fd0260f2a47338fe142d3938
2018-07-25 14:15:22 -07:00
Tao Bao 8ca3220bfe bootloader_message: Build libbootloader_message as shared lib.
And uses the shared lib version of libbase and libfs_mgr.

Bug: 78793464
Test: `m dist`
Test: Run recovery_{unit,component}_test on marlin.
Change-Id: I750c02d0bfccd6e58fb01f641de02532ace52e00
2018-07-25 13:42:33 -07:00
Tom Cherry b2fd16841a ueventd is now at /system/bin/ueventd
Bug: 79758715
Test: boot into recovery
Change-Id: I9bf47b2487993e275419befdc9718cc0ac8d3ea7
2018-07-24 15:58:29 -07:00