Skip to content
Browse files

atari sysinst md-part

  • Loading branch information...
1 parent 8d871b4 commit 1e4f427c1840d4f969996a470d93cf6bedcd5f3a leo committed Apr 12, 2002
View
14 distrib/utils/sysinst/arch/atari/Makefile
@@ -0,0 +1,14 @@
+# $NetBSD: Makefile,v 1.1.1.1 2002/04/12 21:15:52 leo Exp $
+#
+# Makefile for atari
+#
+
+# 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 disks_lfs.c util.c geom.c \
+ label.c target.c md.c
+
+fdisk.o md.o: menu_defs.h msg_defs.h
+
+.include "../../Makefile.inc"
View
535 distrib/utils/sysinst/arch/atari/md.c
@@ -0,0 +1,535 @@
+/* $NetBSD: md.c,v 1.1.1.1 2002/04/12 21:15:52 leo Exp $ */
+
+/*
+ * Copyright 1997 Piermont Information Systems Inc.
+ * All rights reserved.
+ *
+ * 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.c -- Machine specific code for atari */
+
+#include <stdio.h>
+#include <util.h>
+#include <sys/param.h>
+#include <machine/cpu.h>
+#include <sys/sysctl.h>
+#include "defs.h"
+#include "md.h"
+#include "msg_defs.h"
+#include "menu_defs.h"
+
+
+int c1024_resp;
+struct disklist *disklist = NULL;
+
+//int defbootselpart, defbootseldisk;
+
+
+/* prototypes */
+int make_bsd_partitions (void);
+
+
+
+/*
+ * md back-end code for menu-driven BSD disklabel editor.
+ */
+int
+make_bsd_partitions(void)
+{
+ int i, part;
+ int freepart;
+ int remain;
+ char isize[20];
+ int maxpart = getmaxpartitions();
+ struct disklabel l;
+ int varsz = 0, swapsz = 0;
+
+ /*
+ * Initialize global variables that track space used on this disk.
+ * Standard 4.4BSD 8-partition labels always cover whole disk.
+ */
+ ptsize = dlsize - ptstart;
+ fsdsize = dlsize; /* actually means `whole disk' */
+ fsptsize = dlsize - ptstart; /* netbsd partition -- same as above */
+ fsdmb = fsdsize / MEG;
+
+ rammb = (ramsize + MEG - 1) / MEG;
+ minfsdmb = (80 + 4*rammb) * (MEG / sectorsize);
+
+ /* Ask for layout type -- standard or special */
+ msg_display(MSG_md_layout,
+ (1.0*fsptsize*sectorsize)/MEG,
+ (1.0*minfsdmb*sectorsize)/MEG,
+ (1.0*minfsdmb*sectorsize)/MEG+rammb+XNEEDMB);
+ process_menu(MENU_md_layout);
+
+ if (layoutkind == 3)
+ ask_sizemult(dlcylsize);
+ else
+ md_set_sizemultname();
+
+ /* Build standard partitions */
+ emptylabel(bsdlabel);
+
+ /* Set initial partition types to unused */
+ for (part = 0 ; part < maxpart ; ++part)
+ bsdlabel[part].pi_fstype = FS_UNUSED;
+
+ /* We _always_ have a root partition */
+ bsdlabel[PART_ROOT].pi_fstype = FS_BSDFFS;
+
+ /* Whole disk partition */
+ bsdlabel[PART_RAW].pi_offset = 0;
+ bsdlabel[PART_RAW].pi_size = dlsize;
+
+#ifdef PART_BSDRAW /* BSD area of the disk - only on some (i386) ports */
+ bsdlabel[PART_BSDRAW].pi_offset = ptstart;
+ bsdlabel[PART_BSDRAW].pi_size = fsptsize;
+#endif
+
+ switch (layoutkind) {
+ case 1: /* standard: a root, b swap, c "unused", PART_USR /usr */
+ case 2: /* standard X: as above, but with larger swap, and more
+ * space in /usr */
+ partstart = ptstart;
+
+ /*
+ * Defaults:
+ * root - always (PART_ROOT)
+ * swap - ask, default (PART_SWAP)
+ * /usr - ask, default (PART_USR)
+ * /var - ask (PART_FIRST_FREE != PART_USR)
+ * /home - ask (PART_FIRST_FREE+1 != PART_USR)
+ * /tmp - ask mfs
+ */
+ layout_swap = layout_usr = 1;
+ layout_var = layout_home = layout_tmp = 0;
+ freepart = PART_FIRST_FREE;
+ process_menu(MENU_layoutparts);
+
+ /* Root */
+ if (layout_usr == 0 && layout_home == 0) {
+ if (layout_swap) {
+ i = NUMSEC(layoutkind * 2 *
+ (rammb < DEFSWAPRAM ? DEFSWAPRAM : rammb),
+ MEG/sectorsize, dlcylsize);
+ swapsz = NUMSEC(i/(MEG/sectorsize)+1,
+ MEG/sectorsize, dlcylsize);
+ }
+ if (layout_var)
+ varsz = NUMSEC(DEFVARSIZE, MEG/sectorsize,
+ dlcylsize);
+ partsize = ptsize - swapsz - varsz;
+ } else if (layout_usr)
+ partsize = NUMSEC(DEFROOTSIZE, MEG/sectorsize,
+ dlcylsize);
+ else if (layoutkind == 2)
+ partsize = NUMSEC(STDNEEDMB + XNEEDMB, MEG/sectorsize,
+ dlcylsize);
+ else
+ partsize = NUMSEC(STDNEEDMB, MEG/sectorsize, dlcylsize);
+
+ bsdlabel[PART_ROOT].pi_offset = partstart;
+ bsdlabel[PART_ROOT].pi_size = partsize;
+ bsdlabel[PART_ROOT].pi_bsize = 8192;
+ bsdlabel[PART_ROOT].pi_fsize = 1024;
+ strcpy(fsmount[PART_ROOT], "/");
+ partstart += partsize;
+#if notyet
+ if (partstart > ptsize)
+ error ...
+#endif
+
+ /* swap */
+ if (layout_swap) {
+ if (swapsz)
+ partsize = swapsz;
+ else {
+ i = NUMSEC(layoutkind * 2 *
+ (rammb < DEFSWAPRAM ? DEFSWAPRAM : rammb),
+ MEG/sectorsize, dlcylsize) + partstart;
+ partsize = NUMSEC(i/(MEG/sectorsize)+1,
+ MEG/sectorsize, dlcylsize) - partstart;
+ }
+ bsdlabel[PART_SWAP].pi_fstype = FS_SWAP;
+ bsdlabel[PART_SWAP].pi_offset = partstart;
+ bsdlabel[PART_SWAP].pi_size = partsize;
+ partstart += partsize;
+#if notyet
+ if (partstart > ptsize)
+ error ...
+#endif
+ }
+
+ /* var */
+ if (layout_var) {
+ if (varsz)
+ partsize = varsz;
+ else
+ partsize = NUMSEC(DEFVARSIZE, MEG/sectorsize,
+ dlcylsize);
+ bsdlabel[freepart].pi_fstype = FS_BSDFFS;
+ bsdlabel[freepart].pi_offset = partstart;
+ bsdlabel[freepart].pi_size = partsize;
+ bsdlabel[freepart].pi_bsize = 8192;
+ bsdlabel[freepart].pi_fsize = 1024;
+ strcpy(fsmount[freepart++], "/var");
+ if (freepart == PART_USR)
+ freepart++;
+ partstart += partsize;
+#if notyet
+ if (partstart > ptsize)
+ error ...
+#endif
+ }
+
+ /* /usr */
+ if (layout_usr) {
+ if (layout_home) {
+ if (layoutkind == 2)
+ partsize = NUMSEC(DEFUSRSIZE + XNEEDMB,
+ MEG/sectorsize, dlcylsize);
+ else
+ partsize = NUMSEC(DEFUSRSIZE,
+ MEG/sectorsize, dlcylsize);
+ } else
+ partsize = fsdsize - partstart;
+ bsdlabel[PART_USR].pi_fstype = FS_BSDFFS;
+ bsdlabel[PART_USR].pi_offset = partstart;
+ bsdlabel[PART_USR].pi_size = partsize;
+ bsdlabel[PART_USR].pi_bsize = 8192;
+ bsdlabel[PART_USR].pi_fsize = 1024;
+ strcpy(fsmount[PART_USR], "/usr");
+ partstart += partsize;
+#if notyet
+ if (partstart > ptsize)
+ error ...
+#endif
+ }
+
+ /* home */
+ if (layout_home) {
+ partsize = fsdsize - partstart;
+ bsdlabel[freepart].pi_fstype = FS_BSDFFS;
+ bsdlabel[freepart].pi_offset = partstart;
+ bsdlabel[freepart].pi_size = partsize;
+ bsdlabel[freepart].pi_bsize = 8192;
+ bsdlabel[freepart].pi_fsize = 1024;
+ strcpy(fsmount[freepart++], "/home");
+ if (freepart == PART_USR)
+ freepart++;
+ partstart += partsize;
+#if notyet
+ if (partstart > ptsize)
+ error ...
+#endif
+ }
+
+ break;
+
+ case 3: /* custom: ask user for all sizes */
+ ask_sizemult(dlcylsize);
+ /* root */
+ partstart = ptstart;
+ remain = fsdsize - partstart;
+ partsize = NUMSEC(DEFROOTSIZE, MEG/sectorsize, dlcylsize);
+ snprintf(isize, 20, "%d", partsize/sizemult);
+ msg_prompt(MSG_askfsroot, isize, isize, 20,
+ remain/sizemult, multname);
+ partsize = NUMSEC(atoi(isize),sizemult, dlcylsize);
+ /* If less than a 'unit' left, also use it */
+ if (remain - partsize < sizemult)
+ partsize = remain;
+ bsdlabel[PART_ROOT].pi_offset = partstart;
+ bsdlabel[PART_ROOT].pi_size = partsize;
+ bsdlabel[PART_ROOT].pi_bsize = 8192;
+ bsdlabel[PART_ROOT].pi_fsize = 1024;
+ strcpy(fsmount[PART_ROOT], "/");
+ partstart += partsize;
+
+ /* swap */
+ remain = fsdsize - partstart;
+ if (remain > 0) {
+ i = NUMSEC(2 *
+ (rammb < DEFSWAPRAM ? DEFSWAPRAM : rammb),
+ MEG/sectorsize, dlcylsize) + partstart;
+ partsize = NUMSEC(i/(MEG/sectorsize)+1, MEG/sectorsize,
+ dlcylsize) - partstart;
+ if (partsize > remain)
+ partsize = remain;
+ snprintf(isize, 20, "%d", partsize/sizemult);
+ msg_prompt_add(MSG_askfsswap, isize, isize, 20,
+ remain/sizemult, multname);
+ partsize = NUMSEC(atoi(isize),sizemult, dlcylsize);
+ if (partsize) {
+ /* If less than a 'unit' left, also use it */
+ if (remain - partsize < sizemult)
+ partsize = remain;
+ bsdlabel[PART_SWAP].pi_fstype = FS_SWAP;
+ bsdlabel[PART_SWAP].pi_offset = partstart;
+ bsdlabel[PART_SWAP].pi_size = partsize;
+ partstart += partsize;
+ }
+ }
+
+ /* /usr */
+ remain = fsdsize - partstart;
+ if (remain > 0) {
+ partsize = remain;
+ snprintf(isize, 20, "%d", partsize/sizemult);
+ msg_prompt_add(MSG_askfsusr, isize, isize, 20,
+ remain/sizemult, multname);
+ partsize = NUMSEC(atoi(isize),sizemult, dlcylsize);
+ if (partsize) {
+ /* If less than a 'unit' left, also use it */
+ if (remain - partsize < sizemult)
+ partsize = remain;
+ bsdlabel[PART_USR].pi_fstype = FS_BSDFFS;
+ bsdlabel[PART_USR].pi_offset = partstart;
+ bsdlabel[PART_USR].pi_size = partsize;
+ bsdlabel[PART_USR].pi_bsize = 8192;
+ bsdlabel[PART_USR].pi_fsize = 1024;
+ strcpy(fsmount[PART_USR], "/usr");
+ partstart += partsize;
+ }
+ }
+
+ /* Others ... */
+ remain = fsdsize - partstart;
+ if (remain > 0)
+ msg_display(MSG_otherparts);
+ part = PART_FIRST_FREE;
+ for (; remain > 0 && part < maxpart; ++part ) {
+ if (bsdlabel[part].pi_fstype != FS_UNUSED)
+ continue;
+ partsize = fsdsize - partstart;
+ snprintf(isize, 20, "%d", partsize/sizemult);
+ msg_prompt_add(MSG_askfspart, isize, isize, 20,
+ diskdev, partition_name(part),
+ remain/sizemult, multname);
+ partsize = NUMSEC(atoi(isize),sizemult, dlcylsize);
+ /* If less than a 'unit' left, also use it */
+ if (remain - partsize < sizemult)
+ partsize = remain;
+ bsdlabel[part].pi_fstype = FS_BSDFFS;
+ bsdlabel[part].pi_offset = partstart;
+ bsdlabel[part].pi_size = partsize;
+ bsdlabel[part].pi_bsize = 8192;
+ bsdlabel[part].pi_fsize = 1024;
+ msg_prompt_add(MSG_mountpoint, NULL, fsmount[part],
+ 20);
+ partstart += partsize;
+ remain = fsdsize - partstart;
+ }
+
+ break;
+
+ case 4: /* use existing disklabel */
+
+ if (get_real_geom(diskdev, &l) == 0) {
+ msg_display(MSG_abort); /* XXX more informative */
+ return 0;
+ }
+
+ for (i = 0; i < maxpart; i++) {
+#define p l.d_partitions[i]
+ bsdlabel[i].pi_size = p.p_size;
+ bsdlabel[i].pi_offset = p.p_offset;
+ if ((i == PART_ROOT) && (p.p_size > 0))
+ strcpy(fsmount[PART_ROOT], "/");
+ if (i != RAW_PART) {
+ bsdlabel[i].pi_fstype = p.p_fstype;
+ bsdlabel[i].pi_bsize = p.p_fsize * p.p_frag;
+ bsdlabel[i].pi_fsize = p.p_fsize;
+ /* menu to get fsmount[] entry */
+#undef p
+ } else
+ bsdlabel[i].pi_fstype = FS_UNUSED;
+ }
+ msg_display(MSG_postuseexisting);
+ getchar();
+ break;
+ }
+
+ /*
+ * OK, we have a partition table. Give the user the chance to
+ * edit it and verify it's OK, or abort altogether.
+ */
+ edit_check:
+ if (edit_and_check_label(bsdlabel, maxpart, RAW_PART, RAW_PART) == 0) {
+ msg_display(MSG_abort);
+ return 0;
+ }
+ if (md_check_partitions() == 0)
+ goto edit_check;
+
+ /* Disk name */
+ msg_prompt(MSG_packname, "mydisk", bsddiskname, DISKNAME_SIZE);
+
+ /*
+ * Setup the disktype so /etc/disktab gets proper info
+ */
+ if (strncmp (disk->dd_name, "sd", 2) == 0)
+ disktype = "SCSI";
+ else disktype = "ST506";
+
+ /* save label to disk for MI code to update. */
+ (void) savenewlabel(bsdlabel, maxpart);
+
+ /* Everything looks OK. */
+ return (1);
+}
+
+/*
+ * any additional partition validation
+ */
+int
+md_check_partitions(void)
+{
+ return 1;
+}
+
+int
+md_get_info()
+{
+ return 1;
+}
+
+int
+md_pre_disklabel()
+{
+ return 0;
+}
+
+int
+md_post_disklabel(void)
+{
+ return 0;
+}
+
+int
+md_post_newfs(void)
+{
+ /* boot blocks ... */
+ msg_display(MSG_dobootblks, diskdev);
+ return run_prog(RUN_DISPLAY, NULL,
+ "/usr/mdec/installboot -v /dev/r%sc",
+ diskdev);
+}
+
+int
+md_copy_filesystem(void)
+{
+ return 0;
+}
+
+/*
+ * md back-end code for menu-driven BSD disklabel editor.
+ */
+int
+md_make_bsd_partitions(void)
+{
+
+ msg_display(MSG_infoahdilabel, diskdev);
+ process_menu(MENU_md_noyes);
+ if (yesno) {
+ run_prog(RUN_DISPLAY, NULL, "ahdilabel /dev/r%sc", diskdev);
+ }
+ return(make_bsd_partitions());
+}
+
+/* Upgrade support */
+int
+md_update(void)
+{
+ endwin();
+ md_copy_filesystem();
+ md_post_newfs();
+ wrefresh(curscr);
+ wmove(stdscr, 0, 0);
+ 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);
+ scripting_fprintf(log, "%s\n", sedcmd);
+ do_system(sedcmd);
+
+ run_prog(RUN_FATAL, NULL, "mv -f %s %s", realto, realfrom);
+ run_prog(0, NULL, "rm -f %s", target_expand("/sysinst"));
+ run_prog(0, NULL, "rm -f %s", target_expand("/.termcap"));
+ run_prog(0, NULL, "rm -f %s", target_expand("/.profile"));
+}
+
+int
+md_pre_update()
+{
+ return 1;
+}
+
+void
+md_init()
+{
+}
+
+void
+md_set_sizemultname()
+{
+
+ set_sizemultname_meg();
+}
+
+void
+md_set_no_x()
+{
+
+ toggle_getit (8);
+ toggle_getit (9);
+ toggle_getit (10);
+ toggle_getit (11);
+ toggle_getit (12);
+ toggle_getit (13);
+}
View
138 distrib/utils/sysinst/arch/atari/md.h
@@ -0,0 +1,138 @@
+/* $NetBSD: md.h,v 1.1.1.1 2002/04/12 21:15:52 leo Exp $ */
+
+/*
+ * Copyright 1997 Piermont Information Systems Inc.
+ * All rights reserved.
+ *
+ * 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 atari */
+
+
+#include <machine/cpu.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+/* constants and defines */
+#define PART_ROOT A
+#define PART_SWAP B
+#define PART_RAW C
+#define PART_USR D /* Can be after PART_FIRST_FREE */
+#define PART_FIRST_FREE E
+
+#define DEFSWAPRAM 32 /* Assume at least this RAM for swap calc */
+#define DEFROOTSIZE 20 /* Default root size */
+#define DEFVARSIZE 32 /* Default /var size, if created */
+#define DEFUSRSIZE 70 /* Default /usr size, if /home */
+#define STDNEEDMB 80 /* Min space for non X install */
+#define XNEEDMB 50 /* Extra megs for full X installation */
+
+/*
+ * Default filesets to fetch and install during installation
+ * or upgrade. The standard sets are:
+ * base, etc, comp, games, man, misc, text,
+ * xbase, xfont, xserver, xcontrib, xcomp.
+ *
+ * Third entry is the last extension name in the split sets for loading
+ * from floppy.
+ */
+EXTERN distinfo dist_list[]
+#ifdef MAIN
+= {
+ {"kern-GENERIC", 1, "ag", "Kernel : "},
+ {"base", 1, "bw", "Base : "},
+ {"etc", 1, "aa", "System (/etc): "},
+ {"comp", 1, "bl", "Compiler : "},
+ {"games", 1, "am", "Games : "},
+ {"man", 1, "ar", "Manuals : "},
+ {"misc", 1, "aj", "Miscellaneous: "},
+ {"text", 1, "af", "Text tools : "},
+
+ /* XXX no X11 on floppies, what sets are they?*/
+ {"xbase", 1, "al", "X11 clients : "},
+ {"xfont", 1, "az", "X11 fonts : "},
+ {"xserver", 1, "cr", "X11 servers : "},
+ {"xcontrib", 1, "aa", "X11 contrib : "},
+ {"xcomp", 1, "ah", "X programming: "},
+ {"xmisc", 1, NULL, "X11 Misc. : "},
+ {NULL, 0, NULL, NULL }
+}
+#endif
+;
+
+/*
+ * Disk names accepted as valid targets for a from-scratch installation.
+ */
+EXTERN char *disk_names[]
+#ifdef MAIN
+= {"wd", "sd", NULL}
+#endif
+;
+
+
+/*
+ * Legal start character for a disk for checking input.
+ * this must return 1 for a character that matches the first
+ * characters of each member of disk_names.
+ *
+ * On atari, that means matching 's' or 'w'
+ */
+#define ISDISKSTART(dn) (dn == 'w' || dn == 's')
+
+/*
+ * Machine-specific command to write a new label to a disk.
+ * For example, i386 uses "/sbin/disklabel -w -r", just like i386
+ * miniroot scripts, though this may leave a bogus incore label.
+ * Sun ports should probably use DISKLABEL_CMD "/sbin/disklabel -w"
+ * to get incore to ondisk inode translation for the Sun proms.
+ * If not defined, we assume the port does not support disklabels and
+ * hand-edited disklabel will NOT be written by MI code.
+ *
+ */
+#define DISKLABEL_CMD "disklabel -w"
+
+
+/*
+ * Default fileystem type for floppy disks.
+ * On atari, that is msdos.
+ */
+EXTERN char *fdtype INIT("msdos");
+
+extern struct disklist *disklist;
+extern struct nativedisk_info *nativedisk;
+
+/*
+ * prototypes for MD code.
+ */
View
91 distrib/utils/sysinst/arch/atari/menus.md.en
@@ -0,0 +1,91 @@
+/* $NetBSD: menus.md.en,v 1.1.1.1 2002/04/12 21:15:52 leo Exp $ */
+
+/*
+ * Copyright 1997 Piermont Information Systems Inc.
+ * All rights reserved.
+ *
+ * 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.
+ *
+ */
+
+/* Menu definitions for sysinst. atari version, machine dependent. */
+
+menu editfsparts, y=13, exit;
+ display action {
+ ask_sizemult(dlcylsize);
+ msg_display(MSG_fspart, multname);
+ disp_cur_fspart(-1, 1);
+ };
+ option "Change a", action { editpart = A;}, sub menu edfspart;
+ option "Change b", action { editpart = B;}, sub menu edfspart;
+ option "NetBSD partition - can't change", action {};
+ option "Change d", action { editpart = D;}, sub menu edfspart;
+ option "Change e", action { editpart = E;}, sub menu edfspart;
+ option "Change f", action { editpart = F;}, sub menu edfspart;
+ option "Change g", action { editpart = G;}, sub menu edfspart;
+ option "Change h", action { editpart = H;}, sub menu edfspart;
+ option "Change i", action { editpart = I;}, sub menu edfspart;
+ option "Change j", action { editpart = J;}, sub menu edfspart;
+ option "Change k", action { editpart = K;}, sub menu edfspart;
+ option "Change l", action { editpart = L;}, sub menu edfspart;
+ option "Change m", action { editpart = M;}, sub menu edfspart;
+ option "Change n", action { editpart = N;}, sub menu edfspart;
+ option "Change o", action { editpart = O;}, sub menu edfspart;
+ option "Change p", action { editpart = P;}, sub menu edfspart;
+ option "Set new allocation size", action { reask_sizemult(dlcylsize); };
+
+
+menu md_distcustom, y=3, exit, title "Selection toggles inclusion";
+ display action { show_cur_distsets (); };
+ option "Kernel (GENERIC)", action { toggle_getit (0); };
+ option "Base", action { toggle_getit (1); };
+ option "System (/etc)", action { toggle_getit (2); };
+ option "Compiler Tools", action { toggle_getit (3); };
+ option "Games", action { toggle_getit (4); };
+ option "Online Manual Pages", action { toggle_getit (5); };
+ option "Miscellaneous", action { toggle_getit (6); };
+ option "Text Processing Tools", action { toggle_getit (7); };
+ option "X11 base and clients", action { toggle_getit (8); };
+ option "X11 fonts", action { toggle_getit (9); };
+ option "X11 servers", action { toggle_getit (10); };
+ option "X contrib clients", action { toggle_getit (11); };
+ option "X11 programming", action { toggle_getit (12); };
+ option "X11 Misc.", action { toggle_getit (13); };
+
+menu md_layout, y=16, title "Choose your installation";
+ option "Standard", exit, action { layoutkind = 1; md_set_no_x(); };
+ option "Standard with X", exit, action { layoutkind = 2; };
+ option "Custom", exit, action { layoutkind = 3; };
+ option "Use Existing", exit, action { layoutkind = 4; };
+
+menu md_noyes, y=18, title "yes or no?";
+ option "No", exit, action {yesno = 0;};
+ option "Yes", exit, action {yesno = 1;};
View
105 distrib/utils/sysinst/arch/atari/msg.md.en
@@ -0,0 +1,105 @@
+/* $NetBSD: msg.md.en,v 1.1.1.1 2002/04/12 21:15:52 leo Exp $ */
+
+/*
+ * Copyright 1997 Piermont Information Systems Inc.
+ * All rights reserved.
+ *
+ * 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 Message catalog -- english, atari version */
+
+message md_hello
+{If you booted from a floppy, you may now remove the disk.
+
+}
+
+message dobootblks
+{Installing boot blocks on %s....
+}
+
+message askfsroot
+{I will be asking for partition sizes and on some, mount points.
+
+First the root partition. You have %d %s left on your disk.
+Root partition size? }
+
+message askfsswap
+{
+Next the swap partition. You have %d %s left on your disk.
+Swap partition size? }
+
+message askfsusr
+{
+Next the /usr partition. You have %d %s left on your disk.
+/usr partition size? }
+
+message otherparts
+{You still have some space remaining unallocated on your disk. Please
+give sizes and mount points for the following partitions.
+
+}
+
+message askfspart
+{The next partition is /dev/%s%c. You have %d %s left on your disk.
+Partition size? }
+
+message infoahdilabel
+{You now have to prepare your root disk for the installation of NetBSD. This
+is further referred to as 'labeling' a disk.
+
+First you get the chance to edit or create an AHDI compatible partitioning on
+the installation disk. Note that NetBSD can do without AHDI partitions,
+check the documentation.
+If you want to use an AHDI compatible partitioning, you have to assign some
+partitions to NetBSD before NetBSD is able to use the disk. Change the 'id'
+of all partitions you want to use for NetBSD filesystems to 'NBD'. Change
+the 'id' of the partition you wish to use for swap to 'SWP'.
+
+Do you want AHDI compatible partitioning? }
+
+message md_layout
+{NetBSD uses a BSD disklabel to carve up the NetBSD portion of the disk
+into multiple BSD partitions. You must now set up your BSD disklabel.
+You have several choices. They are summarized below.
+-- Standard: the BSD disklabel partitions are computed by this program.
+-- Standard with X: twice the swap space, space for X binaries.
+-- Custom: you specify the sizes of all the BSD disklabel partitions.
+-- Use existing: use current partitions. You must assign mount points.
+
+Note: If you wish the NetBSD label and an AHDI compatible label to co-exist
+on the same disk, you must use the existing layout!
+
+The NetBSD part of your disk is %.2f Megabytes.
+Standard requires at least %.2f Megabytes.
+Standard with X requires at least %.2f Megabytes.
+}

0 comments on commit 1e4f427

Please sign in to comment.
Something went wrong with that request. Please try again.