Move init and ueventd scripts from / to /system/etc
There is no reason for these scripts to continue to exist in /, when
they are better suited for /system/etc. There are problems keeping
them at / as well, particularly that they cannot be updated with
overlayfs.
Bug: 131087886
Bug: 140313207
Test: build/boot
Merged-In: I043d9a02ba588ca37ceba2c4e28ed631792b2586
Change-Id: I043d9a02ba588ca37ceba2c4e28ed631792b2586
diff --git a/init/Android.bp b/init/Android.bp
index 776a3a6..7ba9582 100644
--- a/init/Android.bp
+++ b/init/Android.bp
@@ -183,9 +183,11 @@
static_libs: ["libinit"],
required: [
"e2fsdroid",
+ "init.rc",
"mke2fs",
"sload_f2fs",
"make_f2fs",
+ "ueventd.rc",
],
srcs: ["main.cpp"],
symlinks: ["ueventd"],
diff --git a/init/init.cpp b/init/init.cpp
index f775d8f..592d956 100644
--- a/init/init.cpp
+++ b/init/init.cpp
@@ -135,7 +135,7 @@
std::string bootscript = GetProperty("ro.boot.init_rc", "");
if (bootscript.empty()) {
- parser.ParseConfig("/init.rc");
+ parser.ParseConfig("/system/etc/init/hw/init.rc");
if (!parser.ParseConfig("/system/etc/init")) {
late_import_paths.emplace_back("/system/etc/init");
}
diff --git a/init/ueventd.cpp b/init/ueventd.cpp
index 59f91ee..d2b503b 100644
--- a/init/ueventd.cpp
+++ b/init/ueventd.cpp
@@ -288,7 +288,7 @@
// TODO: cleanup platform ueventd.rc to remove vendor specific device node entries (b/34968103)
auto hardware = android::base::GetProperty("ro.hardware", "");
- auto ueventd_configuration = ParseConfig({"/ueventd.rc", "/vendor/ueventd.rc",
+ auto ueventd_configuration = ParseConfig({"/system/etc/ueventd.rc", "/vendor/ueventd.rc",
"/odm/ueventd.rc", "/ueventd." + hardware + ".rc"});
uevent_handlers.emplace_back(std::make_unique<DeviceHandler>(