md.h revision 1.4
11.4Smartin/*	$NetBSD: md.h,v 1.4 2019/12/09 19:16:53 martin Exp $	*/
21.1Sdholland
31.1Sdholland/*
41.1Sdholland * Copyright 1997 Piermont Information Systems Inc.
51.1Sdholland * All rights reserved.
61.1Sdholland *
71.1Sdholland * Based on code written by Philip A. Nelson for Piermont Information
81.1Sdholland * Systems Inc.  Modified by Minoura Makoto for x68k.
91.1Sdholland *
101.1Sdholland * Redistribution and use in source and binary forms, with or without
111.1Sdholland * modification, are permitted provided that the following conditions
121.1Sdholland * are met:
131.1Sdholland * 1. Redistributions of source code must retain the above copyright
141.1Sdholland *    notice, this list of conditions and the following disclaimer.
151.1Sdholland * 2. Redistributions in binary form must reproduce the above copyright
161.1Sdholland *    notice, this list of conditions and the following disclaimer in the
171.1Sdholland *    documentation and/or other materials provided with the distribution.
181.1Sdholland * 3. The name of Piermont Information Systems Inc. may not be used to endorse
191.1Sdholland *    or promote products derived from this software without specific prior
201.1Sdholland *    written permission.
211.1Sdholland *
221.1Sdholland * THIS SOFTWARE IS PROVIDED BY PIERMONT INFORMATION SYSTEMS INC. ``AS IS''
231.1Sdholland * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
241.1Sdholland * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
251.1Sdholland * ARE DISCLAIMED. IN NO EVENT SHALL PIERMONT INFORMATION SYSTEMS INC. BE
261.1Sdholland * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
271.1Sdholland * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
281.1Sdholland * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
291.1Sdholland * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
301.1Sdholland * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
311.1Sdholland * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
321.1Sdholland * THE POSSIBILITY OF SUCH DAMAGE.
331.1Sdholland *
341.1Sdholland */
351.1Sdholland
361.1Sdholland/* md.h -- Machine specific definitions for the x68k */
371.1Sdholland
381.1Sdholland
391.1Sdholland#include <machine/cpu.h>
401.1Sdholland#include <sys/types.h>
411.1Sdholland#include <sys/stat.h>
421.1Sdholland#include <fcntl.h>
431.1Sdholland#include <unistd.h>
441.1Sdholland
451.1Sdholland
461.1Sdholland/* constants and defines */
471.1Sdholland
481.1Sdholland/*
491.1Sdholland * Symbolic names for disk partitions.
501.1Sdholland */
511.1Sdholland#define PART_ROOT	PART_A
521.1Sdholland#define PART_SWAP	PART_B
531.1Sdholland#define PART_RAW	PART_C
541.1Sdholland#define PART_USR	PART_D	/* Can be after PART_FIRST_FREE */
551.1Sdholland#define PART_FIRST_FREE	PART_E
561.1Sdholland
571.1Sdholland#define DEFSWAPRAM	32	/* Assume at least this RAM for swap calc */
581.2Smartin#define DEFROOTSIZE	48	/* Default root size */
591.1Sdholland#define DEFVARSIZE	32	/* Default /var size, if created */
601.2Smartin#define DEFUSRSIZE	1024	/* Default /usr size, if /home */
611.2Smartin#define XNEEDMB		256	/* Extra megs for full X installation */
621.2Smartin#define	DEBNEEDMB	800	/* Extra megs for debug sets */
631.1Sdholland
641.1Sdholland/* have support for booting from UFS2 */
651.1Sdholland#define HAVE_UFS2_BOOT
661.1Sdholland
671.1Sdholland/*
681.1Sdholland *  Default filesets to fetch and install during installation
691.1Sdholland *  or upgrade. The standard sets are:
701.3Smaya *      base etc comp games man misc rescue tests text xbase xcomp xetc xfont xserver
711.1Sdholland *
721.1Sdholland * x68k has the  MD set kern first, because generic kernels are  too
731.1Sdholland * big to fit on install floppies. i386 does not yet include the x sets.
741.1Sdholland *
751.1Sdholland * Third entry is the last extension name in the split sets for loading
761.1Sdholland * from floppy.
771.1Sdholland */
781.1Sdholland#define SET_KERNEL_1_NAME	"kern-GENERIC"
791.1Sdholland
801.1Sdholland/*
811.1Sdholland * Machine-specific command to write a new label to a disk.
821.1Sdholland * For example, i386  uses "/sbin/disklabel -w -r", just like i386
831.1Sdholland * miniroot scripts, though this may leave a bogus incore label.
841.1Sdholland * Sun ports should probably use  DISKLABEL_CMD "/sbin/disklabel -w"
851.1Sdholland * to get incore  to ondisk inode translation for the Sun proms.
861.1Sdholland * If not defined, we assume the port does not support disklabels and
871.1Sdholland * hand-edited disklabel will NOT be written by MI code.
881.1Sdholland *
891.1Sdholland * On x68k, do what the 1.2 install scripts did.
901.1Sdholland */
911.1Sdholland#define DISKLABEL_CMD "disklabel -w"
921.4Smartin
931.4Smartin/*
941.4Smartin * We rely on kernel support to translate Human68k partitions
951.4Smartin * to in-core disklabels, so we can not check for existance of "real"
961.4Smartin * disklabels on-disk before offering disklabel partitions.
971.4Smartin */
981.4Smartin#define	DISKLABEL_NO_ONDISK_VERIFY	1
99