diff --git a/distrib/playstation2/Makefile b/distrib/playstation2/Makefile new file mode 100644 index 000000000000..21ccc65bab98 --- /dev/null +++ b/distrib/playstation2/Makefile @@ -0,0 +1,32 @@ +# $NetBSD: Makefile,v 1.1 2001/10/15 16:22:50 uch Exp $ + +.include "../Makefile.inc" + +.include +.include +.include + +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 diff --git a/distrib/playstation2/Makefile.inc b/distrib/playstation2/Makefile.inc new file mode 100644 index 000000000000..2edc0c2d340a --- /dev/null +++ b/distrib/playstation2/Makefile.inc @@ -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 diff --git a/distrib/playstation2/miniroot/Makefile.inc b/distrib/playstation2/miniroot/Makefile.inc new file mode 100644 index 000000000000..50edf00de3bc --- /dev/null +++ b/distrib/playstation2/miniroot/Makefile.inc @@ -0,0 +1,4 @@ +# $NetBSD: Makefile.inc,v 1.1 2001/10/15 16:22:50 uch Exp $ + +VND=vnd0d +IMAGESIZE=10240 diff --git a/distrib/playstation2/miniroot/dot.profile b/distrib/playstation2/miniroot/dot.profile new file mode 100644 index 000000000000..6be7d04a6d70 --- /dev/null +++ b/distrib/playstation2/miniroot/dot.profile @@ -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. +# +# <> + +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 diff --git a/distrib/playstation2/miniroot/list b/distrib/playstation2/miniroot/list new file mode 100644 index 000000000000..1ebbfa43444f --- /dev/null +++ b/distrib/playstation2/miniroot/list @@ -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 diff --git a/distrib/playstation2/miniroot/termcap.vt100 b/distrib/playstation2/miniroot/termcap.vt100 new file mode 100644 index 000000000000..cca99bbb1ea4 --- /dev/null +++ b/distrib/playstation2/miniroot/termcap.vt100 @@ -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: diff --git a/distrib/sets/lists/base/md.playstation2 b/distrib/sets/lists/base/md.playstation2 new file mode 100644 index 000000000000..a0b438da1c68 --- /dev/null +++ b/distrib/sets/lists/base/md.playstation2 @@ -0,0 +1,2 @@ +# $NetBSD: md.playstation2,v 1.1 2001/10/15 16:22:51 uch Exp $ +./sbin/fdisk base-sysutil-root diff --git a/distrib/sets/lists/comp/md.playstation2 b/distrib/sets/lists/comp/md.playstation2 new file mode 100644 index 000000000000..2a50bd0dc639 --- /dev/null +++ b/distrib/sets/lists/comp/md.playstation2 @@ -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 diff --git a/distrib/sets/lists/etc/md.playstation2 b/distrib/sets/lists/etc/md.playstation2 new file mode 100644 index 000000000000..35e32d376c1a --- /dev/null +++ b/distrib/sets/lists/etc/md.playstation2 @@ -0,0 +1,2 @@ +# $NetBSD: md.playstation2,v 1.1 2001/10/15 16:22:51 uch Exp $ +./etc/fstab.wd etc-sys-etc diff --git a/distrib/utils/sysinst/arch/playstation2/Makefile b/distrib/utils/sysinst/arch/playstation2/Makefile new file mode 100644 index 000000000000..47d2765f2f22 --- /dev/null +++ b/distrib/utils/sysinst/arch/playstation2/Makefile @@ -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" diff --git a/distrib/utils/sysinst/arch/playstation2/mbr_buf.s b/distrib/utils/sysinst/arch/playstation2/mbr_buf.s new file mode 100644 index 000000000000..0864141e2d99 --- /dev/null +++ b/distrib/utils/sysinst/arch/playstation2/mbr_buf.s @@ -0,0 +1,6 @@ + .abicalls + .bss + .align 2 + .space 2 + .globl mbr +mbr: .space 512 diff --git a/distrib/utils/sysinst/arch/playstation2/md.c b/distrib/utils/sysinst/arch/playstation2/md.c new file mode 100644 index 000000000000..7d4c1efe1992 --- /dev/null +++ b/distrib/utils/sysinst/arch/playstation2/md.c @@ -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 +#include +#include +#include +#include +#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); +} diff --git a/distrib/utils/sysinst/arch/playstation2/md.h b/distrib/utils/sysinst/arch/playstation2/md.h new file mode 100644 index 000000000000..f29008c1ebd5 --- /dev/null +++ b/distrib/utils/sysinst/arch/playstation2/md.h @@ -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 +#include +#include +#include +#include + +/* 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. + */ + + diff --git a/distrib/utils/sysinst/arch/playstation2/menus.md.en b/distrib/utils/sysinst/arch/playstation2/menus.md.en new file mode 100644 index 000000000000..2a36743efd2f --- /dev/null +++ b/distrib/utils/sysinst/arch/playstation2/menus.md.en @@ -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; }; +*/ diff --git a/distrib/utils/sysinst/arch/playstation2/menus.md.fr b/distrib/utils/sysinst/arch/playstation2/menus.md.fr new file mode 100644 index 000000000000..d8294df570f1 --- /dev/null +++ b/distrib/utils/sysinst/arch/playstation2/menus.md.fr @@ -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; }; diff --git a/distrib/utils/sysinst/arch/playstation2/msg.md.en b/distrib/utils/sysinst/arch/playstation2/msg.md.en new file mode 100644 index 000000000000..c9b44684f1ee --- /dev/null +++ b/distrib/utils/sysinst/arch/playstation2/msg.md.en @@ -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} diff --git a/distrib/utils/sysinst/arch/playstation2/msg.md.fr b/distrib/utils/sysinst/arch/playstation2/msg.md.fr new file mode 100644 index 000000000000..98ff5104f069 --- /dev/null +++ b/distrib/utils/sysinst/arch/playstation2/msg.md.fr @@ -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} diff --git a/etc/etc.playstation2/MAKEDEV b/etc/etc.playstation2/MAKEDEV new file mode 100755 index 000000000000..5e08b023a9a4 --- /dev/null +++ b/etc/etc.playstation2/MAKEDEV @@ -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 diff --git a/etc/etc.playstation2/Makefile.inc b/etc/etc.playstation2/Makefile.inc new file mode 100644 index 000000000000..3c2f6b6f9e99 --- /dev/null +++ b/etc/etc.playstation2/Makefile.inc @@ -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 diff --git a/etc/etc.playstation2/disktab b/etc/etc.playstation2/disktab new file mode 100644 index 000000000000..7e182e28cadd --- /dev/null +++ b/etc/etc.playstation2/disktab @@ -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. diff --git a/etc/etc.playstation2/fstab.wd b/etc/etc.playstation2/fstab.wd new file mode 100644 index 000000000000..1142a5d9c455 --- /dev/null +++ b/etc/etc.playstation2/fstab.wd @@ -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 diff --git a/etc/etc.playstation2/ttys b/etc/etc.playstation2/ttys new file mode 100644 index 000000000000..063e9d51a87b --- /dev/null +++ b/etc/etc.playstation2/ttys @@ -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 diff --git a/sbin/fdisk/Makefile b/sbin/fdisk/Makefile index caff3e880df4..6c824239f824 100644 --- a/sbin/fdisk/Makefile +++ b/sbin/fdisk/Makefile @@ -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}