diff options
author | Karel Zak | 2008-11-19 11:07:58 +0100 |
---|---|---|
committer | Karel Zak | 2008-11-19 12:38:43 +0100 |
commit | 5947572d5e527b842210e67d07e53eed5d95fbb2 (patch) | |
tree | 53b6e80c2280325d069cc3972d64e98345cfb568 /mount | |
parent | losetup: add warning about read-only mode (diff) | |
download | kernel-qcow2-util-linux-5947572d5e527b842210e67d07e53eed5d95fbb2.tar.gz kernel-qcow2-util-linux-5947572d5e527b842210e67d07e53eed5d95fbb2.tar.xz kernel-qcow2-util-linux-5947572d5e527b842210e67d07e53eed5d95fbb2.zip |
build-sys: move pivot_root(8) to sys-utils
This patch moves pivot_root.{8,c) from mount/ to sys-utils/ directory.
There is not ant relation between pivot_root source code and the rest of
code in the mount.
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'mount')
-rw-r--r-- | mount/.gitignore | 1 | ||||
-rw-r--r-- | mount/Makefile.am | 5 | ||||
-rw-r--r-- | mount/pivot_root.8 | 68 | ||||
-rw-r--r-- | mount/pivot_root.c | 32 |
4 files changed, 0 insertions, 106 deletions
diff --git a/mount/.gitignore b/mount/.gitignore index 6de7afcad..db657c719 100644 --- a/mount/.gitignore +++ b/mount/.gitignore @@ -1,6 +1,5 @@ losetup mount mtab_lock_test -pivot_root swapon umount diff --git a/mount/Makefile.am b/mount/Makefile.am index a43fcd5dc..00882af31 100644 --- a/mount/Makefile.am +++ b/mount/Makefile.am @@ -76,11 +76,6 @@ LDADD_common += $(VOLUMEID_LIBS) LDADD_common_static += $(VOLUMEID_LIBS_STATIC) endif -if HAVE_PIVOT_ROOT -sbin_PROGRAMS += pivot_root -dist_man_MANS += pivot_root.8 -endif - noinst_PROGRAMS = mtab_lock_test mtab_lock_test_SOURCES = fstab.c sundries.c xmalloc.c $(headers_common) mtab_lock_test_CPPFLAGS = -DMAIN_TEST_MTABLOCK $(AM_CPPFLAGS) diff --git a/mount/pivot_root.8 b/mount/pivot_root.8 deleted file mode 100644 index 92b12555d..000000000 --- a/mount/pivot_root.8 +++ /dev/null @@ -1,68 +0,0 @@ -.TH PIVOT_ROOT 8 "Feb 23, 2000" "Linux" "Maintenance Commands" -.SH NAME -pivot_root \- change the root file system -.SH SYNOPSIS -.B pivot_root -.RB \fInew_root\fP -.RB \fIput_old\fP -.SH DESCRIPTION -\fBpivot_root\fP moves the root file system of the current process to the -directory \fIput_old\fP and makes \fInew_root\fP the new root file system. -Since \fBpivot_root(8)\fP simply calls \fBpivot_root(2)\fP, we refer to -the man page of the latter for further details. - -Note that, depending on the implementation of \fBpivot_root\fP, root and -cwd of the caller may or may not change. The following is a sequence for -invoking \fBpivot_root\fP that works in either case, assuming that -\fBpivot_root\fP and \fBchroot\fP are in the current \fBPATH\fP: -.sp -cd \fInew_root\fP -.br -pivot_root . \fIput_old\fP -.br -exec chroot . \fIcommand\fP -.sp -Note that \fBchroot\fP must be available under the old root and under the new -root, because \fBpivot_root\fP may or may not have implicitly changed the -root directory of the shell. - -Note that \fBexec chroot\fP changes the running executable, which is -necessary if the old root directory should be unmounted afterwards. -Also note that standard input, output, and error may still point to a -device on the old root file system, keeping it busy. They can easily be -changed when invoking \fBchroot\fP (see below; note the absence of -leading slashes to make it work whether \fBpivot_root\fP has changed the -shell's root or not). -.SH EXAMPLES -Change the root file system to /dev/hda1 from an interactive shell: -.sp -.nf -mount /dev/hda1 /new-root -cd /new-root -pivot_root . old-root -exec chroot . sh <dev/console >dev/console 2>&1 -umount /old-root -.fi -.sp -Mount the new root file system over NFS from 10.0.0.1:/my_root and run -\fBinit\fP: -.sp -.nf -ifconfig lo 127.0.0.1 up # for portmap -# configure Ethernet or such -portmap # for lockd (implicitly started by mount) -mount -o ro 10.0.0.1:/my_root /mnt -killall portmap # portmap keeps old root busy -cd /mnt -pivot_root . old_root -exec chroot . sh -c 'umount /old_root; exec /sbin/init' \\ - <dev/console >dev/console 2>&1 -.fi -.SH "SEE ALSO" -.BR chroot(1), -.BR mount(8), -.BR pivot_root(2), -.BR umount(8) -.SH AVAILABILITY -The pivot_root command is part of the util-linux-ng package and is available from -ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/. diff --git a/mount/pivot_root.c b/mount/pivot_root.c deleted file mode 100644 index ba2dbbed0..000000000 --- a/mount/pivot_root.c +++ /dev/null @@ -1,32 +0,0 @@ -/* pivot_root.c - Change the root file system */ - -/* Written 2000 by Werner Almesberger */ - -#include <stdio.h> -#include <sys/syscall.h> -#include <unistd.h> - -#define pivot_root(new_root,put_old) syscall(SYS_pivot_root,new_root,put_old) - -#if 0 -/* - * With kernelheaders 2.3.41 or later, and ancient libc, try the following. - */ -#include <errno.h> -#include <linux/unistd.h> -static -_syscall2(int,pivot_root,const char *,new_root,const char *,put_old) -#endif - -int main(int argc, const char **argv) -{ - if (argc != 3) { - fprintf(stderr, "usage: %s new_root put_old\n", argv[0]); - return 1; - } - if (pivot_root(argv[1],argv[2]) < 0) { - perror("pivot_root"); - return 1; - } - return 0; -} |