Subject: bin/11728: When sysinst aborts, it leaves the system trashed
To: None <gnats-bugs@gnats.netbsd.org>
From: Charlie Root <root@polaris.garbled.net>
List: netbsd-bugs
Date: 12/13/2000 09:42:18
>Number:         11728
>Category:       bin
>Synopsis:       When sysinst aborts, it leaves the system trashed
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    bin-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Dec 13 09:41:00 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     Charlie Root
>Release:        1.5<NetBSD-current source date>
>Organization:
	
>Environment:
	
System: NetBSD polaris 1.5_ALPHA2 NetBSD 1.5_ALPHA2 (POLARIS) #1: Wed Dec 13 00:45:28 MST 2000 root@polaris:/usr/src/sys/arch/i386/compile/POLARIS i386


>Description:
Attempt an upgrade, and run into a problem (such as having ccd's in your fstab)
sysinst will procede to move /etc to /etc.old, and move your bootblocks to
boot.old.  You will have to manually put things back where they were, to edit
the fstab and try again.  (I don't even want to know what it would have done
had I not noticed).  In addition, it probably wiped out my old boot blocks
my moving the newly installed ones over the backup on the second try.
	
>How-To-Repeat:
Upgrade, lose, bail out, notice messed up root drive.
	
>Fix:
Sysinst should undo it's damage when bailing out.  Leaving the system in a 
state where it will likely make it far far worse on the next invocation
is completely unacceptable.

In addition, writing the bootblocks should probably be moved to a later stage,
so if the upgrade proves impossible, you don't end up with the system changed.
	
>Release-Note:
>Audit-Trail:
>Unformatted: