I have just delivered a presentation on pivot_root at EuroBSDcon and have put up the most important slides, a patch including new files against HEAD 20121017, and a custom ramdisk build I used to demonstrate pivot_root here:
http://marabu.ch/pivot_root_eurobsdcon_2012/index.html I looking for feedback especially if we should integrate this into a mount -t pivot / mount_pivot program piggy-backing the mount syscall instead of giving it its own syscall which would entail a libc bump. The patch above still uses a new syscall (hence touches quite a few files on only one line) and the userland program "pivot_root" calls the syscall by number so don't forget to modload the kmod :-) First feedback seems to indicate we prefer integration into mount. A yet unimplemented feature which would make this much more useful would be to pivot the rootfs, but then move all the other mount points under root to follow the new root. For example, /usr/pkg would not end up in /put_old/usr/pkg but "stay" /usr/pkg (but naturally now having the mountpoint on new_root). This would obviate the need to restart services that have open filedescriptors on file systems other than new_root and the original root. I do not think this would be too hard to do and will investigate this feature. Thank you Veego for this feedback! Ast
