On Wed, Feb 15, 2006 at 09:16:02AM -0800, Shudong Zhou wrote: > The basic idea of booting from an archive solves more problems then > it introduces. It simplifies Xen, GRID deployment, HoneyComb, etc. > As far as resyncing the archive on shutdown, it's the minimal > approach. We can always add more syncing points where it makes > sense. > > I do think the boot-archive is overly agressive in reporting a fatal > failure if *any* file is out of date. The original intention was > to prevent potential data corruption related to mismatched kernel > modules. We should relax the failure mode such that fatal failure > is only reported if a selected subset of files are out of date.
I filed 6342731 /lib/svc/method/boot-archive could try harder a while back. Possible approaches to fixing this problem: - make the boot-archive smarter (see 6342731) By the time the boot-archive method starts the root filesystem is clearly mounted, so the boot-archive could figure out what actually differs between / and the boot archive and act accordingly (e.g., load/unload drivers, whatever). The only time that user input should be needed, if then, would be when drivers needed for mounting / have changed. And even then, why not just update the archive and reboot? / did mount, after all... This assumes, of course, that the / device isn't changed without updating the archive. Mostly, I think, a safe assumption. In any case, whenever user input is needed it'd be nice if the service could interact directly rather than offer some advice and then dump the user on sulogin (ouch!). If sulogin took a command as an argument then at least the method could dump the user on a menu automatically as soon as the root password is typed in. - minimize the boot archive -- it should have only enough to mount the root, so if I add a sound driver or what have you, the boot archive should need no updates. I really like this one, because how often do boot devices and drivers change? Not often. But new devices are added rather often. This would require that the kernel be able to process /etc/system, /etc/path_to_inst and /etc/driver_* twice: once from the boot archive, once when the root is mounted. Nico --