Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-1-5]: src/distrib/utils/sysinst/arch/sparc64 pull up from trunk. ...
details: https://anonhg.NetBSD.org/src/rev/8b83d0bc938c
branches: netbsd-1-5
changeset: 489253:8b83d0bc938c
user: mrg <mrg%NetBSD.org@localhost>
date: Sat Aug 26 00:52:45 2000 +0000
description:
pull up from trunk. approved by thorpej:
>first cut sysinst installer.
diffstat:
distrib/utils/sysinst/arch/sparc64/Makefile | 14 +
distrib/utils/sysinst/arch/sparc64/md.c | 210 +++++++++++++++++++++++++
distrib/utils/sysinst/arch/sparc64/md.h | 110 +++++++++++++
distrib/utils/sysinst/arch/sparc64/menus.md.en | 72 ++++++++
distrib/utils/sysinst/arch/sparc64/menus.md.fr | 73 ++++++++
distrib/utils/sysinst/arch/sparc64/msg.md.en | 77 +++++++++
distrib/utils/sysinst/arch/sparc64/msg.md.fr | 80 +++++++++
7 files changed, 636 insertions(+), 0 deletions(-)
diffs (truncated from 664 to 300 lines):
diff -r 3c1bc53a199c -r 8b83d0bc938c distrib/utils/sysinst/arch/sparc64/Makefile
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/distrib/utils/sysinst/arch/sparc64/Makefile Sat Aug 26 00:52:45 2000 +0000
@@ -0,0 +1,14 @@
+# $NetBSD: Makefile,v 1.1.2.2 2000/08/26 00:52:45 mrg Exp $
+#
+# Makefile for sparc64
+#
+
+# have to have all of them here for crunch ...
+
+SRCS= menu_defs.c msg_defs.c main.c install.c upgrade.c \
+ txtwalk.c run.c factor.c net.c disks.c util.c geom.c \
+ label.c target.c md.c
+
+md.o: menu_defs.h msg_defs.h
+
+.include "../../Makefile.inc"
diff -r 3c1bc53a199c -r 8b83d0bc938c distrib/utils/sysinst/arch/sparc64/md.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/distrib/utils/sysinst/arch/sparc64/md.c Sat Aug 26 00:52:45 2000 +0000
@@ -0,0 +1,210 @@
+/* $NetBSD: md.c,v 1.1.2.2 2000/08/26 00:52:45 mrg Exp $ */
+
+/*
+ * Copyright 1997 Piermont Information Systems Inc.
+ * All rights reserved.
+ *
+ * Based on code written by Philip A. Nelson for Piermont Information
+ * Systems Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed for the NetBSD Project by
+ * Piermont Information Systems Inc.
+ * 4. The name of Piermont Information Systems Inc. may not be used to endorse
+ * or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY PIERMONT INFORMATION SYSTEMS INC. ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL PIERMONT INFORMATION SYSTEMS INC. BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/* changes from the sparc version made by mrg */
+
+/* md.c -- sparc64 machine specific routines */
+/* This file is in close sync with pmax, vax, and x68k, sparc md.c */
+
+#include <sys/types.h>
+#include <sys/disklabel.h>
+#include <sys/ioctl.h>
+#include <sys/param.h>
+#include <stdio.h>
+#include <curses.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <util.h>
+
+#include "defs.h"
+#include "md.h"
+#include "msg_defs.h"
+#include "menu_defs.h"
+#include "bsddisklabel.c"
+
+int
+md_get_info(void)
+{
+ struct disklabel disklabel;
+ int fd;
+ char devname[100];
+
+ snprintf(devname, 100, "/dev/r%sc", diskdev);
+
+ fd = open(devname, O_RDONLY, 0);
+ if (fd < 0) {
+ if (logging)
+ (void)fprintf(log, "Can't open %s\n", devname);
+ endwin();
+ fprintf(stderr, "Can't open %s\n", devname);
+ exit(1);
+ }
+ if (ioctl(fd, DIOCGDINFO, &disklabel) == -1) {
+ if (logging)
+ (void)fprintf(log, "Can't read disklabel on %s.\n",
+ devname);
+ endwin();
+ fprintf(stderr, "Can't read disklabel on %s.\n", devname);
+ close(fd);
+ exit(1);
+ }
+ close(fd);
+
+ dlcyl = disklabel.d_ncylinders;
+ dlhead = disklabel.d_ntracks;
+ dlsec = disklabel.d_nsectors;
+ sectorsize = disklabel.d_secsize;
+ dlcylsize = disklabel.d_secpercyl;
+
+ /*
+ * Compute whole disk size. Take max of (dlcyl*dlhead*dlsec)
+ * and secperunit, just in case the disk is already labelled.
+ * (If our new label's RAW_PART size ends up smaller than the
+ * in-core RAW_PART size value, updating the label will fail.)
+ */
+ dlsize = dlcyl*dlhead*dlsec;
+ if (disklabel.d_secperunit > dlsize)
+ dlsize = disklabel.d_secperunit;
+
+ /* Compute minimum NetBSD partition sizes (in sectors). */
+ minfsdmb = STDNEEDMB * (MEG / sectorsize);
+
+ return 1;
+}
+
+/*
+ * hook called before writing new disklabel.
+ */
+int
+md_pre_disklabel(void)
+{
+ return 0;
+}
+
+/*
+ * hook called after writing disklabel to new target disk.
+ */
+int
+md_post_disklabel(void)
+{
+ return 0;
+}
+
+/*
+ * MD hook called after upgrade() or install() has finished setting
+ * up the target disk but immediately before the user is given the
+ * ``disks are now set up'' message, so that if power fails, they can
+ * continue installation by booting the target disk and doing an
+ * `upgrade'.
+ *
+ * On the sparc, we use this opportunity to install the boot blocks.
+ */
+int
+md_post_newfs(void)
+{
+
+ /* boot blocks ... */
+ msg_display(MSG_dobootblks, diskdev);
+ return (run_prog(0, 1, NULL, "/sbin/disklabel -W %s", diskdev) ||
+ run_prog(0, 1, NULL, "/usr/mdec/binstall ffs /mnt"));
+}
+
+/*
+ * some ports use this to copy the MD filesystem, we do not.
+ */
+int
+md_copy_filesystem(void)
+{
+ return 0;
+}
+
+/*
+ * md back-end code for menu-driven BSD disklabel editor.
+ */
+int
+md_make_bsd_partitions(void)
+{
+ return(make_bsd_partitions());
+}
+
+/*
+ * any additional partition validation
+ */
+int
+md_check_partitions(void)
+{
+ return 1;
+}
+
+/* Upgrade support */
+int
+md_update(void)
+{
+ endwin();
+ md_copy_filesystem();
+ md_post_newfs();
+ puts(CL); /* XXX */
+ wclear(stdscr);
+ wrefresh(stdscr);
+ return 1;
+}
+
+void
+md_cleanup_install(void)
+{
+ char realfrom[STRSIZE];
+ char realto[STRSIZE];
+ char sedcmd[STRSIZE];
+
+ strncpy(realfrom, target_expand("/etc/rc.conf"), STRSIZE);
+ strncpy(realto, target_expand("/etc/rc.conf.install"), STRSIZE);
+
+ sprintf(sedcmd, "sed 's/rc_configured=NO/rc_configured=YES/' < %s > %s",
+ realfrom, realto);
+ if (logging)
+ (void)fprintf(log, "%s\n", sedcmd);
+ if (scripting)
+ (void)fprintf(script, "%s\n", sedcmd);
+ do_system(sedcmd);
+
+ run_prog(1, 0, NULL, "mv -f %s %s", realto, realfrom);
+
+ run_prog(0, 0, NULL, "rm -f %s", target_expand("/sysinst"));
+ run_prog(0, 0, NULL, "rm -f %s", target_expand("/.termcap"));
+ run_prog(0, 0, NULL, "rm -f %s", target_expand("/.profile"));
+}
diff -r 3c1bc53a199c -r 8b83d0bc938c distrib/utils/sysinst/arch/sparc64/md.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/distrib/utils/sysinst/arch/sparc64/md.h Sat Aug 26 00:52:45 2000 +0000
@@ -0,0 +1,110 @@
+/* $NetBSD: md.h,v 1.1.2.2 2000/08/26 00:52:46 mrg Exp $ */
+
+/*
+ * Copyright 1997 Piermont Information Systems Inc.
+ * All rights reserved.
+ *
+ * Based on code written by Philip A. Nelson for Piermont Information
+ * Systems Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed for the NetBSD Project by
+ * Piermont Information Systems Inc.
+ * 4. The name of Piermont Information Systems Inc. may not be used to endorse
+ * or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY PIERMONT INFORMATION SYSTEMS INC. ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL PIERMONT INFORMATION SYSTEMS INC. BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+/* md.h -- Machine specific definitions for the sparc */
+
+/* Constants and defines */
+
+/*
+ * Symbolic names for disk partitions.
+ */
+#define PART_ROOT A
+#define PART_SWAP B
+#define PART_RAW C
+#define PART_USR G /* Can be after PART_FIRST_FREE */
+#define PART_FIRST_FREE D
+
+#define DEFSWAPRAM 64 /* Assume at least this RAM for swap calc */
+#define DEFROOTSIZE 64 /* Default root size */
+#define STDNEEDMB 150 /* Min space for non X install */
+#define XNEEDMB 60 /* Extra megs for full X installation */
+
+/*
+ * Default filesets to fetch and install during installation
+ * or upgrade.
+ */
+EXTERN distinfo dist_list[]
+#ifdef MAIN
+= {
Home |
Main Index |
Thread Index |
Old Index