diff options
Diffstat (limited to 'usr.sbin/sade/install.c')
-rw-r--r-- | usr.sbin/sade/install.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/usr.sbin/sade/install.c b/usr.sbin/sade/install.c index e787d6f..5b052e4 100644 --- a/usr.sbin/sade/install.c +++ b/usr.sbin/sade/install.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: install.c,v 1.125 1996/10/03 08:17:16 jkh Exp $ + * $Id: install.c,v 1.126 1996/10/03 08:54:37 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -594,6 +594,9 @@ installFixup(dialogMenuItem *self) if (!file_readable("/kernel")) { if (file_readable("/kernel.GENERIC")) { + /* Snapshot any boot -c changes back to the GENERIC kernel */ + save_userconfig_to_kernel("/kernel.GENERIC"); + if (vsystem("cp -p /kernel.GENERIC /kernel")) { msgConfirm("Unable to link /kernel into place!"); return DITEM_FAILURE; @@ -607,11 +610,6 @@ installFixup(dialogMenuItem *self) } } -#ifdef notyet - /* Snapshot any boot -c changes back to the GENERIC kernel */ - save_userconfig_to_kernel("/kernel"); -#endif - /* Resurrect /dev after bin distribution screws it up */ if (RunningAsInit) { msgNotify("Remaking all devices.. Please wait!"); @@ -680,6 +678,10 @@ installFilesystems(dialogMenuItem *self) extern int MakeDevChunk(Chunk *c, char *n); Boolean upgrade = FALSE; + /* If we've already done this, bail out */ + if (variable_get(DISK_PREPARED)) + return DITEM_SUCCESS; + str = variable_get(SYSTEM_STATE); if (!checkLabels(TRUE, &rootdev, &swapdev, &usrdev, &vardev)) @@ -820,6 +822,7 @@ installFilesystems(dialogMenuItem *self) command_sort(); command_execute(); + variable_set2(DISK_PREPARED, "yes"); return DITEM_SUCCESS; } |