The params in kernel cmdline is expected to be consumed by kernel.
For bootloader <--> userland communication, we're moving it to
device-tree or system property.
Bug: 78615592
Test: boot a device
Change-Id: I26bc2ea4cda91241242eb9fd0210b5b10659a297
fs_mgr gets androidboot.vbmeta.{size, hash_alg, digest} from kernel
cmdline to assure the integrity of all vbmeta structs. This CL Allows
fs_mgr to get those parameters from device tree because they're only
consumed by userland instead of kernel.
https://android.googlesource.com/platform/external/avb/+/master#The-VBMeta-Digest
Bootloader could construct a device tree overlay at run time then merge
it into main device tree. e.g.,
firmware {
android {
vbmeta.size = "5245";
vbmeta.hash_alg = "sha256";
vbmeta.digest = "0c51233ca3ecaa...63c6d912e79b709";
};
};
Bug: 80168311
Test: boot a device using AVB
Change-Id: I6cf151713af04e6cf554d593e9f0b43e9e214d8c
adbd has been built as a static executable since the same binary was
copied to the recovery partition where shared library is not supported.
However, since we now support shared library in the recovery partition,
adbd is built as a dynamic executable.
In addition, the dependency from adbd to libdebuggerd_handler is removed
as debuggerd is handled by the dynamic linker.
A few more modules in /system/core are marked as recovery_available:
true as they are transitive dependencies of the dynamic linker.
This change also includes ld.config.recovery.txt which is the linker
config file for the recovery mode. It is installed to /etc/ld.config.txt
and contains linker namespace config for the dynamic binaries under
/sbin.
Bug: 63673171
Test: `adb reboot recovery; adb devices` shows the device ID
Test: Select 'mount /system' in the recovery mode, then `adb shell`.
$ lsof -p `pidof adbd` shows that libm.so, libc.so, etc. are loaded from
the /lib directory.
Change-Id: I363d5a787863f1677ee40afb5d5841321ddaae77
This commit removes stale files from incremental builds:
* /system/etc/ld.config.txt,
* /system/etc/llndk.libraries.txt
* /system/etc/public.libraries.txt
These files are replaced by versioned ones.
Bug: 78605339
Test: Those files are removed in incremental builds
Merged-In: I7925fa45b47397829bde835ab3c479611faffa33
Change-Id: I7925fa45b47397829bde835ab3c479611faffa33
(cherry picked from commit 9afd9b488f)
Spans quoted with " are dealt with atomically, and are stripped from
the key/value results when parsing the kernel cmdline.
Test: compile, device boot, fs_mgr_unit_test
Bug: 109821005
Change-Id: I45f3d7395f34295edefdeaafa4c15c6ee25cc4da
We have moved away from BSD dd and grep, which is also shown in the
section for Android Q.
Test: N/A
Change-Id: I13484879e697a1cf2c8b82d7e28a167cb34c00fa
Switch from open-coded parsing of /proc/cmdline to built-in
fs_mgr_get_boot_config_from_kernel_cmdline function.
Test: compile and smoke boot test
Bug: 109821005
Change-Id: I935d2e76c76ad417cbcee398e2afbf9b061d1719
Refactor elements of sparse file parsing that depend on
an fd into SparseFileSource class, then create implementations
using both fd and buffer. Add sparse_file_read_buf which
reads the given buffer into a sparse file cookie without
copying.
Test: flash system with sparse images
Bug: 78793464
Change-Id: Ice6c8e1ff075d6867e070f80fcf5aa4f530a1b95
The default value for ContinuationIndentWidth inherited from the Google
style is 4. Since .clang-format-4 doubles the value of IndentWidth
from 2 to 4, it should also double ContinuationIndentWidth to retain
Google's double-indent style.
Before:
void forEachInterface(
const std::string& dirname,
const std::function<void(const std::string& path)) {
fn(dirname, "default");
DIR* dir = opendir(dirname.c_str());
After this patch:
void forEachInterface(
const std::string& dirname,
const std::function<void(const std::string& path)) {
fn(dirname, "default");
DIR* dir = opendir(dirname.c_str());
Test: applied to libsysutils/src/*.cpp and compared output.
Change-Id: I75c50fa9becd5291a17047933f443cc6db77838a
I don't think the StdioLogger test ever passed. Move GetFileBasename
to where we can use it from StdioLogger, and undo the mix of anonymous
namespace vs static to consistently use static (which is the majority)
while we're touching those lines.
Bug: N/A
Test: ran tests
Change-Id: I95b3966cdb8af642bed71752bd7d4e3a86ac84ca