Merge "Move init and ueventd scripts from / to /system/etc"
am: 47cdf6c078
Change-Id: Ia46f5dcd439dec4f28c5418195edfb32a92f7ad2
This commit is contained in:
commit
ee7c1efe40
6 changed files with 37 additions and 21 deletions
|
|
@ -185,9 +185,11 @@ cc_binary {
|
||||||
static_libs: ["libinit"],
|
static_libs: ["libinit"],
|
||||||
required: [
|
required: [
|
||||||
"e2fsdroid",
|
"e2fsdroid",
|
||||||
|
"init.rc",
|
||||||
"mke2fs",
|
"mke2fs",
|
||||||
"sload_f2fs",
|
"sload_f2fs",
|
||||||
"make_f2fs",
|
"make_f2fs",
|
||||||
|
"ueventd.rc",
|
||||||
],
|
],
|
||||||
srcs: ["main.cpp"],
|
srcs: ["main.cpp"],
|
||||||
symlinks: ["ueventd"],
|
symlinks: ["ueventd"],
|
||||||
|
|
|
||||||
|
|
@ -136,7 +136,7 @@ static void LoadBootScripts(ActionManager& action_manager, ServiceList& service_
|
||||||
|
|
||||||
std::string bootscript = GetProperty("ro.boot.init_rc", "");
|
std::string bootscript = GetProperty("ro.boot.init_rc", "");
|
||||||
if (bootscript.empty()) {
|
if (bootscript.empty()) {
|
||||||
parser.ParseConfig("/init.rc");
|
parser.ParseConfig("/system/etc/init/hw/init.rc");
|
||||||
if (!parser.ParseConfig("/system/etc/init")) {
|
if (!parser.ParseConfig("/system/etc/init")) {
|
||||||
late_import_paths.emplace_back("/system/etc/init");
|
late_import_paths.emplace_back("/system/etc/init");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -288,7 +288,7 @@ int ueventd_main(int argc, char** argv) {
|
||||||
// TODO: cleanup platform ueventd.rc to remove vendor specific device node entries (b/34968103)
|
// TODO: cleanup platform ueventd.rc to remove vendor specific device node entries (b/34968103)
|
||||||
auto hardware = android::base::GetProperty("ro.hardware", "");
|
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"});
|
"/odm/ueventd.rc", "/ueventd." + hardware + ".rc"});
|
||||||
|
|
||||||
uevent_handlers.emplace_back(std::make_unique<DeviceHandler>(
|
uevent_handlers.emplace_back(std::make_unique<DeviceHandler>(
|
||||||
|
|
|
||||||
26
rootdir/Android.bp
Normal file
26
rootdir/Android.bp
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
// Copyright 2019 The Android Open Source Project
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License.
|
||||||
|
// You may obtain a copy of the License at
|
||||||
|
//
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
|
||||||
|
prebuilt_etc {
|
||||||
|
name: "init.rc",
|
||||||
|
src: "init.rc",
|
||||||
|
sub_dir: "init/hw",
|
||||||
|
required: ["fsverity_init"],
|
||||||
|
}
|
||||||
|
|
||||||
|
prebuilt_etc {
|
||||||
|
name: "ueventd.rc",
|
||||||
|
src: "ueventd.rc",
|
||||||
|
recovery_available: true,
|
||||||
|
}
|
||||||
|
|
@ -1,21 +1,5 @@
|
||||||
LOCAL_PATH:= $(call my-dir)
|
LOCAL_PATH:= $(call my-dir)
|
||||||
|
|
||||||
#######################################
|
|
||||||
# init.rc
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
|
|
||||||
LOCAL_MODULE := init.rc
|
|
||||||
LOCAL_SRC_FILES := $(LOCAL_MODULE)
|
|
||||||
LOCAL_MODULE_CLASS := ETC
|
|
||||||
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
|
|
||||||
LOCAL_REQUIRED_MODULES := fsverity_init
|
|
||||||
|
|
||||||
# The init symlink must be a post install command of a file that is to TARGET_ROOT_OUT.
|
|
||||||
# Since init.rc is required for init and satisfies that requirement, we hijack it to create the symlink.
|
|
||||||
LOCAL_POST_INSTALL_CMD := ln -sf /system/bin/init $(TARGET_ROOT_OUT)/init
|
|
||||||
|
|
||||||
include $(BUILD_PREBUILT)
|
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
# init-debug.rc
|
# init-debug.rc
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
@ -148,6 +132,10 @@ ifeq ($(AB_OTA_UPDATER),true)
|
||||||
LOCAL_POST_INSTALL_CMD += ; mkdir -p $(TARGET_ROOT_OUT)/postinstall
|
LOCAL_POST_INSTALL_CMD += ; mkdir -p $(TARGET_ROOT_OUT)/postinstall
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# The init symlink must be a post install command of a file that is to TARGET_ROOT_OUT.
|
||||||
|
# Since init.environ.rc is required for init and satisfies that requirement, we hijack it to create the symlink.
|
||||||
|
LOCAL_POST_INSTALL_CMD += ; ln -sf /system/bin/init $(TARGET_ROOT_OUT)/init
|
||||||
|
|
||||||
include $(BUILD_SYSTEM)/base_rules.mk
|
include $(BUILD_SYSTEM)/base_rules.mk
|
||||||
|
|
||||||
$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/init.environ.rc.in
|
$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/init.environ.rc.in
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
import /init.environ.rc
|
import /init.environ.rc
|
||||||
import /init.usb.rc
|
import /system/etc/init/hw/init.usb.rc
|
||||||
import /init.${ro.hardware}.rc
|
import /init.${ro.hardware}.rc
|
||||||
import /vendor/etc/init/hw/init.${ro.hardware}.rc
|
import /vendor/etc/init/hw/init.${ro.hardware}.rc
|
||||||
import /init.usb.configfs.rc
|
import /system/etc/init/hw/init.usb.configfs.rc
|
||||||
import /init.${ro.zygote}.rc
|
import /system/etc/init/hw/init.${ro.zygote}.rc
|
||||||
|
|
||||||
# Cgroups are mounted right before early-init using list from /etc/cgroups.json
|
# Cgroups are mounted right before early-init using list from /etc/cgroups.json
|
||||||
on early-init
|
on early-init
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue