From d5f0625dc51c4fe1f64677e63d3fc482992a9c25 Mon Sep 17 00:00:00 2001 From: jkh Date: Fri, 29 Jan 1999 11:39:04 +0000 Subject: More support for Alpha installs. Submitted by: dfr --- release/Makefile | 18 ++++++++++++++---- release/sysinstall/install.c | 4 +++- release/sysinstall/label.c | 30 +++++++++++++++++++++++++++--- usr.sbin/sade/install.c | 4 +++- usr.sbin/sade/label.c | 30 +++++++++++++++++++++++++++--- usr.sbin/sysinstall/install.c | 4 +++- usr.sbin/sysinstall/label.c | 30 +++++++++++++++++++++++++++--- 7 files changed, 104 insertions(+), 16 deletions(-) diff --git a/release/Makefile b/release/Makefile index 7b7ce6f..c23d8d5 100644 --- a/release/Makefile +++ b/release/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.461 1999/01/25 04:57:07 jkh Exp $ +# $Id: Makefile,v 1.462 1999/01/26 15:22:29 jkh Exp $ # # make release CHROOTDIR=/some/dir BUILDNAME=somename [ RELEASETAG=tag ] # @@ -73,14 +73,18 @@ MNT= /mnt # BOOTSIZE= 1440 FIXITSIZE= 1440 +MFSSIZE= 1440 BOOTINODE= 80000 MFSINODE= 8000 FIXITINODE= 2000 BOOTLABEL= fd1440 FIXITLABEL= fd1440 +MFSLABEL= fd1440 # overrides. .if ${MACHINE_ARCH} == "alpha" +MFSSIZE= 2880 +MFSLABEL= minimum2 FIXITSIZE= 2880 FIXITLABEL= minimum2 .endif @@ -444,8 +448,8 @@ release.8: write_mfs_in_kernel dumpnlist tar xf - -C ${RD}/mfsfd/stand @echo "Compressing doc files..." @gzip -9 ${RD}/mfsfd/stand/help/*.hlp - @sh -e ${.CURDIR}/scripts/doFS.sh -s mfsroot ${RD} ${MNT} \ - ${BOOTSIZE} ${RD}/mfsfd ${MFSINODE} ${BOOTLABEL} + sh -e ${.CURDIR}/scripts/doFS.sh -s mfsroot ${RD} ${MNT} \ + ${MFSSIZE} ${RD}/mfsfd ${MFSINODE} ${MFSLABEL} @gzip -9vc mfsroot > mfsroot.gz @sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/mfsroot.flp \ ${RD} ${MNT} ${BOOTSIZE} mfsroot.gz ${BOOTINODE} ${BOOTLABEL} @@ -674,9 +678,15 @@ doMFSKERN: @gzip -9v ${RD}/image.${FSIMAGE}/kernel @touch ${RD}/image.${FSIMAGE}/kernel.config @rm -f ${RD}/floppies/${FSIMAGE}.flp - @sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/${FSIMAGE}.flp \ +.if defined(_MFSKERN) + sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/${FSIMAGE}.flp \ + ${RD} ${MNT} ${MFSSIZE} ${RD}/image.${FSIMAGE} \ + ${BOOTINODE} ${MFSLABEL} +.else + sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/${FSIMAGE}.flp \ ${RD} ${MNT} ${BOOTSIZE} ${RD}/image.${FSIMAGE} \ ${BOOTINODE} ${BOOTLABEL} +.endif @echo "Created ${RD}/floppies/${FSIMAGE}.flp" .include 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++) { diff --git a/usr.sbin/sade/install.c b/usr.sbin/sade/install.c index 78b2ef6..cdd7eeb 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.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/usr.sbin/sade/label.c b/usr.sbin/sade/label.c index ea49bbe..c43c5f6 100644 --- a/usr.sbin/sade/label.c +++ b/usr.sbin/sade/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++) { diff --git a/usr.sbin/sysinstall/install.c b/usr.sbin/sysinstall/install.c index 78b2ef6..cdd7eeb 100644 --- a/usr.sbin/sysinstall/install.c +++ b/usr.sbin/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/usr.sbin/sysinstall/label.c b/usr.sbin/sysinstall/label.c index ea49bbe..c43c5f6 100644 --- a/usr.sbin/sysinstall/label.c +++ b/usr.sbin/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++) { -- cgit v1.1