Updating an operating system image can be fraught with danger, an error could cause the system to be unbootable and require significant work to restore the system to operation. The aim of this project is to permit a system to be updated while it is running only requiring a reboot to activate the updated system and provide the facility to rollback to a "known good" system in the event that the update causes regressions. The project should do the following:
- Make a copy of the currently running system
- Either apply patches, install binary sets, run a source build with the copy as the install target
- Update critical system files to reference the copy (things like fstab)
- Update the boot menu to make the copy the default boot target, the current running system should be left as an option to boot to
The following link shows how live upgrade works on Solaris: http://docs.oracle.com/cd/E19455-01/806-7933/overview-3/index.html The aim is to implement something that is functionally similar to this which can not only be used for upgrading but for any risky operation where a reliable back out is required.