atari sysinst md-part

This commit is contained in:
leo 2002-04-12 21:15:52 +00:00
parent 64fdec5519
commit e6531b9a88
5 changed files with 883 additions and 0 deletions

View File

@ -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 File

@ -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 File

@ -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 File

@ -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 File

@ -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.
}