diff options
author | Jordan K. Hubbard <jkh@FreeBSD.org> | 1995-11-06 08:28:12 +0000 |
---|---|---|
committer | Jordan K. Hubbard <jkh@FreeBSD.org> | 1995-11-06 08:28:12 +0000 |
commit | 76fe20f0be9a5aa59198c66bb8d252f73e93c606 (patch) | |
tree | 4065cd0981e85f32aff9731b5b155e8704ac965b /release | |
parent | 9b36d4e667f1b5b7de3d46ddbbbf03d3813bc26f (diff) | |
download | src-76fe20f0be9a5aa59198c66bb8d252f73e93c606.tar.gz src-76fe20f0be9a5aa59198c66bb8d252f73e93c606.zip |
Correct some *serious* brain-o's in the upgrade procedure. Thanks for
your patience, Julian!
Notes
Notes:
svn path=/head/; revision=12127
Diffstat (limited to 'release')
-rw-r--r-- | release/sysinstall/installUpgrade.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/release/sysinstall/installUpgrade.c b/release/sysinstall/installUpgrade.c index 4d742cf3acb1..ffb19203a169 100644 --- a/release/sysinstall/installUpgrade.c +++ b/release/sysinstall/installUpgrade.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: installUpgrade.c,v 1.14 1995/11/04 08:47:30 jkh Exp $ + * $Id: installUpgrade.c,v 1.15 1995/11/04 11:09:03 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -66,7 +66,10 @@ doByHand(HitList *h) dialog_clear(); msgConfirm("/etc/%s is one of those files that this upgrade procedure just isn't\n" "smart enough to deal with right now. You'll need to merge the old and\n" - "new versions by hand when the option to do so is later presented.", h->name); + "new versions by hand when the option to do so manually is later\n" + "presented (in the meantime, you might want to write the name of\n" + "this file down! - the holographic shell on VTY4 is a good place for\n" + "this).", h->name); } /* These are the only meaningful files I know about */ @@ -249,6 +252,13 @@ installUpgrade(char *str) return RET_FAIL; } + if (!copySelf()) { + dialog_clear(); + msgConfirm("Couldn't clone the boot floppy onto the root file system.\n" + "Aborting."); + return RET_FAIL; + } + if (chroot("/mnt") == RET_FAIL) { dialog_clear(); msgConfirm("Unable to chroot to /mnt - something is wrong with the\n" @@ -256,8 +266,17 @@ installUpgrade(char *str) variable_unset(DISK_PARTITIONED); return RET_FAIL; } + chdir("/"); systemCreateHoloshell(); + + if (!rootExtract()) { + dialog_clear(); + msgConfirm("Failed to load the ROOT distribution. Please correct\n" + "this problem and try again (the system will now reboot)."); + reboot(0); + } + if (extractingBin) { while (!saved_etc) { saved_etc = msgGetInput("/usr/tmp/etc", "Under which directory do you wish to save your current /etc?"); |