summaryrefslogtreecommitdiffstats
path: root/release/sysinstall
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1999-01-29 11:39:04 +0000
committerjkh <jkh@FreeBSD.org>1999-01-29 11:39:04 +0000
commitd5f0625dc51c4fe1f64677e63d3fc482992a9c25 (patch)
tree21626d0e91e40224e09056a805bf8e879126b1ff /release/sysinstall
parentcc48c70aca802844f758f365a4d8c646024c339a (diff)
downloadFreeBSD-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.c4
-rw-r--r--release/sysinstall/label.c30
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++) {
OpenPOWER on IntegriCloud