Penguin
Blame: pivot_root(8)
EditPageHistoryDiffInfoLikePages
Annotated edit history of pivot_root(8) version 1, including all changes. View license author blame.
Rev Author # Line
1 perry 1 PIVOT_ROOT
2 !!!PIVOT_ROOT
3 NAME
4 SYNOPSIS
5 DESCRIPTION
6 EXAMPLES
7 SEE ALSO
8 ----
9 !!NAME
10
11
12 pivot_root - change the root file system
13 !!SYNOPSIS
14
15
16 __pivot_root__ ''new_root put_old''
17 !!DESCRIPTION
18
19
20 __pivot_root__ moves the root file system of the current
21 process to the directory ''put_old'' and makes
22 ''new_root'' the new root file system. Since
23 __pivot_root(8)__ simply calls __pivot_root(2)__, we
24 refer to the man page of the latter for further
25 details.
26
27
28 Note that, depending on the implementation of
29 __pivot_root__, root and cwd of the caller may or may not
30 change. The following is a sequence for invoking
31 __pivot_root__ that works in either case, assuming that
32 __pivot_root__ and __chroot__ are in the current
33 __PATH__:
34
35
36 cd ''new_root''
37 pivot_root . ''put_old''
38 exec chroot . ''command''
39
40
41 Note that __chroot__ must be available under the old root
42 and under the new root, because __pivot_root__ may or may
43 not have implicitly changed the root directory of the
44 shell.
45
46
47 Note that __exec chroot__ changes the running executable,
48 which is necessary if the old root directory should be
49 unmounted afterwards. Also note that standard input, output,
50 and error may still point to a device on the old root file
51 system, keeping it busy. They can easily be changed when
52 invoking __chroot__ (see below; note the absence of
53 leading slashes to make it work whether __pivot_root__
54 has changed the shell's root or not).
55 !!EXAMPLES
56
57
58 Change the root file system to /dev/hda1 from an interactive
59 shell:
60
61
62 mount /dev/hda1 /new-root
63 cd /new-root
64 pivot_root . old-root
65 exec chroot . sh
66 Mount the new root file system over NFS from 10.0.0.1:/my_root and run __init__:
67
68
69 ifconfig lo 127.0.0.1 up # for portmap
70 # configure Ethernet or such
71 portmap # for lockd (implicitly started by mount)
72 mount -o ro 10.0.0.1:/my_root /mnt
73 killall portmap # portmap keeps old root busy
74 cd /mnt
75 pivot_root . old_root
76 exec chroot . sh -c 'umount /old_root; exec /sbin/init' \
77 !!SEE ALSO
78
79
80 __chroot(1), mount(8), pivot_root(2),
81 umount(8)__
82 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.