summaryrefslogtreecommitdiff
path: root/util-linux/switch_root.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2017-08-22 11:40:27 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2017-08-22 11:40:27 +0200
commit7d834c9bb436edd594ebacc48d2b9ea7d3364dbd (patch)
tree7ef97bae0f9ec9d82c0a2de303f2bf3f7f816819 /util-linux/switch_root.c
parent753c4045e4f287fc4b4788afd94f58738a7f04b4 (diff)
downloadbusybox-7d834c9bb436edd594ebacc48d2b9ea7d3364dbd.tar.gz
run-init: if doing dry run, do not require pid==1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'util-linux/switch_root.c')
-rw-r--r--util-linux/switch_root.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/util-linux/switch_root.c b/util-linux/switch_root.c
index 16abcb634..080b05e45 100644
--- a/util-linux/switch_root.c
+++ b/util-linux/switch_root.c
@@ -227,9 +227,12 @@ int switch_root_main(int argc UNUSED_PARAM, char **argv)
xstat("/", &st);
rootdev = st.st_dev;
xstat(".", &st);
- if (st.st_dev == rootdev || getpid() != 1) {
+ if (st.st_dev == rootdev) {
// Show usage, it says new root must be a mountpoint
- // and we must be PID 1
+ bb_show_usage();
+ }
+ if (!dry_run && getpid() != 1) {
+ // Show usage, it says we must be PID 1
bb_show_usage();
}