Build bootctl
and enable installation to inactive slot on Pixel devices
#5134
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds the necessary sources from AOSP and builds the
bootctl
binary along with Magisk. I'm submitting this as a draft, as I imagine it would make more sense to move the individual libraries into repos (as is already done in thenative
module), port it from CMake tondk-build
, and merge it into thenative
module.The sources for
bootctl
,jsoncpp
,libbacktrace
,libbase
,libcutils
,libcxx
,libcxxabi
,libdl
,libfmq
,libhidl
,libhwbinder
,liblog
,libprocessgroup
,libsystem
,libutils
, andlibvndksupport
are linked inline. The sources forandroid.hardware.boot@1.0
,android.hardware.boot@1.1
,android.hardware.boot@1.2
,android.hidl.base@1.0
,android.hidl.manager@1.0
,android.hidl.manager@1.1
, andandroid.hidl.manager@1.2
were generated byhidl-gen
during the build process described in #4955.I was unable to use the
libcxx
andlibcxxabi
submodule or NDK build from Magisk. This may be resolved by porting it from CMake tondk-build
. Someone with a better understanding of how linking shared objects works might be able to simplify the entire thing.I limited the
bootctl
build toarm64-v8a
for now, though I was able build binaries forarmeabi-v7a
,x86
, andx86_64
in the AOSP build system. I made no attempt to build them with the submodule.Closes #4955