diff options
author | jkh <jkh@FreeBSD.org> | 1999-01-29 11:39:04 +0000 |
---|---|---|
committer | jkh <jkh@FreeBSD.org> | 1999-01-29 11:39:04 +0000 |
commit | d5f0625dc51c4fe1f64677e63d3fc482992a9c25 (patch) | |
tree | 21626d0e91e40224e09056a805bf8e879126b1ff /release/sysinstall | |
parent | cc48c70aca802844f758f365a4d8c646024c339a (diff) | |
download | FreeBSD-src-d5f0625dc51c4fe1f64677e63d3fc482992a9c25.zip FreeBSD-src-d5f0625dc51c4fe1f64677e63d3fc482992a9c25.tar.gz |
More support for Alpha installs.
Submitted by: dfr
Diffstat (limited to 'release/sysinstall')
-rw-r--r-- | release/sysinstall/install.c | 4 | ||||
-rw-r--r-- | release/sysinstall/label.c | 30 |
2 files changed, 30 insertions, 4 deletions
diff --git a/release/sysinstall/install.c b/release/sysinstall/install.c index 78b2ef6..cdd7eeb 100644 --- a/release/sysinstall/install.c +++ b/release/sysinstall/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.223 1999/01/20 12:31:42 jkh Exp $ + * $Id: install.c,v 1.224 1999/01/27 02:32:47 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -758,11 +758,13 @@ installFixupBin(dialogMenuItem *self) msgConfirm("Unable to copy /kernel into place!"); return DITEM_FAILURE; } +#ifndef __alpha__ /* Snapshot any boot -c changes back to the new kernel */ if (kget("/kernel.config")) { msgConfirm("Kernel copied OK, but unable to save boot -c changes\n" "to it. See the debug screen (ALT-F2) for details."); } +#endif } else { msgConfirm("Can't find a kernel image to link to on the root file system!\n" diff --git a/release/sysinstall/label.c b/release/sysinstall/label.c index ea49bbe..c43c5f6 100644 --- a/release/sysinstall/label.c +++ b/release/sysinstall/label.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: label.c,v 1.83 1998/07/18 09:42:01 jkh Exp $ + * $Id: label.c,v 1.84 1999/01/08 00:14:21 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -644,6 +644,30 @@ clear_wins(void) print_label_chunks(); } +#ifdef __alpha__ + +/* + * If there isn't a freebsd chunk already (i.e. there is no label), + * dedicate the disk. + */ +static void +maybe_dedicate(Disk* d) +{ + struct chunk *c; + + for (c = d->chunks->part; c; c = c->next) { + if (c->type == freebsd) + break; + } + + if (!c) { + msgDebug("dedicating disk"); + All_FreeBSD(d, 1); + } +} + +#endif + static int diskLabel(Device *dev) { @@ -670,7 +694,7 @@ diskLabel(Device *dev) keypad(stdscr, TRUE); #ifdef __alpha__ for (i = 0; devs[i]; i++) { - All_FreeBSD((Disk*) devs[i]->private, 1); + maybe_dedicate((Disk*) devs[i]->private); } #endif record_label_chunks(devs, dev); @@ -1169,7 +1193,7 @@ diskLabelNonInteractive(Device *dev) else d = devs[0]->private; #ifdef __alpha__ - All_FreeBSD(d, 1); + maybe_dedicate(d); #endif record_label_chunks(devs, dev); for (i = 0; label_chunk_info[i].c; i++) { |