Eric Andersen | 6fd8c66 | 2001-02-13 20:04:30 +0000 | [diff] [blame] | 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 |
Eric Andersen | d160a27 | 2001-02-24 19:17:07 +0000 | [diff] [blame] | 6 | * pivot_root syscall stubbed by Erik Andersen, so it will compile |
Eric Andersen | c7bda1c | 2004-03-15 08:29:22 +0000 | [diff] [blame] | 7 | * regardless of the kernel being used. |
Bernhard Reutner-Fischer | b1629b1 | 2006-05-19 19:29:19 +0000 | [diff] [blame] | 8 | * |
Denys Vlasenko | 0ef64bd | 2010-08-16 20:14:46 +0200 | [diff] [blame] | 9 | * Licensed under GPLv2, see file LICENSE in this source tree. |
Eric Andersen | 6fd8c66 | 2001-02-13 20:04:30 +0000 | [diff] [blame] | 10 | */ |
Pere Orga | 5bc8c00 | 2011-04-11 03:29:49 +0200 | [diff] [blame] | 11 | |
| 12 | //usage:#define pivot_root_trivial_usage |
| 13 | //usage: "NEW_ROOT PUT_OLD" |
| 14 | //usage:#define pivot_root_full_usage "\n\n" |
| 15 | //usage: "Move the current root file system to PUT_OLD and make NEW_ROOT\n" |
| 16 | //usage: "the new root file system" |
| 17 | |
Denis Vlasenko | b6adbf1 | 2007-05-26 19:00:18 +0000 | [diff] [blame] | 18 | #include "libbb.h" |
Eric Andersen | 6fd8c66 | 2001-02-13 20:04:30 +0000 | [diff] [blame] | 19 | |
Eric Andersen | e76c3b0 | 2001-04-05 03:14:39 +0000 | [diff] [blame] | 20 | extern int pivot_root(const char * new_root,const char * put_old); |
Eric Andersen | 6fd8c66 | 2001-02-13 20:04:30 +0000 | [diff] [blame] | 21 | |
Denis Vlasenko | 9b49a5e | 2007-10-11 10:05:36 +0000 | [diff] [blame] | 22 | int pivot_root_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
Eric Andersen | 6fd8c66 | 2001-02-13 20:04:30 +0000 | [diff] [blame] | 23 | int pivot_root_main(int argc, char **argv) |
| 24 | { |
Denis Vlasenko | 5983914 | 2006-09-10 18:26:51 +0000 | [diff] [blame] | 25 | if (argc != 3) |
| 26 | bb_show_usage(); |
Eric Andersen | 6fd8c66 | 2001-02-13 20:04:30 +0000 | [diff] [blame] | 27 | |
Denis Vlasenko | f885c54 | 2007-02-06 00:35:36 +0000 | [diff] [blame] | 28 | if (pivot_root(argv[1], argv[2]) < 0) { |
| 29 | /* prints "pivot_root: <strerror text>" */ |
| 30 | bb_perror_nomsg_and_die(); |
| 31 | } |
Eric Andersen | 6fd8c66 | 2001-02-13 20:04:30 +0000 | [diff] [blame] | 32 | |
Denis Vlasenko | 5983914 | 2006-09-10 18:26:51 +0000 | [diff] [blame] | 33 | return EXIT_SUCCESS; |
Eric Andersen | 6fd8c66 | 2001-02-13 20:04:30 +0000 | [diff] [blame] | 34 | } |