init: init_defaults uses more shared libraries.
This CL switches init_defaults and thus init_second_stage to depend on commonly used shared libraries. In particular, use the following shared libs that have been available on device (under both of normal boot and recovery): - libbootloader_message - libext4_utils - libfs_mgr - libhidl-gen-utils - libkeyutils - liblogwrap The following transitive dependencies have been dropped. They were only needed when including the above libs statically. Dropping them doesn't further affect the size though. - libfec - libfec_rs - libsquashfs_utils With the change, the second stage init size has been reduced from 1094328 to 627992 bytes (aosp_taimen-userdebug), with no new shared libs installed. Also evaluated the impact of using `libprotobuf-cpp-lite.so` and `libseccomp_policy.so`. It doesn't look beneficial -- at least not right now with `init` as the singler user. - statically linked them both: 627992-byte - with libprotobuf-cpp-lite.so: 605880 (init) + 262624 (.so) - with libseccomp_policy.so: 605848 (init) + 32208 (.so) Bug: 112494634 Test: `mmma -j system/core/init` with aosp_marlin-userdebug Test: Flash the marlin build on device. Run init_test. Test: Boot into recovery successfully. Change-Id: I49debe9066ff36dfda55b08266862e29e2bfc96b
Loading
Please register or sign in to comment