No description
Find a file
Yu Ning c01022a62e Allow the use of a custom Android DT directory
On platforms that use ACPI instead of Device Tree (DT), such as
Ranchu x86/x86_64, /proc/device-tree/firmware/android/ does not
exist. As a result, Android O is unable to mount /system, etc.
at the first stage of init:

 init: First stage mount skipped (missing/incompatible fstab in
 device tree)

Those platforms may create another directory that mimics the layout
of the standard DT directory in procfs, and store early mount
configuration there. E.g., Ranchu x86/x86_64 creates one in sysfs
using information encoded in the ACPI tables:

 https://android-review.googlesource.com/442472
 https://android-review.googlesource.com/443432
 https://android-review.googlesource.com/442393
 https://android-review.googlesource.com/442395

Therefore, instead of hardcoding the Android DT path, load it from
the kernel command line using a new Android-specific property key
("androidboot.android_dt_dir"). If no such property exists, fall
back to the standard procfs path (so no change is needed for DT-
aware platforms).

Note that init/ and fs_mgr/ each have their own copy of the Android
DT path, because they do not share any global state. A future CL
should remove the duplication by refactoring.

With this CL as well as the above ones, the said warning is gone,
but early mount fails. That is a separate bug, though, and will be
addressed by another CL.

Test: Boot patched sdk_phone_x86-userdebug system image with patched
      Goldfish 3.18 x86 kernel in patched Android Emulator, verify
      the "init: First stage mount skipped" warning no longer shows
      in dmesg.

Change-Id: Ib6df577319503ec1ca778de2b5458cc72ce07415
Signed-off-by: Yu Ning <yu.ning@intel.com>
2017-07-28 11:10:48 +08:00
adb adbd: lessen security constraints when the device is unlocked 2017-07-18 08:41:19 +08:00
adf libadfhwc: Fix adf_hwc_close 2017-03-02 17:40:16 +00:00
base Move Timer from init to libbase 2017-07-10 09:28:24 -07:00
bootstat bootstat.cpp: update help message for --record_boot_complete 2017-07-07 15:27:10 +00:00
cpio Possible null pointer miss on realloc 2017-03-23 22:41:14 +01:00
debuggerd Cleanup the libbacktrace interface a bit. 2017-07-19 15:36:32 -07:00
demangle Mark libdemangle as vendor_available 2017-06-14 18:58:22 +09:00
fastboot fastboot: add mke2fs and e2fsdroid to build package 2017-07-21 12:00:16 -07:00
fingerprintd fingerprint: bump hw api version to 2.1 [DO NOT MERGE] 2017-01-27 22:11:15 +00:00
fs_mgr Allow the use of a custom Android DT directory 2017-07-28 11:10:48 +08:00
gatekeeperd system/core: use proper nativehelper headers 2017-07-18 17:03:20 -07:00
healthd healthd: notify listeners using local copy of list, drop lock 2017-06-29 22:25:40 +00:00
include Merge "Move libnativebridge headers into the module." 2017-07-06 23:36:34 +00:00
init Allow the use of a custom Android DT directory 2017-07-28 11:10:48 +08:00
libappfuse Add test config to libappfuse_test 2017-03-31 17:11:50 -07:00
libbacktrace Cleanup the libbacktrace interface a bit. 2017-07-19 15:36:32 -07:00
libbinderwrapper libbinderwrapper: Android.mk -> Android.bp 2017-04-25 15:55:26 -07:00
libcrypto_utils Rely on the platform -std default. 2016-10-10 14:31:12 -07:00
libcutils Merge "Remove more documentation for obsolete board configuration." 2017-06-29 23:50:37 +00:00
libdiskconfig Mark libdiskconfig vendor_available. 2017-05-24 14:21:48 -07:00
libion Mark libion vendor_available. 2017-05-24 14:25:08 -07:00
libkeyutils Add libkeyutils. 2017-05-10 10:40:11 -07:00
liblog Add vendor_available to liblog_headers. 2017-07-12 12:59:30 -07:00
libmemtrack liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
libmemunreachable Merge "libmemunreachable: track kernel binder references" 2017-07-13 19:41:26 +00:00
libmetricslogger Revert "Mark libmetricslogger vendor_available." 2017-07-17 19:33:17 +00:00
libnativebridge Move libnativebridge headers into the module. 2017-07-06 11:23:16 -07:00
libnativeloader system/core: use proper nativehelper headers 2017-07-18 17:03:20 -07:00
libnetutils Mark libnetutils vendor_available. 2017-05-24 14:18:35 -07:00
libpackagelistparser liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
libpixelflinger Va_end should be used with va_start 2017-03-23 22:41:42 +01:00
libprocessgroup Add memcg related configs to init. 2017-07-18 15:58:40 -07:00
libprocinfo libprocinfo: add support for parsing process state. 2017-06-27 15:06:27 -07:00
libsparse libsparse: Fix odd-sized input files total_blks 2017-04-19 10:32:45 -05:00
libsuspend Mark libsuspend vendor_available. 2017-05-24 14:44:30 -07:00
libsync libsync: vendor_available 2017-04-19 10:32:51 -07:00
libsystem libutils: export system_headers 2017-04-28 09:42:50 +09:00
libsysutils Remove old LOG_EVENT_* code from libsysutils 2017-07-11 15:14:26 -07:00
libunwindstack Speed up StepIfSignalHandler path. 2017-07-19 21:35:46 +00:00
libusbhost Convert libusbhost to Android.bp 2017-04-20 08:37:12 -07:00
libutils Merge "Remove ALOGD_IF_SLOW" 2017-07-18 17:20:39 +00:00
libziparchive Libziparchive: Export headers in defaults 2017-07-05 22:03:44 -07:00
lmkd lmkd: Android.mk -> Android.bp 2017-04-28 15:20:18 -07:00
logcat logcat: Add missing newline to read failure 2017-07-08 17:51:27 +02:00
logd Merge "logd + liblogd to Android.bp" 2017-06-30 19:32:41 +00:00
logwrapper Merge "logwrapper: add a benchmark for android_fork_execvp_ext" 2017-03-23 11:56:10 +00:00
mkbootimg mkbootimg: use int for os_version and os_patch_level 2016-03-29 16:06:37 -07:00
reboot Convert more Android.mk files to Android.bp 2016-07-13 17:41:45 -07:00
rootdir rootdir: record last build signature and kernel version 2017-07-14 11:39:14 -07:00
run-as Define range of GIDs for cached app data. 2016-12-13 13:28:08 -07:00
sdcard Merge "Switch sdcardfs over to bind mounts." 2016-11-30 05:20:40 +00:00
shell_and_utilities Remove reference to deleted gzip module 2017-07-06 22:33:22 +00:00
toolbox Merge "Add building and installing of grep for vendor." 2017-06-16 23:24:32 +00:00
trusty system/core: use proper nativehelper headers 2017-07-18 17:03:20 -07:00
.clang-format Add a 2 width option of clang format. 2017-03-10 13:01:39 -08:00
.clang-format-2 Only allow short functions in class definitions. 2017-03-28 12:31:37 -07:00
.clang-format-4 Only allow short functions in class definitions. 2017-03-28 12:31:37 -07:00
.gitignore Ignore adb/*.pyc files 2015-08-11 12:59:58 -07:00
Android.bp Export android_filesystem_config.h as a filegroup 2017-01-17 18:20:28 -08:00
Android.mk Remove the simulator target from all makefiles. 2011-07-11 22:12:32 -07:00
CleanSpec.mk init.rc: have hwservicemanager start the HAL class 2016-09-26 00:23:51 -07:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
NOTICE Fix omission in NOTICE file. 2013-07-30 13:56:55 -07:00
platform_tools_tool_version.mk Fix warning on the build servers 2017-05-25 12:35:40 -07:00
PREUPLOAD.cfg Add a PREUPLOAD.cfg file to run git-clang-format on every commit 2017-03-08 16:51:26 +08:00