Re: pivot_root depreciated?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2014-01-30 16:20, Phillip Susi wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 1/30/2014 9:50 AM, Thomas Bächler wrote:
At least mkinitcpio now generates a fresh "initrd" to return to
during system shutdown instead of keeping around the actual
initrd.

I see, so at shutdown the initramfs is re-loaded into a tmpfs that is
then pivot_root()ed to?  And at boot time, pivot_root is not used?


Initially when initramfs prepares /run and stuff (and switchroot moves it to real root), workable "minisystem" is kept under /run/initramfs (or similar).

On shutdown, /run/initramfs is bind-mounted to itself, which makes it pivotable, with old root say available at /oldroot. Now your aim is to cleanly unmount old root. In case of classic non-systemd, you would need:

- telinit u (graceful re-exec of init)
- mdmon --takeover (if you have non-native raid handled by md, to gracefully reexec the daemon)
- etc.

This allows to close all open files on real root (things are usually tried in loop, with attempts to stop stuff like lvm, md, ...) and finally unmount old root.

Of course there is also a question - why bother doing all this, when simple ro remount before halt has been working fine for decades (and still works) ....

Dracut (and others) /could/ be doing even more clever thing (hmm, maybe I should review certain old patches of mine) - during boot it could prepare mini-root on tmpfs before (some copying, some symlinks and/or PATH stuff) starting everything - then move actual tmpfs with living root to real root. The small advantage of that is, that you can at any moment chroot to such miniroot and do some maintenance on e.g. boot-critical storage daemon that lacks ability to reexecute itself gracefully.

Another interesting use for pivot_root() call - when paired with mount namespaces - is ability to provide stronger chroot jails.

So the call itself is still pretty useful. It hasn't beed used during boot anymore for years, but other possibilities emerged for it =)

--
To unsubscribe from this list: send the line "unsubscribe util-linux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux