On 2014-08-11 03:27, James Bowlin wrote:
If someone had done a frugal install (copy the squashfs file to internal hd) or if they enable static root persistence (which opens a persistence file on the internal hd ) then it is impossible to cleanly umount the hd without doing a pivot_root first. These problems are not just on ntfs. There is a problem cleanly umounting any read-write file system that holds the squashfs file or the static root persistence file.
Ah, that makes sense. Thanks for explaining.
Before I can umount the ntfs (or other rw fs) I need to first umount the squashfs file and the static persistence file (if it is being used). To do that I need to first umount the aufs which is the root file system. Without the pivot_root, this is not possible.
Isn't it possible to simply remount it read-only ? That's the traditional way of fscking a rootfs, and it has always worked for me - but maybe it's unapplicable to your situation, especially with a HD install that users can modify.
Among other things, the pivot_root gives me access to /sys, /dev, and /proc even after I unmount the root file system. IMO even non-live systems would benefit from doing a pivot_root into a busybox system during shutdown. You have access to a fully functional shell all the way up to the final "shutdown" or "reboot" command.
/sys, /dev and /proc, as well as /tmp if it's a tmpfs, are also available after you unmount all the rest and remount / read-only. /bin/sh, or /bin/bash or whatever you want, is also available. I don't think functionality is your argument here: you'll never have *more* functionality than a full-fledged system that has been live and made it all the way to your shutdown procedure. AIUI, your argument is reliability: by pivot_rooting on a known, static, unmodifiable-by-the-user image, you have the guarantee that you can perform clean operations even if the user has hosed the root filesystem.
The game I play with the Live system is to do a switch_root at the end of the /init script in the initrd and then do the opposite, a pivot_root on my way out. I start and end in a busybox environment.
Hehe. I like to say that initrd/initramfs is useless, it adds more complexity than it helps you. If you don't trust your rootfs' usability, though, that's a good use case for it. (My stance is valid for embedded systems, probably less so for desktops.)
Many (at least a few) people use our LiveUSB or our frugal-install The easy/fast frugal install was the culmination of years of work (although I did not work continuously over those years, usually just 2-month or 3-month spurts). I think the overall strategy and design were done in 2008 or 2009. There was a lot of work and learning involved getting all the many pieces working.
Come back to the candy store any time you want. Not only do we have some yummy candy, but you may also have some brands to share that we're not familar with! -- Laurent _______________________________________________ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox