From e6531b9a8898f47ab8cdf8f91492ae5c524f9f34 Mon Sep 17 00:00:00 2001 From: leo Date: Fri, 12 Apr 2002 21:15:52 +0000 Subject: [PATCH] atari sysinst md-part --- distrib/utils/sysinst/arch/atari/Makefile | 14 + distrib/utils/sysinst/arch/atari/md.c | 535 +++++++++++++++++++ distrib/utils/sysinst/arch/atari/md.h | 138 +++++ distrib/utils/sysinst/arch/atari/menus.md.en | 91 ++++ distrib/utils/sysinst/arch/atari/msg.md.en | 105 ++++ 5 files changed, 883 insertions(+) create mode 100644 distrib/utils/sysinst/arch/atari/Makefile create mode 100644 distrib/utils/sysinst/arch/atari/md.c create mode 100644 distrib/utils/sysinst/arch/atari/md.h create mode 100644 distrib/utils/sysinst/arch/atari/menus.md.en create mode 100644 distrib/utils/sysinst/arch/atari/msg.md.en diff --git a/distrib/utils/sysinst/arch/atari/Makefile b/distrib/utils/sysinst/arch/atari/Makefile new file mode 100644 index 000000000000..951547ed16a8 --- /dev/null +++ b/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" diff --git a/distrib/utils/sysinst/arch/atari/md.c b/distrib/utils/sysinst/arch/atari/md.c new file mode 100644 index 000000000000..1f0f140046af --- /dev/null +++ b/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 +#include +#include +#include +#include +#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); +} diff --git a/distrib/utils/sysinst/arch/atari/md.h b/distrib/utils/sysinst/arch/atari/md.h new file mode 100644 index 000000000000..8e28123cd319 --- /dev/null +++ b/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 +#include +#include +#include +#include + +/* 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. + */ diff --git a/distrib/utils/sysinst/arch/atari/menus.md.en b/distrib/utils/sysinst/arch/atari/menus.md.en new file mode 100644 index 000000000000..75d9d889d9a7 --- /dev/null +++ b/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;}; diff --git a/distrib/utils/sysinst/arch/atari/msg.md.en b/distrib/utils/sysinst/arch/atari/msg.md.en new file mode 100644 index 000000000000..37c6f21917a3 --- /dev/null +++ b/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. +}