playstation2 support

This commit is contained in:
uch 2001-10-15 16:22:50 +00:00
parent 9138cb0511
commit 0cbd019fc3
23 changed files with 2933 additions and 2 deletions

View File

@ -0,0 +1,32 @@
# $NetBSD: Makefile,v 1.1 2001/10/15 16:22:50 uch Exp $
.include "../Makefile.inc"
.include <bsd.own.mk>
.include <bsd.obj.mk>
.include <bsd.kernobj.mk>
SUBDIR=
ITARGET= ${RELEASEDIR}/installation
IINST= ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} \
-o ${BINOWN} -g ${BINGRP} -m ${NONBINMODE}
.ifndef RELEASEDIR
release:
@echo setenv RELEASEDIR first
@false
.else
MINIROOTDIR = ${.CURDIR}/../miniroot
MINIROOTOBJ != cd ${MINIROOTDIR}; ${MAKE} print-objdir
release:
rm -f netbsd netbsd.gz
cp ${KERNOBJDIR}/RAMDISK/netbsd .
mdsetimage netbsd ${MINIROOTOBJ}/miniroot.fs
gzip -9 netbsd
${IINST} netbsd.gz ${ITARGET}/.
${.CURDIR}/../sets/makesums -t ${ITARGET} '*.gz'
.endif
.include <bsd.subdir.mk>

View File

@ -0,0 +1,4 @@
# $NetBSD: Makefile.inc,v 1.1 2001/10/15 16:22:50 uch Exp $
REV!=sh ${.CURDIR}/../../../sys/conf/osrelease.sh -s
VER!=sh ${.CURDIR}/../../../sys/conf/osrelease.sh

View File

@ -0,0 +1,4 @@
# $NetBSD: Makefile.inc,v 1.1 2001/10/15 16:22:50 uch Exp $
VND=vnd0d
IMAGESIZE=10240

View File

@ -0,0 +1,74 @@
# $NetBSD: dot.profile,v 1.1 2001/10/15 16:22:50 uch Exp $
#
# Copyright (c) 1997 Perry E. Metzger
# Copyright (c) 1994 Christopher G. Demetriou
# All rights reserved.
#
# 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. See http://www.netbsd.org/ for
# information about NetBSD.
# 4. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 THE AUTHOR 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.
#
# <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>>
PATH=/sbin:/bin:/usr/bin:/usr/sbin:/
export PATH
TERM=vt100
export TERM
HOME=/
export HOME
BLOCKSIZE=1k
export BLOCKSIZE
EDITOR=ed
export EDITOR
umask 022
ROOTDEV=/dev/md0a
if [ "X${DONEPROFILE}" = "X" ]; then
DONEPROFILE=YES
export DONEPROFILE
# set up some sane defaults
echo 'erase ^?, werase ^W, kill ^U, intr ^C'
stty newcrt werase ^W intr ^C kill ^U erase ^? 9600
echo ''
# mount the ramdisk read write
mount -u $ROOTDEV /
# mount the kern_fs so that we can examine the dmesg state
mount -t kernfs /kern /kern
# pull in the functions that people will use from the shell prompt.
# . /.commonutils
# . /.instutils
dmesg() cat /kern/msgbuf
grep() sed -n "/$1/p"
# run the installation or upgrade script.
sysinst
fi

View File

@ -0,0 +1,100 @@
# $NetBSD: list,v 1.1 2001/10/15 16:22:50 uch Exp $
# playstation2 extra's: mountpoint for kernfs
SPECIAL mkdir kern
# extras in bin
LINK instbin bin/csh
LINK instbin bin/date
LINK instbin bin/rcp
LINK instbin bin/rcmd
# extras in sbin
LINK instbin sbin/disklabel
LINK instbin sbin/fdisk
LINK instbin sbin/mount_ext2fs
LINK instbin sbin/fsck_ext2fs
LINK instbin sbin/mount_kernfs
LINK instbin sbin/mount_msdos
# extras in /usr.bin
SYMLINK ../../instbin usr/bin/netstat
SYMLINK ../../instbin usr/bin/rsh
SYMLINK ../../instbin usr/bin/tset usr/bin/reset
SYMLINK ../../instbin usr/bin/vi
# OK, now do everything in /usr all over all again in usr.install,
# in case we try and install directly into the miniroot (mounting over /usr).
# local usr.bin
SPECIAL mkdir usr.install
SPECIAL mkdir usr.install/bin
SPECIAL mkdir usr.install/sbin
SPECIAL ln -s ../../instbin usr.install/bin/chflags
SPECIAL ln -s ../../instbin usr.install/bin/chgrp
SPECIAL ln -s ../../instbin usr.install/bin/ftp
SPECIAL ln -s ../../instbin usr.install/bin/gunzip
SPECIAL ln -s ../../instbin usr.install/bin/gzcat
SPECIAL ln -s ../../instbin usr.install/bin/gzip
SPECIAL ln -s ../../instbin usr.install/bin/netstat
SPECIAL ln -s ../../instbin usr.install/bin/sort
SPECIAL ln -s ../../instbin usr.install/bin/tar
SPECIAL ln -s ../../instbin usr.install/bin/tip
SPECIAL ln -s ../../instbin usr.install/bin/vi
# local usr.sbin
SPECIAL ln -s ../../instbin usr.install/sbin/chroot
SPECIAL ln -s ../../instbin usr.install/sbin/chown
# crunchgen source directory specials: progs built in nonstandard places
CRUNCHSPECIAL vi srcdir usr.bin/vi/build
CRUNCHSPECIAL sysinst srcdir distrib/utils/sysinst/arch/playstation2
# Minimize use of MFS
SYMLINK /tmp var/tmp
# copy the MAKEDEV script and make some devices
COPY ${DESTDIR}/dev/MAKEDEV dev/MAKEDEV
COPY ${DESTDIR}/dev/MAKEDEV.local dev/MAKEDEV.local
SPECIAL cd dev; sh MAKEDEV all
SPECIAL /bin/rm dev/MAKEDEV dev/MAKEDEV.local
# we need the contents of /usr/mdec
COPYDIR ${DESTDIR}/usr/mdec /usr/mdec
# the zoneinfo (dont use)
#COPYDIR ${DESTDIR}/usr/share/zoneinfo usr/share/zoneinfo
# and the termcap file
COPY ${CURDIR}/../playstation2/miniroot/termcap.vt100 usr/share/misc/termcap
# copy the kernel(s)
#COPY ${CURDIR}/../../sys/arch/playstation2/compile/GENERIC/netbsd netbsd
# various files that we need in /etc for the install
#COPY ${DESTDIR}/etc/disktab etc/disktab.shadow
COPY ${DESTDIR}/etc/spwd.db etc/spwd.db
LINK etc/spwd.db etc/pwd.db
#SYMLINK /tmp/disktab.shadow etc/disktab
#SYMLINK /tmp/fstab.shadow etc/fstab
#SYMLINK /tmp/resolv.conf.shadow etc/resolv.conf
#SYMLINK /tmp/hosts etc/hosts
# sysinst needs disktab template
COPY ${DESTDIR}/etc/disktab etc/disktab.preinstall
# and the installation tools
COPY ${ARCHDIR}/dot.profile .profile
LINK instbin sbin/sysinst
# and a spare .profile
COPY ${DESTDIR}/.profile tmp/.hdprofile
#the lists of obsolete files used by sysinst
SPECIAL sh ${CURDIR}/../../distrib/sets/makeobsolete -b -s ${CURDIR}/../../distrib/sets -t ./dist

View File

@ -0,0 +1,29 @@
# $NetBSD: termcap.vt100,v 1.1 2001/10/15 16:22:50 uch Exp $
#
# termcap for vt100 console(wscons)
# From:
######## TERMINAL TYPE DESCRIPTIONS SOURCE FILE
#
# Version 9.13.25
# termcap syntax
#
# Eric S. Raymond (current maintainer)
# John Kunze, Berkeley
# Craig Leres, Berkeley
#
vt100|vt100-am|dec vt100 (w/advanced video):\
:am:bs:ms:xn:xo:\
:co#80:it#8:li#24:vt#3:\
:@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\
:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\
:ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\
:ae=\E(B:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\
:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\
:eA=\E(B:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\
:k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\
:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\
:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\
:nd=\E[C:r2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\
:..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\
:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\
:up=\E[A:us=\E[4m:

View File

@ -0,0 +1,2 @@
# $NetBSD: md.playstation2,v 1.1 2001/10/15 16:22:51 uch Exp $
./sbin/fdisk base-sysutil-root

View File

@ -0,0 +1,51 @@
# $NetBSD: md.playstation2,v 1.1 2001/10/15 16:22:51 uch Exp $
./usr/include/playstation2 comp-c-include
./usr/include/playstation2/_G_config.h comp-c-include
./usr/include/playstation2/ansi.h comp-c-include
./usr/include/playstation2/aout_machdep.h comp-c-include
./usr/include/playstation2/asm.h comp-c-include
./usr/include/playstation2/bswap.h comp-c-include
./usr/include/playstation2/cdefs.h comp-c-include
./usr/include/playstation2/cpu.h comp-c-include
./usr/include/playstation2/db_machdep.h comp-c-include
./usr/include/playstation2/disklabel.h comp-c-include
./usr/include/playstation2/ecoff_machdep.h comp-c-include
./usr/include/playstation2/elf_machdep.h comp-c-include
./usr/include/playstation2/endian.h comp-c-include
./usr/include/playstation2/endian_machdep.h comp-c-include
./usr/include/playstation2/float.h comp-c-include
./usr/include/playstation2/ieee.h comp-c-include
./usr/include/playstation2/ieeefp.h comp-c-include
./usr/include/playstation2/int_const.h comp-c-include
./usr/include/playstation2/int_fmtio.h comp-c-include
./usr/include/playstation2/int_limits.h comp-c-include
./usr/include/playstation2/int_mwgwtypes.h comp-c-include
./usr/include/playstation2/int_types.h comp-c-include
./usr/include/playstation2/intr.h comp-c-include
./usr/include/playstation2/kcore.h comp-c-include
./usr/include/playstation2/kdbparam.h comp-c-include
./usr/include/playstation2/limits.h comp-c-include
./usr/include/playstation2/lock.h comp-c-include
./usr/include/playstation2/locore.h comp-c-include
./usr/include/playstation2/math.h comp-c-include
./usr/include/playstation2/mips_opcode.h comp-c-include
./usr/include/playstation2/param.h comp-c-include
./usr/include/playstation2/pcb.h comp-c-include
./usr/include/playstation2/pmap.h comp-c-include
./usr/include/playstation2/proc.h comp-c-include
./usr/include/playstation2/profile.h comp-c-include
./usr/include/playstation2/psl.h comp-c-include
./usr/include/playstation2/pte.h comp-c-include
./usr/include/playstation2/ptrace.h comp-c-include
./usr/include/playstation2/reg.h comp-c-include
./usr/include/playstation2/regdef.h comp-c-include
./usr/include/playstation2/regnum.h comp-c-include
./usr/include/playstation2/reloc.h comp-c-include
./usr/include/playstation2/setjmp.h comp-c-include
./usr/include/playstation2/signal.h comp-c-include
./usr/include/playstation2/stdarg.h comp-c-include
./usr/include/playstation2/trap.h comp-c-include
./usr/include/playstation2/types.h comp-c-include
./usr/include/playstation2/varargs.h comp-c-include
./usr/include/playstation2/vmparam.h comp-c-include
./usr/include/ieeefp.h comp-c-include

View File

@ -0,0 +1,2 @@
# $NetBSD: md.playstation2,v 1.1 2001/10/15 16:22:51 uch Exp $
./etc/fstab.wd etc-sys-etc

View File

@ -0,0 +1,16 @@
# $NetBSD: Makefile,v 1.1 2001/10/15 16:22:51 uch Exp $
#
# Makefile for playstation2
#
# 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 mbr.c mbr_buf.s
fdisk.o md.o: menu_defs.h msg_defs.h
CPPFLAGS+=-DINET6
.include "../../Makefile.inc"

View File

@ -0,0 +1,6 @@
.abicalls
.bss
.align 2
.space 2
.globl mbr
mbr: .space 512

View File

@ -0,0 +1,682 @@
/* $NetBSD: md.c,v 1.1 2001/10/15 16:22:52 uch 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 i386 */
#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"
#if !defined(__i386__)
#include "endian.h"
#include "mbr.h"
#endif
#ifdef __i386__
char mbr[512];
#else
extern char mbr[512];
#endif
int mbr_present, mbr_len;
int c1024_resp;
struct disklist *disklist = NULL;
struct nativedisk_info *nativedisk;
struct biosdisk_info *biosdisk = NULL;
int netbsd_mbr_installed = 0;
int netbsd_bootsel_installed = 0;
#ifdef __i386__
static int md_read_bootcode (char *, char *, size_t);
static int count_mbr_parts (struct mbr_partition *);
static int mbr_part_above_chs (struct mbr_partition *);
static int mbr_partstart_above_chs (struct mbr_partition *);
static void configure_bootsel (void);
#endif
static void md_upgrade_mbrtype (void);
struct mbr_bootsel *mbs;
int defbootselpart, defbootseldisk;
/* prototypes */
int
md_get_info()
{
read_mbr(diskdev, mbr, sizeof mbr);
if (!valid_mbr(mbr)) {
memset(&mbr[MBR_PARTOFF], 0,
NMBRPART * sizeof (struct mbr_partition));
/* XXX check result and give up if < 0 */
#ifdef __i386__
mbr_len = md_read_bootcode(_PATH_MBR, mbr, sizeof mbr);
#else
*((u_int16_t *)&mbr[MBR_MAGICOFF]) = le_to_native16(MBR_MAGIC);
#endif
netbsd_mbr_installed = 1;
} else
mbr_len = MBR_SECSIZE;
md_bios_info(diskdev);
#ifdef __i386__
edit:
#endif
edit_mbr((struct mbr_partition *)&mbr[MBR_PARTOFF]);
#ifdef __i386__
if (mbr_part_above_chs(part) &&
(biosdisk == NULL || !(biosdisk->bi_flags & BIFLAG_EXTINT13))) {
msg_display(MSG_partabovechs);
process_menu(MENU_noyes);
if (!yesno)
goto edit;
}
#endif
#ifdef __i386__
if (count_mbr_parts(part) > 1) {
msg_display(MSG_installbootsel);
process_menu(MENU_yesno);
if (yesno) {
mbr_len =
md_read_bootcode(_PATH_BOOTSEL, mbr, sizeof mbr);
configure_bootsel();
netbsd_mbr_installed = netbsd_bootsel_installed = 1;
}
}
if (mbr_partstart_above_chs(part) && !netbsd_mbr_installed) {
msg_display(MSG_installmbr);
process_menu(MENU_yesno);
if (yesno) {
mbr_len = md_read_bootcode(_PATH_MBR, mbr, sizeof mbr);
netbsd_mbr_installed = 1;
}
}
#endif
/* Compute minimum NetBSD partition sizes (in sectors). */
minfsdmb = STDNEEDMB * (MEG / sectorsize);
return 1;
}
#ifdef __i386__
/*
* Read MBR code from a file. It may be a maximum of "len" bytes
* long. This function skips the partition table. Space for this
* is assumed to be in the file, but a table already in the buffer
* is not overwritten.
*/
static int
md_read_bootcode(path, buf, len)
char *path, *buf;
size_t len;
{
int fd, cc;
struct stat st;
fd = open(path, O_RDONLY);
if (fd < 0)
return -1;
if (fstat(fd, &st) < 0 || st.st_size > len || st.st_size < MBR_SECSIZE){
close(fd);
return -1;
}
if (read(fd, buf, MBR_PARTOFF) != MBR_PARTOFF) {
close(fd);
return -1;
}
if (lseek(fd, MBR_MAGICOFF, SEEK_SET) < 0) {
close(fd);
return -1;
}
cc = read(fd, &buf[MBR_MAGICOFF], st.st_size - MBR_MAGICOFF);
close(fd);
return (cc + MBR_MAGICOFF);
}
#endif
int
md_pre_disklabel()
{
msg_display(MSG_dofdisk);
/* write edited MBR onto disk. */
if (write_mbr(diskdev, mbr, sizeof mbr, 1) != 0) {
msg_display(MSG_wmbrfail);
process_menu(MENU_ok);
return 1;
}
md_upgrade_mbrtype();
return 0;
}
int
md_post_disklabel(void)
{
/* Sector forwarding / badblocks ... */
if (*doessf) {
msg_display(MSG_dobad144);
return run_prog(RUN_DISPLAY, NULL, "/usr/sbin/bad144 %s 0",
diskdev);
}
return 0;
}
int
md_post_newfs(void)
{
#if !defined(__i386__)
return 0;
#else
/* boot blocks ... */
msg_display(MSG_dobootblks, diskdev);
return run_prog(RUN_DISPLAY, NULL,
"/usr/mdec/installboot -v /usr/mdec/biosboot.sym /dev/r%sa",
diskdev);
#endif
}
int
md_copy_filesystem(void)
{
return 0;
}
int
md_make_bsd_partitions(void)
{
FILE *f;
int i;
int part;
int maxpart = getmaxpartitions();
int remain;
/* Ask for layout type -- standard or special */
msg_display(MSG_layout,
(1.0*fsptsize*sectorsize)/MEG,
(1.0*minfsdmb*sectorsize)/MEG,
(1.0*minfsdmb*sectorsize)/MEG+rammb+XNEEDMB);
process_menu(MENU_layout);
if (layoutkind == 3) {
ask_sizemult(dlcylsize);
} else {
sizemult = MEG / sectorsize;
multname = msg_string(MSG_megname);
}
/* Build standard partitions */
emptylabel(bsdlabel);
/* Partitions C and D are predefined. */
bsdlabel[C].pi_fstype = FS_UNUSED;
bsdlabel[C].pi_offset = ptstart;
bsdlabel[C].pi_size = fsptsize;
bsdlabel[D].pi_fstype = FS_UNUSED;
bsdlabel[D].pi_offset = 0;
bsdlabel[D].pi_size = fsdsize;
/* Standard fstypes */
bsdlabel[A].pi_fstype = FS_BSDFFS;
bsdlabel[B].pi_fstype = FS_SWAP;
bsdlabel[E].pi_fstype = FS_UNUSED;
bsdlabel[F].pi_fstype = FS_UNUSED;
bsdlabel[G].pi_fstype = FS_UNUSED;
bsdlabel[H].pi_fstype = FS_UNUSED;
switch (layoutkind) {
case 1: /* standard: a root, b swap, c/d "unused", e /usr */
case 2: /* standard X: a root, b swap (big), c/d "unused", e /usr */
partstart = ptstart;
/* check that we have enouth space */
i = NUMSEC(20+2*rammb, MEG/sectorsize, dlcylsize);
i += NUMSEC(layoutkind * 2 * (rammb < 16 ? 16 : rammb),
MEG/sectorsize, dlcylsize);
if ( i > fsptsize) {
msg_display(MSG_disktoosmall);
process_menu(MENU_ok);
goto custom;
}
/* Root */
i = NUMSEC(20+2*rammb, MEG/sectorsize, dlcylsize) + partstart;
partsize = NUMSEC (i/(MEG/sectorsize)+1, MEG/sectorsize,
dlcylsize) - partstart;
bsdlabel[A].pi_offset = partstart;
bsdlabel[A].pi_size = partsize;
bsdlabel[A].pi_bsize = 8192;
bsdlabel[A].pi_fsize = 1024;
strcpy (fsmount[A], "/");
partstart += partsize;
/* swap */
i = NUMSEC(layoutkind * 2 * (rammb < 16 ? 16 : rammb),
MEG/sectorsize, dlcylsize) + partstart;
partsize = NUMSEC (i/(MEG/sectorsize)+1, MEG/sectorsize,
dlcylsize) - partstart;
bsdlabel[B].pi_offset = partstart;
bsdlabel[B].pi_size = partsize;
partstart += partsize;
/* /usr */
partsize = fsptsize - (partstart - ptstart);
bsdlabel[E].pi_fstype = FS_BSDFFS;
bsdlabel[E].pi_offset = partstart;
bsdlabel[E].pi_size = partsize;
bsdlabel[E].pi_bsize = 8192;
bsdlabel[E].pi_fsize = 1024;
strcpy (fsmount[E], "/usr");
break;
case 3: /* custom: ask user for all sizes */
custom: ask_sizemult(dlcylsize);
msg_display(MSG_defaultunit, multname);
partstart = ptstart;
remain = fsptsize;
/* root */
i = NUMSEC(20+2*rammb, MEG/sectorsize, dlcylsize) + partstart;
partsize = NUMSEC (i/(MEG/sectorsize)+1, MEG/sectorsize,
dlcylsize) - partstart;
if (partsize > remain)
partsize = remain;
msg_display_add(MSG_askfsroot1, remain/sizemult, multname);
partsize = getpartsize(MSG_askfsroot2, partstart, partsize);
bsdlabel[A].pi_offset = partstart;
bsdlabel[A].pi_size = partsize;
bsdlabel[A].pi_bsize = 8192;
bsdlabel[A].pi_fsize = 1024;
strcpy (fsmount[A], "/");
partstart += partsize;
remain -= partsize;
/* swap */
i = NUMSEC( 2 * (rammb < 16 ? 16 : rammb),
MEG/sectorsize, dlcylsize) + partstart;
partsize = NUMSEC (i/(MEG/sectorsize)+1, MEG/sectorsize,
dlcylsize) - partstart;
if (partsize > remain)
partsize = remain;
msg_display(MSG_askfsswap1, remain/sizemult, multname);
partsize = getpartsize(MSG_askfsswap2, partstart, partsize);
bsdlabel[B].pi_offset = partstart;
bsdlabel[B].pi_size = partsize;
partstart += partsize;
remain -= partsize;
/* Others E, F, G, H */
part = E;
if (remain > 0)
msg_display (MSG_otherparts);
while (remain > 0 && part <= H) {
msg_display_add(MSG_askfspart1, diskdev,
partition_name(part), remain/sizemult, multname);
partsize = getpartsize(MSG_askfspart2, partstart,
remain);
if (partsize > 0) {
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;
if (part == E)
strcpy (fsmount[E], "/usr");
msg_prompt_add (MSG_mountpoint, fsmount[part],
fsmount[part], 20);
partstart += partsize;
remain -= partsize;
}
part++;
}
break;
}
/*
* OK, we have a partition table. Give the user the chance to
* edit it and verify it's OK, or abort altogether.
*/
if (edit_and_check_label(bsdlabel, maxpart, RAW_PART, RAW_PART) == 0) {
msg_display(MSG_abort);
return 0;
}
#ifdef __i386__
/*
* XXX check for int13 extensions.
*/
if ((bsdlabel[A].pi_offset + bsdlabel[A].pi_size) / bcylsize > 1024 &&
(biosdisk == NULL || !(biosdisk->bi_flags & BIFLAG_EXTINT13))) {
process_menu(MENU_cyl1024);
/* XXX UGH! need arguments to process_menu */
switch (c1024_resp) {
case 1:
edit_mbr((struct mbr_partition *)&mbr[MBR_PARTOFF]);
/*FALLTHROUGH*/
case 2:
goto editlab;
default:
break;
}
}
#endif
/* Disk name */
msg_prompt (MSG_packname, "mydisk", bsddiskname, DISKNAME_SIZE);
/* Create the disktab.preinstall */
run_prog (0, NULL, "cp /etc/disktab.preinstall /etc/disktab");
#ifdef DEBUG
f = fopen ("/tmp/disktab", "a");
#else
f = fopen ("/etc/disktab", "a");
#endif
if (f == NULL) {
endwin();
(void) fprintf (stderr, "Could not open /etc/disktab");
exit (1);
}
(void)fprintf (f, "%s|NetBSD installation generated:\\\n", bsddiskname);
(void)fprintf (f, "\t:dt=%s:ty=winchester:\\\n", disktype);
(void)fprintf (f, "\t:nc#%d:nt#%d:ns#%d:\\\n", dlcyl, dlhead, dlsec);
(void)fprintf (f, "\t:sc#%d:su#%d:\\\n", dlhead*dlsec, dlsize);
(void)fprintf (f, "\t:se#%d:%s\\\n", sectorsize, doessf);
for (i=0; i<8; i++) {
(void)fprintf (f, "\t:p%c#%d:o%c#%d:t%c=%s:",
'a'+i, bsdlabel[i].pi_size,
'a'+i, bsdlabel[i].pi_offset,
'a'+i, fstypenames[bsdlabel[i].pi_fstype]);
if (bsdlabel[i].pi_fstype == FS_BSDFFS)
(void)fprintf (f, "b%c#%d:f%c#%d",
'a'+i, bsdlabel[i].pi_bsize,
'a'+i, bsdlabel[i].pi_fsize);
if (i < 7)
(void)fprintf (f, "\\\n");
else
(void)fprintf (f, "\n");
}
fclose (f);
/* Everything looks OK. */
return (1);
}
/* Upgrade support */
int
md_update(void)
{
endwin();
md_copy_filesystem();
md_post_newfs();
md_upgrade_mbrtype();
wrefresh(curscr);
wmove(stdscr, 0, 0);
wclear(stdscr);
wrefresh(stdscr);
return 1;
}
void
md_upgrade_mbrtype()
{
struct mbr_partition *mbrp;
int i, netbsdpart = -1, oldbsdpart = -1, oldbsdcount = 0;
if (read_mbr(diskdev, mbr, sizeof mbr) < 0)
return;
mbrp = (struct mbr_partition *)&mbr[MBR_PARTOFF];
for (i = 0; i < NMBRPART; i++) {
if (mbrp[i].mbrp_typ == MBR_PTYPE_386BSD) {
oldbsdpart = i;
oldbsdcount++;
} else if (mbrp[i].mbrp_typ == MBR_PTYPE_NETBSD)
netbsdpart = i;
}
if (netbsdpart == -1 && oldbsdcount == 1) {
mbrp[oldbsdpart].mbrp_typ = MBR_PTYPE_NETBSD;
write_mbr(diskdev, mbr, sizeof mbr, 0);
}
}
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_bios_info(dev)
char *dev;
{
#ifdef __i386__
int mib[2], i, len;
struct biosdisk_info *bip;
struct nativedisk_info *nip = NULL, *nat;
#endif
int cyl, head, sec;
#ifdef __i386__
if (disklist == NULL) {
mib[0] = CTL_MACHDEP;
mib[1] = CPU_DISKINFO;
if (sysctl(mib, 2, NULL, &len, NULL, 0) < 0)
goto nogeom;
disklist = (struct disklist *)malloc(len);
sysctl(mib, 2, disklist, &len, NULL, 0);
}
nativedisk = NULL;
for (i = 0; i < disklist->dl_nnativedisks; i++) {
nat = &disklist->dl_nativedisks[i];
if (!strcmp(dev, nat->ni_devname)) {
nativedisk = nip = nat;
break;
}
}
if (nip == NULL || nip->ni_nmatches == 0) {
nogeom:
#endif
msg_display(MSG_nobiosgeom, dlcyl, dlhead, dlsec);
if (guess_biosgeom_from_mbr(mbr, &cyl, &head, &sec) >= 0) {
msg_display_add(MSG_biosguess, cyl, head, sec);
set_bios_geom(cyl, head, sec);
} else
set_bios_geom(dlcyl, dlhead, dlsec);
biosdisk = NULL;
#ifdef __i386__
} else if (nip->ni_nmatches == 1) {
bip = &disklist->dl_biosdisks[nip->ni_biosmatches[0]];
msg_display(MSG_onebiosmatch);
msg_table_add(MSG_onebiosmatch_header);
msg_table_add(MSG_onebiosmatch_row, bip->bi_dev - 0x80,
bip->bi_cyl, bip->bi_head, bip->bi_sec);
process_menu(MENU_biosonematch);
} else {
msg_display(MSG_biosmultmatch);
msg_table_add(MSG_biosmultmatch_header);
for (i = 0; i < nip->ni_nmatches; i++) {
bip = &disklist->dl_biosdisks[nip->ni_biosmatches[i]];
msg_table_add(MSG_biosmultmatch_row, i,
bip->bi_dev - 0x80, bip->bi_cyl, bip->bi_head,
bip->bi_sec);
}
process_menu(MENU_biosmultmatch);
}
if (biosdisk != NULL && (biosdisk->bi_flags & BIFLAG_EXTINT13))
bsize = dlsize;
else
#endif
bsize = bcyl * bhead * bsec;
bcylsize = bhead * bsec;
return 0;
}
#ifdef __i386__
static int
count_mbr_parts(pt)
struct mbr_partition *pt;
{
int i, count = 0;;
for (i = 0; i < NMBRPART; i++)
if (pt[i].mbrp_typ != 0)
count++;
return count;
}
static int
mbr_part_above_chs(pt)
struct mbr_partition *pt;
{
return ((pt[bsdpart].mbrp_start + pt[bsdpart].mbrp_size) >=
bcyl * bhead * bsec);
}
static int
mbr_partstart_above_chs(pt)
struct mbr_partition *pt;
{
return (pt[bsdpart].mbrp_start >= bcyl * bhead * bsec);
}
static void
configure_bootsel()
{
struct mbr_partition *parts =
(struct mbr_partition *)&mbr[MBR_PARTOFF];
int i;
mbs = (struct mbr_bootsel *)&mbr[MBR_BOOTSELOFF];
mbs->flags = BFL_SELACTIVE;
process_menu(MENU_configbootsel);
for (i = 0; i < NMBRPART; i++) {
if (parts[i].mbrp_typ != 0 &&
parts[i].mbrp_start >= (bcyl * bhead * bsec)) {
mbs->flags |= BFL_EXTINT13;
break;
}
}
}
void
disp_bootsel(part, mbsp)
struct mbr_partition *part;
struct mbr_bootsel *mbsp;
{
int i;
msg_table_add(MSG_bootsel_header);
for (i = 0; i < 4; i++) {
msg_table_add(MSG_bootsel_row,
i, get_partname(i), mbs->nametab[i]);
}
}
#endif
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,168 @@
/* $NetBSD: md.h,v 1.1 2001/10/15 16:22:52 uch 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 i386 */
#include <machine/cpu.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
/* i386 uses the mbr code. */
#include "mbr.h"
/* constants and defines */
#define STDNEEDMB 145 /* Min space for non X install */
#define XNEEDMB 39 /* 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.
*
* i386 has the MD set kern first, because generic kernels are too
* big to fit on install floppies. i386 does not yet include the x sets.
*
* Third entry is the last extension name in the split sets for loading
* from floppy.
*/
EXTERN distinfo dist_list[]
#ifdef MAIN
= {
{"kern", 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.
*
* On i386, we allow "wd" ST-506/IDE disks and "sd" scsi disks.
*/
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 i386, that means matching 'w' for st-506/ide and 's' for sd.
*/
#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.
*
* On i386, do what the 1.2 install scripts did.
*/
#define DISKLABEL_CMD "disklabel -w -r"
/*
* Default fileystem type for floppy disks.
* On i386, that is msdos.
*/
EXTERN char *fdtype INIT("msdos");
extern struct disklist *disklist;
extern struct nativedisk_info *nativedisk;
extern struct biosdisk_info *biosdisk;
#define _PATH_MBR "/usr/mdec/mbr"
#define _PATH_BOOTSEL "/usr/mdec/mbr_bootsel"
struct mbr_bootsel {
u_int8_t defkey;
u_int8_t flags;
u_int16_t timeo;
char nametab[4][9];
u_int16_t magic;
} __attribute__((packed));
extern struct mbr_bootsel *mbs;
#define BFL_SELACTIVE 0x01
#define BFL_EXTINT13 0x02
#define SCAN_ENTER 0x1c
#define SCAN_F1 0x3b
#define MBR_BOOTSELOFF (MBR_PARTOFF - sizeof (struct mbr_bootsel))
extern int defbootselpart, defbootseldisk;
void disp_bootsel (struct mbr_partition *, struct mbr_bootsel *);
/*
* prototypes for MD code.
*/

View File

@ -0,0 +1,332 @@
/* $NetBSD: menus.md.en,v 1.1 2001/10/15 16:22:52 uch 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. i386 version, machine dependent. */
menu fullpart, title "Select your choice";
option "Use only part of the disk", exit, action {usefull = 0;};
option "Use the entire disk", exit, action {usefull = 1;};
menu wdtype, title "Select type";
display action { msg_display (MSG_wdtype, diskdev); };
option "IDE", exit;
option "ESDI", exit, action
{ msg_display (MSG_sectforward);
process_menu (MENU_yesno);
if (yesno)
doessf = "sf:";
};
option "ST506", exit, action
{ msg_display (MSG_sectforward);
process_menu (MENU_yesno);
if (yesno)
doessf = "sf:";
};
menu dlgeom, title "Choose an option";
display action { msg_display (MSG_dlgeom, diskdev, dlcyl, dlhead,
dlsec, disk->dd_cyl, disk->dd_head,
disk->dd_sec);
};
option "Use real geometry", exit, action {
dlcyl = disk->dd_cyl;
dlhead = disk->dd_head;
dlsec = disk->dd_sec;
};
option "Use disklabel geometry", exit, action {
disk->dd_cyl = dlcyl;
disk->dd_head = dlhead;
disk->dd_sec = dlsec;
};
menu editparttable, title "Choose your partition", exit;
display action { msg_display (MSG_editparttable);
disp_cur_part((struct mbr_partition *)&mbr[MBR_PARTOFF
], activepart,-1);
};
option "Edit partition 0", sub menu editpart,
action { editpart = 0; };
option "Edit partition 1", sub menu editpart,
action { editpart = 1; };
option "Edit partition 2", sub menu editpart,
action { editpart = 2; };
option "Edit partition 3", sub menu editpart,
action { editpart = 3; };
option "Reselect size specification",
action { reask_sizemult(bcylsize); };
menu editpart, title "Select to change";
display action { msg_display (MSG_editpart, editpart);
disp_cur_part((struct mbr_partition *)&mbr[MBR_PARTOFF
], activepart,editpart);
msg_display_add(MSG_newline);
};
option "Kind", sub menu chooseid;
option "Start and size", action
{ char buf[40]; int start, size;
msg_prompt_add (MSG_start, NULL, buf, 40);
start = NUMSEC(atoi(buf),sizemult,dlcylsize);
if (sizemult > 1 && start < bsec)
start = bsec;
msg_prompt_add (MSG_size, NULL, buf, 40);
size = NUMSEC(atoi(buf),sizemult,dlcylsize);
if (sizemult > 1 && start == bsec)
size -= bsec;
if (start + size > bsize)
size = bsize - start;
if (size < 0) {
size = 0;
start = 0;
}
part[editpart].mbrp_start = start;
part[editpart].mbrp_size = size;
};
option "Set active", action { activepart = editpart; };
option "Partition OK", exit;
menu chooseid, title "Partition Kind?";
option "NetBSD", exit, action
{
part[editpart].mbrp_typ = 169;
};
option "DOS < 32 Meg", exit, action
{
part[editpart].mbrp_typ = 4;
};
option "DOS > 32 Meg", exit, action
{
part[editpart].mbrp_typ = 6;
};
option "unused", exit, action
{
part[editpart].mbrp_typ = 0;
};
menu cyl1024;
display action {
msg_display(MSG_cyl1024);
};
option "Re-edit both MBR and label", exit, action
{
/* XXX UGH */
extern int c1024_resp;
c1024_resp = 1;
};
option "Re-edit the label", exit, action
{
extern int c1024_resp;
c1024_resp = 2;
};
option "Use it anyway", exit, action
{
extern int c1024_resp;
c1024_resp = 3;
};
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 "Whole disk - can't change", action {};
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 "Set new allocation size", action { reask_sizemult(dlcylsize); };
menu md_distcustom, x=26, y=5, exit, title "Selection toggles inclusion";
display action { show_cur_distsets (); };
option "Kernel", 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 biosonematch;
option "This is the correct geometry", exit, action {
extern struct disklist *disklist;
extern struct nativedisk_info *nativedisk;
struct biosdisk_info *bip;
extern struct biosdisk_info *biosdisk;
bip = &disklist->dl_biosdisks[nativedisk->ni_biosmatches[0]];
bcyl = bip->bi_cyl;
bhead = bip->bi_head;
bsec = bip->bi_sec;
biosdisk = bip;
};
option "Set the geometry by hand", exit, action {
set_bios_geom(dlcyl, dlhead, dlsec);
biosdisk = NULL;
};
menu biosmultmatch;
option "Use one of these disks", exit, action {
extern struct disklist *disklist;
extern struct nativedisk_info *nativedisk;
struct biosdisk_info *bip;
extern struct biosdisk_info *biosdisk;
int sel;
char res[80];
do {
strcpy(res, "0");
msg_prompt(MSG_pickdisk, res, res, 80);
sel = atoi(res);
} while (sel < 0 || sel >= nativedisk->ni_nmatches);
bip = &disklist->dl_biosdisks[nativedisk->ni_biosmatches[0]];
bcyl = bip->bi_cyl;
bhead = bip->bi_head;
bsec = bip->bi_sec;
biosdisk = bip;
};
option "Set the geometry by hand", exit, action {
set_bios_geom(dlcyl, dlhead, dlsec);
biosdisk = NULL;
};
menu configbootsel, title "Change a bootmenu item", exit;
display action { msg_display(MSG_configbootsel);
disp_bootsel((struct mbr_partition *)&mbr[MBR_PARTOFF], mbs);
msg_display_add(MSG_bootseltimeout, (1000 * mbs->timeo) / 18200);
msg_display_add(MSG_defbootselopt);
if (mbs->defkey == SCAN_ENTER)
msg_display_add(MSG_defbootseloptactive);
else if (mbs->defkey < (SCAN_F1 + 4))
msg_display_add(MSG_defbootseloptpart,
defbootselpart);
else
msg_display_add(MSG_defbootseloptdisk,
defbootseldisk);
};
option "Edit menu entry 0",
action {
if (part[0].mbrp_typ != 0)
msg_prompt(MSG_bootselitemname, mbs->nametab[0],
mbs->nametab[0], 8);
};
option "Edit menu entry 1",
action {
if (part[1].mbrp_typ != 0)
msg_prompt(MSG_bootselitemname, mbs->nametab[1],
mbs->nametab[1], 8);
};
option "Edit menu entry 2",
action {
if (part[2].mbrp_typ != 0)
msg_prompt(MSG_bootselitemname, mbs->nametab[2],
mbs->nametab[2], 8);
};
option "Edit menu entry 3",
action {
if (part[3].mbrp_typ != 0)
msg_prompt(MSG_bootselitemname, mbs->nametab[3],
mbs->nametab[3], 8);
};
option "Set timeout value",
action {
char tstr[8];
unsigned timo;
do {
snprintf(tstr, 8, "%u",
(1000 * mbs->timeo) / 18200);
msg_prompt(MSG_bootseltimeoutval, tstr, tstr,
8);
timo = (unsigned)atoi(tstr);
} while (timo > 3600);
mbs->timeo = (u_int16_t)((timo * 18200) / 1000);
};
option "Set default option", sub menu defaultbootsel;
menu defaultbootsel, title "Pick a default partition/disk to boot";
option "Partition 0", exit,
action {
if (mbs->nametab[0][0] != 0 && part[0].mbrp_typ != 0)
mbs->defkey = SCAN_F1; defbootselpart = 0;
};
option "Partition 1", exit,
action {
if (mbs->nametab[1][0] != 0 && part[1].mbrp_typ != 0)
mbs->defkey = SCAN_F1 + 1; defbootselpart = 1;
};
option "Partition 2", exit,
action {
if (mbs->nametab[2][0] != 0 && part[2].mbrp_typ != 0)
mbs->defkey = SCAN_F1 + 2; defbootselpart = 2;
};
option "Partition 3", exit,
action {
if (mbs->nametab[3][0] != 0 && part[3].mbrp_typ != 0)
mbs->defkey = SCAN_F1 + 3; defbootselpart = 3;
};
option "Harddisk 0", exit,
action { mbs->defkey = SCAN_F1 + 4; defbootseldisk = 0; };
option "Harddisk 1", exit,
action { mbs->defkey = SCAN_F1 + 5; defbootseldisk = 1; };
option "Harddisk 2", exit,
action { mbs->defkey = SCAN_F1 + 6; defbootseldisk = 2; };
option "Harddisk 3", exit,
action { mbs->defkey = SCAN_F1 + 7; defbootseldisk = 3; };
option "Harddisk 4", exit,
action { mbs->defkey = SCAN_F1 + 8; defbootseldisk = 4; };
option "Harddisk 5", exit,
action { mbs->defkey = SCAN_F1 + 9; defbootseldisk = 5; };
option "First active partition", exit,
action { mbs->defkey = SCAN_ENTER; };
*/

View File

@ -0,0 +1,331 @@
/* $NetBSD: menus.md.fr,v 1.1 2001/10/15 16:22:52 uch 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. i386 version, machine dependent. */
menu fullpart, y=15, title "Faite votre choix";
option "Utilisation d'une partie du disque", exit, action {usefull = 0;};
option "Utilisation de tout le disque", exit, action {usefull = 1;};
menu wdtype, title "Choix du type de disque";
display action { msg_display (MSG_wdtype, diskdev); };
option "IDE", exit;
option "ESDI", exit, action
{ msg_display (MSG_sectforward);
process_menu (MENU_yesno);
if (yesno)
doessf = "sf:";
};
option "ST506", exit, action
{ msg_display (MSG_sectforward);
process_menu (MENU_yesno);
if (yesno)
doessf = "sf:";
};
menu dlgeom, title "Choisissez une option";
display action { msg_display (MSG_dlgeom, diskdev, dlcyl, dlhead,
dlsec, disk->dd_cyl, disk->dd_head,
disk->dd_sec);
};
option "Utilisation de la géométrie réelle", exit, action {
dlcyl = disk->dd_cyl;
dlhead = disk->dd_head;
dlsec = disk->dd_sec;
};
option "Utilisation de la géométrie du disklabel", exit, action {
disk->dd_cyl = dlcyl;
disk->dd_head = dlhead;
disk->dd_sec = dlsec;
};
menu editparttable, title "Choisissez votre partition", exit;
display action { msg_display (MSG_editparttable);
disp_cur_part((struct mbr_partition *)&mbr[MBR_PARTOFF
], activepart,-1);
};
option "Edition de la partition 0", sub menu editpart,
action { editpart = 0; };
option "Edition de la partition 1", sub menu editpart,
action { editpart = 1; };
option "Edition de la partition 2", sub menu editpart,
action { editpart = 2; };
option "Edition de la partition 3", sub menu editpart,
action { editpart = 3; };
option "Changer d'untité",
action { reask_sizemult(bcylsize); };
menu editpart, title "Changement";
display action { msg_display (MSG_editpart, editpart);
disp_cur_part((struct mbr_partition *)&mbr[MBR_PARTOFF
], activepart,editpart);
msg_display_add(MSG_newline);
};
option "du type de FS", sub menu chooseid;
option "du Début et de la taille", action
{ char buf[40]; int start, size;
msg_prompt_add (MSG_start, NULL, buf, 40);
start = NUMSEC(atoi(buf),sizemult,dlcylsize);
if (sizemult > 1 && start < bsec)
start = bsec;
msg_prompt_add (MSG_size, NULL, buf, 40);
size = NUMSEC(atoi(buf),sizemult,dlcylsize);
if (sizemult > 1 && start == bsec)
size -= bsec;
if (start + size > bsize)
size = bsize - start;
if (size < 0) {
size = 0;
start = 0;
}
part[editpart].mbrp_start = start;
part[editpart].mbrp_size = size;
};
option "Rendre la partition active", action { activepart = editpart; };
option "Partition OK", exit;
menu chooseid, title "Type de Partition?";
option "NetBSD", exit, action
{
part[editpart].mbrp_typ = 169;
};
option "DOS < 32 Meg", exit, action
{
part[editpart].mbrp_typ = 4;
};
option "DOS > 32 Meg", exit, action
{
part[editpart].mbrp_typ = 6;
};
option "unused", exit, action
{
part[editpart].mbrp_typ = 0;
};
menu cyl1024;
display action {
msg_display(MSG_cyl1024);
};
option "Rééditer le secteur de boot et le label", exit, action
{
/* XXX UGH */
extern int c1024_resp;
c1024_resp = 1;
};
option "Rééditer le label", exit, action
{
extern int c1024_resp;
c1024_resp = 2;
};
option "L'utiliser tout de même", exit, action
{
extern int c1024_resp;
c1024_resp = 3;
};
menu editfsparts, y=13, exit;
display action {
ask_sizemult(dlcylsize);
msg_display(MSG_fspart, multname);
disp_cur_fspart(-1, 1);
};
option "Changer a", action { editpart = A;}, sub menu edfspart;
option "Changer b", action { editpart = B;}, sub menu edfspart;
option "Partition de NetBSD - Changement impossible", action {};
option "Totalité du disque - Changement impossible", action {};
option "Changer e", action { editpart = E;}, sub menu edfspart;
option "Changer f", action { editpart = F;}, sub menu edfspart;
option "Changer g", action { editpart = G;}, sub menu edfspart;
option "Changer h", action { editpart = H;}, sub menu edfspart;
option "Changer d'unité", action { reask_sizemult(dlcylsize); };
menu md_distcustom, x=26, y=5, exit, title "Sélection des composants";
display action { show_cur_distsets (); };
option "Kernel", action { toggle_getit (0); };
option "Base", action { toggle_getit (1); };
option "System (/etc)", action { toggle_getit (2); };
option "Outils de développement", action { toggle_getit (3); };
option "Jeux", action { toggle_getit (4); };
option "Pages de manuel", action { toggle_getit (5); };
option "Divers", action { toggle_getit (6); };
option "Outils de manipulation de textes", action { toggle_getit (7); };
option "X11 base et clients", action { toggle_getit (8); };
option "X11 polices", action { toggle_getit (9); };
option "X11 serveurs", action { toggle_getit (10); };
option "X11 clients contribués", action { toggle_getit (11); };
option "X11 développement", action { toggle_getit (12); };
option "X11 Misc.", action { toggle_getit (13); };
menu biosonematch;
option "C'est le bon géométrie", exit, action {
extern struct disklist *disklist;
extern struct nativedisk_info *nativedisk;
struct biosdisk_info *bip;
extern struct biosdisk_info *biosdisk;
bip = &disklist->dl_biosdisks[nativedisk->ni_biosmatches[0]];
bcyl = bip->bi_cyl;
bhead = bip->bi_head;
bsec = bip->bi_sec;
biosdisk = bip;
};
option "Entrer la géométrie", exit, action {
set_bios_geom(dlcyl, dlhead, dlsec);
biosdisk = NULL;
};
menu biosmultmatch;
option "Utiliser l'un de ces disques", exit, action {
extern struct disklist *disklist;
extern struct nativedisk_info *nativedisk;
struct biosdisk_info *bip;
extern struct biosdisk_info *biosdisk;
int sel;
char res[80];
do {
strcpy(res, "0");
msg_prompt(MSG_pickdisk, res, res, 80);
sel = atoi(res);
} while (sel < 0 || sel >= nativedisk->ni_nmatches);
bip = &disklist->dl_biosdisks[nativedisk->ni_biosmatches[0]];
bcyl = bip->bi_cyl;
bhead = bip->bi_head;
bsec = bip->bi_sec;
biosdisk = bip;
};
option "Entrer la géométrie", exit, action {
set_bios_geom(dlcyl, dlhead, dlsec);
biosdisk = NULL;
};
menu configbootsel, title "Changer une entree du menu", exit;
display action { msg_display(MSG_configbootsel);
disp_bootsel((struct mbr_partition *)&mbr[MBR_PARTOFF], mbs);
msg_display_add(MSG_bootseltimeout, (1000 * mbs->timeo) / 18200);
msg_display_add(MSG_defbootselopt);
if (mbs->defkey == SCAN_ENTER)
msg_display_add(MSG_defbootseloptactive);
else if (mbs->defkey < (SCAN_F1 + 4))
msg_display_add(MSG_defbootseloptpart,
defbootselpart);
else
msg_display_add(MSG_defbootseloptdisk,
defbootseldisk);
};
option "Changer l'entrée 0 du menu",
action {
if (part[0].mbrp_typ != 0)
msg_prompt(MSG_bootselitemname, mbs->nametab[0],
mbs->nametab[0], 8);
};
option "Changer l'entrée 1 du menu",
action {
if (part[1].mbrp_typ != 0)
msg_prompt(MSG_bootselitemname, mbs->nametab[1],
mbs->nametab[1], 8);
};
option "Changer l'entrée 2 du menu",
action {
if (part[2].mbrp_typ != 0)
msg_prompt(MSG_bootselitemname, mbs->nametab[2],
mbs->nametab[2], 8);
};
option "Changer l'entrée 3 du menu",
action {
if (part[3].mbrp_typ != 0)
msg_prompt(MSG_bootselitemname, mbs->nametab[3],
mbs->nametab[3], 8);
};
option "Changer le temps d'attente",
action {
char tstr[8];
unsigned timo;
do {
snprintf(tstr, 8, "%u",
(1000 * mbs->timeo) / 18200);
msg_prompt(MSG_bootseltimeoutval, tstr, tstr,
8);
timo = (unsigned)atoi(tstr);
} while (timo > 3600);
mbs->timeo = (u_int16_t)((timo * 18200) / 1000);
};
option "Changer le choix par defaut", sub menu defaultbootsel;
menu defaultbootsel, title "Choisissez un disque ou partition";
option "Partition 0", exit,
action {
if (mbs->nametab[0][0] != 0 && part[0].mbrp_typ != 0)
mbs->defkey = SCAN_F1; defbootselpart = 0;
};
option "Partition 1", exit,
action {
if (mbs->nametab[1][0] != 0 && part[1].mbrp_typ != 0)
mbs->defkey = SCAN_F1 + 1; defbootselpart = 1;
};
option "Partition 2", exit,
action {
if (mbs->nametab[2][0] != 0 && part[2].mbrp_typ != 0)
mbs->defkey = SCAN_F1 + 2; defbootselpart = 2;
};
option "Partition 3", exit,
action {
if (mbs->nametab[3][0] != 0 && part[3].mbrp_typ != 0)
mbs->defkey = SCAN_F1 + 3; defbootselpart = 3;
};
option "Disque dur 0", exit,
action { mbs->defkey = SCAN_F1 + 4; defbootseldisk = 0; };
option "Disque dur 1", exit,
action { mbs->defkey = SCAN_F1 + 5; defbootseldisk = 1; };
option "Disque dur 2", exit,
action { mbs->defkey = SCAN_F1 + 6; defbootseldisk = 2; };
option "Disque dur 3", exit,
action { mbs->defkey = SCAN_F1 + 7; defbootseldisk = 3; };
option "Disque dur 4", exit,
action { mbs->defkey = SCAN_F1 + 8; defbootseldisk = 4; };
option "Disque dur 5", exit,
action { mbs->defkey = SCAN_F1 + 9; defbootseldisk = 5; };
option "Première partition active", exit,
action { mbs->defkey = SCAN_ENTER; };

View File

@ -0,0 +1,293 @@
/* $NetBSD: msg.md.en,v 1.1 2001/10/15 16:22:52 uch 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, i386 version */
message md_hello
{
}
message fullpart
{We are now going to install NetBSD on the disk %s. You may
choose to install NetBSD on the entire disk, or on part of the disk.
Partial-disk installation creates a partition, or `slice', for NetBSD
in your disk's MBR partition table. Whole-disk installation is
`dangerously dedicated': it takes over the entire MBR. This WILL
overwrite all existing data and OSes on the disk. It also prohibits later
installation of multiple OSes on that disk (unless you overwrite NetBSD and
reinstall using only part of the disk).
Which would you like to do?
}
message wdtype
{What kind of disk is %s?}
message sectforward
{Does your disk do AUTOMATIC sector forwarding?}
message dlgeom
{It appears that your disk, %s, has already been labeled with a BSD
disklabel and the disklabel reports geometry that is different from
the real geometry. The two geometries are:
disklabel: %d cylinders, %d heads, %d sectors
real geometry: %d cylinders, %d heads, %d sectors
}
/* the %s's will expand into three character strings */
message part_header
{ Total disksize %d sectors
Start(%3s) Size(%3s) End(%3s) Kind
---------- ---------- ---------- ----
}
message part_row_start_unused
{%-1d: }
message part_row_start_used
{%-1d: %-10d %-10d %-10d}
message part_row_end
{ %s\n}
message setbiosgeom
{You will be prompted for the geometry. Please enter the values you
want. The number of cylinders should be <= 1024 and the number of sectors
should be <= 63. If you have the BIOS set up to use > 1024 cylinders just
truncate that number to 1024 here; NetBSD will know about the rest of the
cylinders.
}
message confirmbiosgeom
{Please verify if the BIOS disk geometry below is correct. The value for
the number of cylinders may have been truncated to 1024. This is ok as
long as the other numbers are correct; only 1024 cylinders can be
specified in the MBR, the rest will be found in a different way by NetBSD.
If you reenter the values, make sure that the values are correct and
match those used by other systems on this disk. Values that do not match
may result in data corruption.
}
message badgeom
{The current values for your disk geometry are:
}
message realgeom
{real geom: %d cyl, %d heads, %d sec (NB: for comparison only)\n}
message biosgeom
{BIOS geom: %d cyl, %d heads, %d sec\n}
message reentergeom
{The values just entered for the geometry are not usable. Please,
reenter the geometry.
}
message ovrwrite
{Your disk currently has a non-NetBSD partition. Do you really want to
overwrite that partition with NetBSD?
}
message parttable
{The partition table on your disk currently looks like the following:
}
message editpart
{Partition %d looks like:\n\n}
message editparttable
{Edit your DOS partition table. The highlighted partition is the currently
active partition. The partition table currently looks like:
}
message reeditpart
{There are overlapping MBR partitions or there is not exactly one NetBSD
partition. You should reedit the MBR partition table.
Do you want to reedit it?
}
message nobsdpart
{There is no NetBSD partition in the MBR partition table.}
message multbsdpart
{There are multiple NetBSD partitions in the MBR partition table.
Partition %d will be the one used.}
message dofdisk
{Setting up the DOS partition table ...
}
message dobad144
{Installing the bad block table ...
}
message dobootblks
{Installing boot blocks on %s....
}
message askfsroot1
{I will be asking for partition information.
First the root partition. You have %d %s left on your disk.
}
message askfsroot2
{Root partition size? }
message askfsswap1
{
Next the swap partition. You have %d %s left on your disk.
}
message askfsswap2
{Swap 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 askfspart1
{The next partition is /dev/%s%c. You have %d %s left on your disk.
}
message askfspart2
{Partition size? }
message cyl1024
{The disklabel (set of partitions) you specified has a root partition that
ends beyond the 1024 BIOS cylinder boundary. To be sure that the system
can be booted at all times, the entire root partition must lie below that
limit. You can either: }
message onebiosmatch
{This disk matches the following BIOS disk:
}
message onebiosmatch_header
{BIOS # cylinders heads sectors
------ ---------- ------- -------
}
message onebiosmatch_row
{%-6x %-10d %-7d %d\n}
message biosmultmatch
{This disk matches the following BIOS disks:
}
message biosmultmatch_header
{ BIOS # cylinders heads sectors
------ ---------- ------- -------
}
message biosmultmatch_row
{%-1d: %-6x %-10d %-7d %d\n}
message pickdisk
{Choose disk: }
message wmbrfail
{Rewrite of MBR failed. I can't continue.}
message partabovechs
{The NetBSD part of the disk lies outside of the range that the BIOS on
your machine can address. Booting from it may not be possible. Are you
sure you that you want to do this?
(Answering 'no' will take you back to the partition edit menu.)}
message installbootsel
{You appear to have more than one operating system installed on your
disk. Do you want to install a bootselector so that you can select
which system to start up when your computer is (re)started?}
message installmbr
{The start of the NetBSD part of the disk lies outside of the range
that the BIOS can address. The initial bootcode in the Master Boot
Record needs to be able to use the extended BIOS interface to boot
off this partition. Do you want to install the NetBSD bootcode into
the Master Boot Record so that this is ensured? Note that this will
overwrite the existing code in the MBR, like some bootselectors.}
message configbootsel
{Configure the different bootselection menu items. You can change the
simple menu entries for the matching partition entries that are displayed
when the system boots. Also, you can specify the timeout and default
action to be taken (if no selection is made in the bootmenu).\n}
message bootseltimeout
{Boot menu timeout: %d\n}
message defbootselopt
{Default boot menu action: }
message defbootseloptactive
{boot the first active partition.}
message defbootseloptpart
{boot off partition %d.\n}
message defbootseloptdisk
{boot off hard disk %d.\n}
message bootselitemname
{Enter name for menu item}
message bootseltimeoutval
{Timeout value in seconds (0-3600)}
message bootsel_header
{Number Type Menu entry
------ -------------------------------- ----------
}
message bootsel_row
{%-6d %-32s %s\n}

View File

@ -0,0 +1,294 @@
/* $NetBSD: msg.md.fr,v 1.1 2001/10/15 16:22:52 uch 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 -- french, i386 version */
message md_hello
{
}
message fullpart
{Nous allons maintenant installer NetBSD sur votre disque %s. Vous devez
choisir si vous voulez installer NetBSD sur la totalité du disque ou seulement
sur une partie de celui-ci.
Une installation sur une partie du disque crée une partition, ou `slice', pour
NetBSD dans le secteur de démarage (Master Boot Record, alias MBR) de votre
disque. Une installation sur la totalité du disque est `dangereusement
dédiée' : elle réinitialise complétement le MBR, ce qui efface tout système
d'exploitation ou données existants sur le disque. Cela rend également
impossible l'installation ultérieure d'un deuxième système d'exploitation,
sauf si vous reinstallez complètement NetBSD en utilisant uniquement une
partie du disque.
Que désirez vous faire ?
}
message wdtype
{Quel type de disque est %s?}
message sectforward
{Est ce que votre disque réassigne AUTOMATIQUEMENT les secteurs défectueux ?}
message dlgeom
{Votre disque a déjà un label BSD. Ce label montre une géométrie différente
de la géométrie réelle du disque. Les deux géométrie sont :
disklabel: %d cylindres, %d têtes, %d secteurs
géom réelle: %d cylindres, %d têtes, %d secteurs
}
/* the %s's will expand into three character strings */
message part_header
{ Début(%3s) Taille(%3s) Fin(%3s) Type
---------- ----------- ---------- ----
}
message part_row_start_unused
{%-1d: }
message part_row_start_used
{%-1d: %-10d %-11d %-10d}
message part_row_end
{ %s\n}
message setbiosgeom
{On va vous demander la géométrie. SVP entrer les valeur que vous désirez.
Rappelez vous que le nombre de cylindre doit être <= 1024 et que le nombre
de secteur doit être <=63. Si votre BIOS est configuré avec plus de 1024
cylindre, tronquez ce nombre à 1024 ici, NetBSD saura utiliser les cylindres
restant.
}
message confirmbiosgeom
{SVP vérifiez que la géometrie du BIOS ci-dessous est correcte. Le nombre
de cylindre à pu etre tronquée à 1024. Ce n'est pas un problème du moment
que les autres paramètres sont corrects. Seulement 1024 cuylindres peuvent
etre specifiés dans le secteur de boot, le reste sera trouvé d'une manière
différente par NetBSD.
Si vous réentrez ces valeurs, vérifiez qu'elles sont correctes et
correspondent à celles utilisées par d'autre systèmes sur ce disque. Des
valeurs différentes peuvent conduire à des pertes de données.
}
message badgeom
{Les valeurs actuelles de la géométrie de votre disque sont :
}
message realgeom
{ géom réelle: %d cylindres, %d têtes, %d secteurs (pour information)\n}
message biosgeom
{ géom fdisk: %d cylindres, %d têtes, %d secteurs \n}
message reentergeom
{La géométrie que vous venez de spécifier n'est pas utilisable. SVP entrez
de nouveau la géométrie.
}
message ovrwrite
{Votre disque a actuellement une partition autre que NetBSD. Voulez vous
vraiment l'écraser par une partition NetBSD ?
}
message parttable
{La table des partitions de votre disque est :
}
message editpart
{La partition %d ressemble à:\n\n}
message editparttable
{Editez votre table de partition DOS. La partition en surbrillance est
actuellement active. La table des partitions est :
}
message reeditpart
{Il y a des partitions BIOS qui se recouvrent ou bien vous n'avez pas
exactement une partition NetBSD. Vous devez éditer de nouveau la table
des partitions.
Voulez vous la rééditer ?
}
message nobsdpart
{Il n'y a pas de partition NetBSD dans la table des partitions du secteur de
boot.}
message multbsdpart
{Il y a plusieurs partition NetBSD dans la table des partitions du secteur de
boot. La partition %d sera utilisée.}
message dofdisk
{Configuration de la table des partition DOS ...
}
message dobad144
{Installation de la table des block défectueux ...
}
message dobootblks
{Installation des block de démarrage sur %s ...
}
message askfsroot1
{Je vais vous demander la taille et le point de montage de quelque partitions.
Et tout d'abord la partition racine. Il vous reste %d %s de libre sur
votre disque.
}
message askfsroot2
{Taille de la partition racine ? }
message askfsswap1
{
Et maintenant la taille de swap. Il vous reste %d %s de libre sur
votre disque.
}
message askfsswap2
{Taille du swap ? }
message otherparts
{Il vous reste de l'espace libre non alloué sur votre disque. SVP donnez la
taille et le point de " montage " des partitions suivantes.
}
message askfspart1
{La partition suivante est /dev/%s%c . Il vous reste %d %s de libre sur
votre disque.
}
message askfspart2
{Taille de la partition ? }
message cyl1024
{ Le label (liste des partitions) que vous avez entré a une partition racine
qui se termine après la limite du BIOS de 1024 cylindres. pour être sur que
le système puisse etre toujours démaré, cette partition doit etre entièrement
en dessous de cette limite. Vous pouvez: }
message onebiosmatch
{Ce disque correspond au disque du BIOS suivant:
}
message onebiosmatch_header
{BIOS # cylinders heads sectors
------ ---------- ------- -------
}
message onebiosmatch_row
{%-6x %-10d %-7d %-10d\n}
message biosmultmatch
{Ce disque correspond aux disques du BIOS suivants:
}
message biosmultmatch_header
{ BIOS # cylinders heads sectors
------ ---------- ------- -------
}
message biosmultmatch_row
{%-1d: %-6x %-10d %-7d %d\n}
message pickdisk
{Choisissez un disque: }
message wmbrfail
{L'écriture du MBR a échouée. Je ne peux pas continuer.}
message partabovechs
{La partition de votre disque réservée à NetBSD se trouve en-dehors de l'espace
que le BIOS de votre machine peut adresser. L'amorcage depuis cette partition
ne sera peut-etre pas possible. Voulez-vous reelement faire ceci ?
('Non' vous ramènera au menu d'edition des partitions.)}
message installbootsel
{Il me semble que vous avez plusieur système d'exploitation sur ce disque.
Voulez-vous installer un selecteur de boot qui vous permettra de choisir
quel système chargé lorsque votre ordinateur est (re)démarré?}
message installmbr
{Le début de la partition de votre disque réservée à NetBSD se trouve en-dehors
de l'espace que le BIOS peut adresser. Le programme d'amorcage du secteur de
demmarage doit utiliser l'interface étendue du BIOS pour ammorcer depuis cette
partition. Voulez-vous installer le programme d'amorcage de NetBSD pour etre
sur de pouvoir démarer depuis cette partition ? Notez que cela va écraser
le programme d'amorcage existant, comme un selecteur de boot.}
message configbootsel
{Configurez les differents choix du selecteur de boot. Vous pouvez changer
le menu proposé pour chaque partition lorsque le système demarre.
Vous pouvez également préciser le choix par defaut et le temps d'attente.
}
message bootseltimeout
{Temps d'attente: %d\n}
message defbootselopt
{Action par defaut: }
message defbootseloptactive
{Démarrer la première partition active.}
message defbootseloptpart
{Démarrer depuis la partition %d.\n}
message defbootseloptdisk
{Demarrer depuis le disque %d.\n}
message bootselitemname
{Entrez un nom pour ce choix}
message bootseltimeoutval
{Temps d'attente en secondes (0-3600)}
message bootsel_header
{Numéro Type Nom
------ -------------------------------- ---
}
message bootsel_row
{%-6d %-32s %s\n}

381
etc/etc.playstation2/MAKEDEV Executable file
View File

@ -0,0 +1,381 @@
#!/bin/sh -
#
# $NetBSD: MAKEDEV,v 1.1 2001/10/15 16:22:53 uch Exp $
#
# Copyright (c) 1990 The Regents of the University of California.
# All rights reserved.
#
# Redistribution and use in source and binary forms are permitted provided
# that: (1) source distributions retain this entire copyright notice and
# comment, and (2) distributions including binaries display the following
# acknowledgement: ``This product includes software developed by the
# University of California, Berkeley and its contributors'' in the
# documentation or other materials provided with the distribution and in
# all advertising materials mentioning features or use of this software.
# Neither the name of the University nor the names of its contributors may
# be used to endorse or promote products derived from this software without
# specific prior written permission.
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# @(#)MAKEDEV 5.2 (Berkeley) 6/22/90
#
###########################################################################
#
# PLEASE RUN "cd ../share/man/man8 ; perl5 MAKEDEV2manpage.pl"
# AFTER CHANGING THIS FILE, AND COMMIT THE UPDATED MANPAGE!
#
###########################################################################
#
# Device "make" file. Valid arguments:
# all makes all known devices, including local devices.
# Tries to make the 'standard' number of each type.
# std standard devices
# ramdisk devices to be put into INSTALL kernel ramdisks.
#
# Disks:
# wd* "winchester" disk drives (ST506,IDE,ESDI,RLL,...)
# vnd* "file" pseudo-disks
# md* memory pseudo-disk devices
# ccd* contatenated disk devices
# raid* RAIDframe disk devices
#
# Console ports:
# ttyE* wscons
#
# Pointing devices:
# wsmouse* wscons mouse events
#
# Keyboard devices:
# wskbd* wscons keyboard events
#
# Pseudo terminals:
# pty* set of 16 master and slave pseudo terminals
#
# Special purpose devices:
# fd file descriptors
# bpf* packet filter
# ipl ip filter
# random Random number generator
# tun* network tunnel driver
#
dialin=0
dialout=524288 # high bit of the minor number
callunit=262144
PATH=/sbin:/usr/sbin:/bin:/usr/bin
umask 77
for i
do
case $i in
all)
sh $0 std fd wd0 wd1
sh $0 wscons
sh $0 pty0 pty1 pty2 pty3
sh $0 bpf0 bpf1 bpf2 bpf3
sh $0 vnd0 vnd1 vnd2 vnd3
sh $0 random
sh $0 ipl
sh $0 tun0 tun1
sh $0 md0
sh $0 usbs
;;
std)
rm -f console drum mem kmem null zero io tty klog stdin stdout stderr
mknod console c 2 0
mknod drum c 1 0 ; chmod 640 drum ; chgrp kmem drum
mknod kmem c 0 1 ; chmod 640 kmem ; chgrp kmem kmem
mknod mem c 0 0 ; chmod 640 mem ; chgrp kmem mem
mknod null c 0 2 ; chmod 666 null
mknod zero c 0 12 ; chmod 666 zero
mknod io c 0 14 ; chmod 640 io ; chgrp kmem io
mknod tty c 3 0 ; chmod 666 tty
mknod klog c 5 0 ; chmod 600 klog
mknod stdin c 4 0 ; chmod 666 stdin
mknod stdout c 4 1 ; chmod 666 stdout
mknod stderr c 4 2 ; chmod 666 stderr
;;
ramdisk)
sh $0 md0
;;
wscons)
sh $0 ttyE0 ttyE1 ttyE2 ttyE3 ttyE4 ttyE5 ttyE6 ttyE7
sh $0 wsmouse0 wsmouse1 wsmouse2 wsmouse3
sh $0 wskbd0 wskbd1 wskbd2 wskbd3
sh $0 ttyEcfg
sh $0 wsmux0 wsmux1
;;
ttyEcfg)
chr=27
rm -f ttyEcfg
mknod ttyEcfg c $chr 255
chown root.wheel ttyEcfg
chmod 600 ttyEcfg
;;
ttyE*)
chr=27; unit=${i#ttyE}
rm -f ttyE$unit
mknod ttyE$unit c $chr $unit
chown root.wheel ttyE$unit
;;
wsmouse*)
unit=${i#wsmouse}
wsmouse=wsmouse$unit
major=29
rm -f $wsmouse
mknod $wsmouse c $major $unit
chown root.wheel $wsmouse
chmod 600 $wsmouse
;;
wskbd*)
unit=${i#wskbd}
wskbd=wskbd$unit
major=28
rm -f $wskbd
mknod $wskbd c $major $unit
chown root.wheel $wskbd
chmod 600 $wskbd
;;
wsmux*)
unit=${i#wsmux}
wsmux=wsmux$unit
major=30
rm -f $wsmux
mknod $wsmux c $major $unit
chown root.wheel $wsmux
chmod 600 $wsmux
;;
fd)
rm -f fd/*
mkdir fd > /dev/null 2>&1
n=0
while [ $n -lt 64 ]; do
mknod fd/$n c 4 $n
n=$(($n + 1))
done
chown -R root.wheel fd
chmod 755 fd
chmod 666 fd/*
;;
md*)
unit=${i#md}; blk=6; chr=12;
rm -f md${unit}? rmd${unit}?
mknod md${unit}a b $blk $(($unit * 8 + 0))
mknod md${unit}d b $blk $(($unit * 8 + 3))
chgrp operator md${unit}? #rmd${unit}?
chmod 640 md${unit}? #rmd${unit}?
;;
ccd*|vnd*|wd*|raid*)
case $i in
ccd*) name=ccd; unit=${i#ccd}; blk=7; chr=13;;
raid*) name=raid; unit=${i#raid}; blk=9; chr=15;;
vnd*) name=vnd; unit=${i#vnd}; blk=8; chr=14;;
wd*) name=wd; unit=${i#wd}; blk=1; chr=10;;
esac
rm -f $name$unit? r$name$unit?
mknod ${name}${unit}a b $blk $(($unit * 8 + 0))
mknod ${name}${unit}b b $blk $(($unit * 8 + 1))
mknod ${name}${unit}c b $blk $(($unit * 8 + 2))
mknod ${name}${unit}d b $blk $(($unit * 8 + 3))
mknod ${name}${unit}e b $blk $(($unit * 8 + 4))
mknod ${name}${unit}f b $blk $(($unit * 8 + 5))
mknod ${name}${unit}g b $blk $(($unit * 8 + 6))
mknod ${name}${unit}h b $blk $(($unit * 8 + 7))
mknod r${name}${unit}a c $chr $(($unit * 8 + 0))
mknod r${name}${unit}b c $chr $(($unit * 8 + 1))
mknod r${name}${unit}c c $chr $(($unit * 8 + 2))
mknod r${name}${unit}d c $chr $(($unit * 8 + 3))
mknod r${name}${unit}e c $chr $(($unit * 8 + 4))
mknod r${name}${unit}f c $chr $(($unit * 8 + 5))
mknod r${name}${unit}g c $chr $(($unit * 8 + 6))
mknod r${name}${unit}h c $chr $(($unit * 8 + 7))
chgrp operator $name$unit? r$name$unit?
chmod 640 $name$unit? r$name$unit?
;;
pty*)
class=${i#pty}
case $class in
0) name=p;;
1) name=q;;
2) name=r;;
3) name=s;;
4) name=t;;
5) name=u;;
6) name=v;;
7) name=w;;
8) name=x;;
9) name=y;;
10) name=z;;
11) name=P;;
12) name=Q;;
13) name=R;;
14) name=S;;
15) name=T;;
*) echo "$0: $i: pty unit must be between 0 and 15"
continue ;;
esac
rm -f tty$name[0-9a-f] pty$name[0-9a-f]
for j in 0 1 2 3 4 5 6 7 8 9 a b c d e f
do
case $j in
[0-9]) jn=$j ;;
a) jn=10 ;;
b) jn=11 ;;
c) jn=12 ;;
d) jn=13 ;;
e) jn=14 ;;
f) jn=15 ;;
esac
unit=$(($class * 16 + $jn))
mknod tty$name$j c 7 $unit
mknod pty$name$j c 6 $unit
done
chgrp wheel tty$name? pty$name?
chmod 666 tty$name? pty$name?
;;
bpf*|tun*)
case $i in
bpf*) name=bpf; unit=${i#bpf}; chr=25;;
tun*) name=tun; unit=${i#tun}; chr=24;;
esac
rm -f $name$unit
mknod $name$unit c $chr $unit
chown root.wheel $name$unit
;;
ipl)
rm -f ipl ipnat ipstate ipauth
mknod ipl c 23 0
mknod ipnat c 23 1
mknod ipstate c 23 2
mknod ipauth c 23 3
chown root.wheel ipl ipnat ipstate ipauth
chmod 600 ipl ipnat ipstate ipauth
;;
random)
rm -f random urandom
mknod random c 26 0
mknod urandom c 26 1
chown root.wheel random urandom
chmod 444 random
chmod 644 urandom
;;
usbs)
sh $0 usb usb0
sh $0 uhid0 uhid1 uhid2 uhid3
sh $0 ulpt0 ulpt1
sh $0 ttyU0 ttyU1
sh $0 urio0
sh $0 uscanner0 uscanner1
;;
usb*)
unit=${i#usb}
if [ "$unit" = "" ]; then
unit=255
usb=usb
else
usb=usb$unit
fi
major=31
rm -f $usb
mknod $usb c $major $unit
chown root.wheel $usb
chmod 600 $usb
;;
uhid*)
unit=${i#uhid}
uhid=uhid$unit
major=32
rm -f $uhid
mknod $uhid c $major $unit
chown root.wheel $uhid
chmod 666 $uhid
;;
ulpt*)
unit=${i#ulpt}
ulpt=ulpt$unit
major=33
rm -f $ulpt
mknod $ulpt c $major $unit
chown root.wheel $ulpt
chmod 600 $ulpt
;;
ugen*)
unit=${i#ugen}
ugen=ugen$unit
major=34
for j in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
do
ugenj=$ugen.$j
rm -f $ugenj
mknod $ugenj c $major $(($unit * 16 + $j))
chown root.wheel $ugenj
chmod 600 $ugenj
done
;;
ttyU*)
unit=${i#ttyU}
ttyU=ttyU$unit
dtyU=dtyU$unit
ctyU=ctyU$unit
major=35
rm -f $ttyU $dtyU $ctyU
mknod $ttyU c $major $(($unit + $dialin ))
mknod $dtyU c $major $(($unit + $dialout ))
mknod $ctyU c $major $(($unit + $callunit))
chown uucp.wheel $ttyU $dtyU $ctyU
chmod 600 $ttyU $dtyU $ctyU
;;
urio*)
unit=${i#urio}
urio=urio$unit
major=36
rm -f $urio
mknod $urio c $major $unit
chown root.wheel $urio
chmod 600 $urio
;;
uscanner*)
unit=${i#uscanner}
uscanner=uscanner$unit
major=37
rm -f $uscanner
mknod $uscanner c $major $unit
chown root.wheel $uscanner
chmod 600 $uscanner
;;
*)
echo $i: unknown device
;;
esac
done

View File

@ -0,0 +1,11 @@
# $NetBSD: Makefile.inc,v 1.1 2001/10/15 16:22:53 uch Exp $
BUILD_KERNELS+= RAMDISK
snap_md_post:
.ifndef UPDATE
cd ${.CURDIR}/../distrib && ${MAKE} cleandir
.endif
cd ${.CURDIR}/../distrib && ${MAKE} depend && ${MAKE}
cd ${.CURDIR}/../distrib/playstation2 && ${MAKE} release
cd ${.CURDIR}/../distrib/notes && ${MAKE} release

View File

@ -0,0 +1,39 @@
# $NetBSD: disktab,v 1.1 2001/10/15 16:22:53 uch Exp $
#
# from: @(#)disktab 8.1 (Berkeley) 6/9/93
#
# Disk geometry and partition layout tables.
# Key:
# dt controller type
# ty type of disk (fixed, removeable, simulated)
# d[0-4] drive-type-dependent parameters
# ns #sectors/track
# nt #tracks/cylinder
# nc #cylinders/disk
# sc #sectors/cylinder, nc*nt default
# su #sectors/unit, sc*nc default
# se sector size, DEV_BSIZE default
# rm rpm, 3600 default
# sf supports bad144-style bad sector forwarding
# sk sector skew per track, default 0
# cs sector skew per cylinder, default 0
# hs headswitch time, default 0
# ts one-cylinder seek time, default 0
# il sector interleave (n:1), 1 default
# bs boot block size, default BBSIZE
# sb superblock size, default SBSIZE
# o[a-h] partition offsets in sectors
# p[a-h] partition sizes in sectors
# b[a-h] partition block sizes in bytes
# f[a-h] partition fragment sizes in bytes
# t[a-h] partition types (filesystem, swap, etc)
# b[0-1] primary and secondary bootstraps, optional
#
# All partition sizes contain space for bad sector tables unless
# the device drivers fail to support this. Smaller disks may
# not have all partitions and all disks have no defaults for
# the `h' partition. The strategy here is that `a' always
# has the same amount for all disks (currently 65536 sectors or 32megs).
* The `b' partition is approx 48 megs while `c' is always the entire disk. T
# The sum of `d', `e', and `f' is equal to `g' which is everything else.

View File

@ -0,0 +1,5 @@
# $NetBSD: fstab.wd,v 1.1 2001/10/15 16:22:53 uch Exp $
/dev/wd0a / ffs rw 1 1
/dev/wd0b none swap sw 0 0
kernfs /kern kernfs rw 0 0
procfs /proc procfs rw 0 0

75
etc/etc.playstation2/ttys Normal file
View File

@ -0,0 +1,75 @@
#
# $NetBSD: ttys,v 1.1 2001/10/15 16:22:53 uch Exp $
#
# name getty type status comments
# Workstation console (framebuffer) ttys
ttyE0 "/usr/libexec/getty std.9600" vt100 on secure
#
# pseudo-terminals
#
ttyp0 none network
ttyp1 none network
ttyp2 none network
ttyp3 none network
ttyp4 none network
ttyp5 none network
ttyp6 none network
ttyp7 none network
ttyp8 none network
ttyp9 none network
ttypa none network
ttypb none network
ttypc none network
ttypd none network
ttype none network
ttypf none network
ttyq0 none network
ttyq1 none network
ttyq2 none network
ttyq3 none network
ttyq4 none network
ttyq5 none network
ttyq6 none network
ttyq7 none network
ttyq8 none network
ttyq9 none network
ttyqa none network
ttyqb none network
ttyqc none network
ttyqd none network
ttyqe none network
ttyqf none network
ttyr0 none network
ttyr1 none network
ttyr2 none network
ttyr3 none network
ttyr4 none network
ttyr5 none network
ttyr6 none network
ttyr7 none network
ttyr8 none network
ttyr9 none network
ttyra none network
ttyrb none network
ttyrc none network
ttyrd none network
ttyre none network
ttyrf none network
ttys0 none network
ttys1 none network
ttys2 none network
ttys3 none network
ttys4 none network
ttys5 none network
ttys6 none network
ttys7 none network
ttys8 none network
ttys9 none network
ttysa none network
ttysb none network
ttysc none network
ttysd none network
ttyse none network
ttysf none network

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.19 2000/05/02 18:20:41 nonaka Exp $
# $NetBSD: Makefile,v 1.20 2001/10/15 16:22:53 uch Exp $
SUBDIR= mbr
.if ${MACHINE} == "i386"
@ -7,7 +7,7 @@ SUBDIR+= mbr_bootsel
.if (${MACHINE} == "i386" || ${MACHINE} == "bebox" || ${MACHINE} == "cobalt" ||\
${MACHINE} == "ofppc" || ${MACHINE} == "hpcmips" || ${MACHINE} == "arc" ||\
${MACHINE} == "prep")
${MACHINE} == "prep" || ${MACHINE} == "playstation2")
PROG= fdisk
SRCS= fdisk.c
DPADD+= ${LIBUTIL}