summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiyong Park <jiyong@google.com>2018-06-14 02:05:54 +0200
committerandroid-build-merger <android-build-merger@google.com>2018-06-14 02:05:54 +0200
commit26e8481fc81f909bad6458d51446497875ac160d (patch)
treeb9fed49895b95bbc2bbf65d3456e4f1a5f03d3a7
parentMerge "updater_sample: add proguard.flags" am: 5ced47d120 (diff)
parentMerge "Recovery image is self-contained" (diff)
downloadandroid_bootable_recovery-26e8481fc81f909bad6458d51446497875ac160d.tar
android_bootable_recovery-26e8481fc81f909bad6458d51446497875ac160d.tar.gz
android_bootable_recovery-26e8481fc81f909bad6458d51446497875ac160d.tar.bz2
android_bootable_recovery-26e8481fc81f909bad6458d51446497875ac160d.tar.lz
android_bootable_recovery-26e8481fc81f909bad6458d51446497875ac160d.tar.xz
android_bootable_recovery-26e8481fc81f909bad6458d51446497875ac160d.tar.zst
android_bootable_recovery-26e8481fc81f909bad6458d51446497875ac160d.zip
-rw-r--r--etc/init.rc3
-rw-r--r--fsck_unshare_blocks.cpp14
-rw-r--r--recovery.cpp8
3 files changed, 8 insertions, 17 deletions
diff --git a/etc/init.rc b/etc/init.rc
index 0fc6c4c13..96c37b11c 100644
--- a/etc/init.rc
+++ b/etc/init.rc
@@ -22,6 +22,7 @@ on init
mkdir /data
mkdir /cache
mkdir /sideload
+ mkdir /mnt/system
mount tmpfs tmpfs /tmp
chown root shell /tmp
@@ -87,7 +88,7 @@ service charger /charger -r
service recovery /sbin/recovery
seclabel u:r:recovery:s0
-service adbd /sbin/adbd --root_seclabel=u:r:su:s0 --device_banner=recovery
+service adbd /system/bin/adbd --root_seclabel=u:r:su:s0 --device_banner=recovery
disabled
socket adbd stream 660 system system
seclabel u:r:adbd:s0
diff --git a/fsck_unshare_blocks.cpp b/fsck_unshare_blocks.cpp
index a100368e7..2e6b5b807 100644
--- a/fsck_unshare_blocks.cpp
+++ b/fsck_unshare_blocks.cpp
@@ -115,14 +115,6 @@ static bool run_e2fsck(const std::string& partition) {
return true;
}
-static const char* get_system_root() {
- if (android::base::GetBoolProperty("ro.build.system_root_image", false)) {
- return "/system_root";
- } else {
- return "/system";
- }
-}
-
bool do_fsck_unshare_blocks() {
// List of partitions we will try to e2fsck -E unshare_blocks.
std::vector<std::string> partitions = { "/odm", "/oem", "/product", "/vendor" };
@@ -130,10 +122,10 @@ bool do_fsck_unshare_blocks() {
// Temporarily mount system so we can copy e2fsck_static.
bool mounted = false;
if (android::base::GetBoolProperty("ro.build.system_root_image", false)) {
- mounted = ensure_path_mounted_at("/", "/system_root") != -1;
+ mounted = ensure_path_mounted_at("/", "/mnt/system") != -1;
partitions.push_back("/");
} else {
- mounted = ensure_path_mounted("/system") != -1;
+ mounted = ensure_path_mounted_at("/system", "/mnt/system") != -1;
partitions.push_back("/system");
}
if (!mounted) {
@@ -144,7 +136,7 @@ bool do_fsck_unshare_blocks() {
LOG(ERROR) << "Could not copy e2fsck to /tmp.";
return false;
}
- if (umount(get_system_root()) < 0) {
+ if (umount("/mnt/system") < 0) {
PLOG(ERROR) << "umount failed";
return false;
}
diff --git a/recovery.cpp b/recovery.cpp
index 8f39679b7..f6d4212ee 100644
--- a/recovery.cpp
+++ b/recovery.cpp
@@ -820,15 +820,13 @@ static Device::BuiltinAction prompt_and_wait(Device* device, int status) {
break;
}
case Device::MOUNT_SYSTEM:
- // For a system image built with the root directory (i.e. system_root_image == "true"), we
- // mount it to /system_root, and symlink /system to /system_root/system to make adb shell
- // work (the symlink is created through the build system). (Bug: 22855115)
+ // the system partition is mounted at /mnt/system
if (android::base::GetBoolProperty("ro.build.system_root_image", false)) {
- if (ensure_path_mounted_at("/", "/system_root") != -1) {
+ if (ensure_path_mounted_at("/", "/mnt/system") != -1) {
ui->Print("Mounted /system.\n");
}
} else {
- if (ensure_path_mounted("/system") != -1) {
+ if (ensure_path_mounted_at("/system", "/mnt/system") != -1) {
ui->Print("Mounted /system.\n");
}
}