aboutsummaryrefslogtreecommitdiff
path: root/util-linux/pivot_root.c
diff options
context:
space:
mode:
authorandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2001-02-13 20:04:30 +0000
committerandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2001-02-13 20:04:30 +0000
commit5e7e2468e05ce0a6035166e9f09d46b412709e5e (patch)
treea8faf540fe49e308e52e1694e00f280ac51b9192 /util-linux/pivot_root.c
parent5ba21f50e1bfc0b1c168d988ae9703cc30861dae (diff)
downloadbusybox-w32-5e7e2468e05ce0a6035166e9f09d46b412709e5e.tar.gz
busybox-w32-5e7e2468e05ce0a6035166e9f09d46b412709e5e.tar.bz2
busybox-w32-5e7e2468e05ce0a6035166e9f09d46b412709e5e.zip
Apply a patch from Evin Robertson -- new pivot_root applet.
-Erik git-svn-id: svn://busybox.net/trunk/busybox@1799 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'util-linux/pivot_root.c')
-rw-r--r--util-linux/pivot_root.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/util-linux/pivot_root.c b/util-linux/pivot_root.c
new file mode 100644
index 000000000..92fe4aeab
--- /dev/null
+++ b/util-linux/pivot_root.c
@@ -0,0 +1,39 @@
1/* vi: set sw=4 ts=4: */
2/*
3 * pivot_root.c - Change root file system. Based on util-linux 2.10s
4 *
5 * busyboxed by Evin Robertson
6 */
7#include "busybox.h"
8#include <stdlib.h>
9#include <stdio.h>
10#include <sys/syscall.h>
11#include <linux/unistd.h>
12
13#ifndef __NR_pivot_root
14#error Sorry, but this kernel does not support the pivot_root syscall
15#endif
16
17static _syscall2(int,pivot_root,const char *,new_root,const char *,put_old)
18
19
20int pivot_root_main(int argc, char **argv)
21{
22 if (argc != 3)
23 usage(pivot_root_usage);
24
25 if (pivot_root(argv[1],argv[2]) < 0)
26 perror_msg_and_die("pivot_root");
27
28 return EXIT_SUCCESS;
29
30}
31
32
33/*
34Local Variables:
35c-file-style: "linux"
36c-basic-offset: 4
37tab-width: 4
38End:
39*/