diff options
| -rw-r--r-- | cmds/servicemanager/Android.bp | 9 | ||||
| -rw-r--r-- | cmds/servicemanager/main.cpp | 4 | ||||
| -rw-r--r-- | cmds/servicemanager/servicemanager.recovery.rc | 4 |
3 files changed, 17 insertions, 0 deletions
diff --git a/cmds/servicemanager/Android.bp b/cmds/servicemanager/Android.bp index 3ebdeee7aa..80c0548fca 100644 --- a/cmds/servicemanager/Android.bp +++ b/cmds/servicemanager/Android.bp @@ -47,6 +47,15 @@ cc_binary { } cc_binary { + name: "servicemanager.recovery", + stem: "servicemanager", + recovery: true, + defaults: ["servicemanager_defaults"], + init_rc: ["servicemanager.recovery.rc"], + srcs: ["main.cpp"], +} + +cc_binary { name: "vndservicemanager", defaults: ["servicemanager_defaults"], init_rc: ["vndservicemanager.rc"], diff --git a/cmds/servicemanager/main.cpp b/cmds/servicemanager/main.cpp index 8c1beaca20..2fb9c2bc9a 100644 --- a/cmds/servicemanager/main.cpp +++ b/cmds/servicemanager/main.cpp @@ -111,6 +111,10 @@ private: }; int main(int argc, char** argv) { +#ifdef __ANDROID_RECOVERY__ + android::base::InitLogging(argv, android::base::KernelLogger); +#endif + if (argc > 2) { LOG(FATAL) << "usage: " << argv[0] << " [binder driver]"; } diff --git a/cmds/servicemanager/servicemanager.recovery.rc b/cmds/servicemanager/servicemanager.recovery.rc new file mode 100644 index 0000000000..067faf9c8f --- /dev/null +++ b/cmds/servicemanager/servicemanager.recovery.rc @@ -0,0 +1,4 @@ +service servicemanager /system/bin/servicemanager + disabled + group system readproc + seclabel u:r:servicemanager:s0 |