#	$NetBSD: INSTALL,v 1.121 2022/06/11 04:57:57 tsutsui Exp $

#
#	INSTALL -- installation kernel.
#

include "arch/x68k/conf/std.x68k"

#options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

#ident 		"INSTALL-$Revision: 1.121 $"

makeoptions	COPTS="-Os -fno-unwind-tables" # Optimise for space. Implies -O2

maxusers	4

## Enable the hooks used for initializing the memory-disk.
options 	MEMORY_DISK_HOOKS
options 	MEMORY_DISK_IS_ROOT	# Force root on memory-disk
options 	MEMORY_DISK_SERVER=0	# No user space hooks
options 	MEMORY_DISK_ROOT_SIZE=3600	# size of memory disk, in blocks
options 	MEMORY_DISK_RBFLAGS=RB_SINGLE	# boot in single-user mode

## System kernel configuration.  See options(4) for more detail.


## Options for variants of the m68k MPU
## you must have at least the correct one; REQUIRED
options 	M68030
options 	M68040
options 	M68060
## If you want an optimized kernel for a specific processor, use either:
#makeoptions	CMACHFLAGS="-m68030"
#makeoptions	CMACHFLAGS="-m68040 -Wa,-m68030 -Wa,-m68851"
#makeoptions	CMACHFLAGS="-m68060 -Wa,-m68030 -Wa,-m68851"


#### System options specific to the x68k port

options 	EXTENDED_MEMORY		# support for >16MB memory
options 	FPU_EMULATE		# software fpu emulation for MC68030
options 	FPSP			# floating point emulation for MC68040
options 	M060SP			# int/fp emulation for MC68060
#options 	JUPITER			# support for "Jupiter-X" accelerator
#options 	ZSCONSOLE,ZSCN_SPEED="9600"	# use serial console


#### System options that are the same for all ports

## Root device configuration: change the ?'s if you are going to use a
## nonstandard root partition (other than where the kernel is booted from)
## and/or nonstandard root type (not ffs or nfs).  Normally this can be
## automagically determined at boot time.

config		netbsd	root on ? type ?
#config		netbsd	root on sd0 type ffs

## RTC is offset from GMT; -540 means JST-9
options 	RTC_OFFSET=-540	# hardware clock is this many mins. west of GMT

## System call tracing (see ktrace(1)).
#options 	KTRACE

## System V compatible IPC subsystem.  (msgctl(2), semctl(2), and shmctl(2))
#options 	SYSVMSG		# System V message queues
#options 	SYSVSEM		# System V semaphores
#options 	SYSVSHM		# System V shared memory

## Loadable kernel module support

options 	USERCONF		# userconf(4) support
options 	PIPE_SOCKETPAIR		# smaller, but slower pipe(2)
#options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel

## NFS boot options; not supported currently: needs nfsboot program
#options 	NFS_BOOT_BOOTPARAM
#options 	NFS_BOOT_BOOTP
#options 	NFS_BOOT_DHCP

#### Debugging options

## The DDB in-kernel debugger runs at panic (unless DDB_ONPANIC=0), or at
## serial console break or keyboard reset, where the PROM would normally
## intercept.  DDB_HISTORY_SIZE adds up/down arrow command history.
#options 	DDB			# kernel dynamic debugger
#options 	DDB_HISTORY_SIZE=100	# enable history editing in DDB
#options 	DDB_ONPANIC=1		# see also sysctl(7): `ddb.onpanic'
#options 	PANICBUTTON		# interrupt switch invokes DDB

## You may also use gdb, on another computer connected to this machine over
## a serial port.  Both KGDB_DEV and KGDB_DEVRATE should be specified;
## KGDB_DEV is a dev_t encoded device number of the serial port to use.
## KGDB is not supported for now.
#options 	KGDB			# support for kernel gdb
#options 	KGDB_DEV=0xc00		# kgdb device number
#options 	KGDB_DEVRATE=9600	# baud rate

## Compile the kernel with debugging symbols (`netbsd.gdb' is the debug file),
## such that gdb(1) can be used on a kernel coredump.

#makeoptions	DEBUG="-g"

## Adds code to the kernel that does internal consistency checks, and will
## cause the kernel to panic if corruption of internal data structures
## is detected.
#options 	DIAGNOSTIC	# extra kernel sanity checking

## Enable (possibly expensive) debugging code that may also display messages
## on the system console
#options 	DEBUG

## Make SCSI error messages more verbose when explaining their meanings.
#options 	SCSIVERBOSE

## `INSECURE' turns off the kernel security level (securelevel = 0 always).
## This allows writing to /dev/mem, loading kernel modules while multi-user,
## and other insecurities good only for development work.  Do not use this
## option on a production machine.
#options 	INSECURE

## `FDSCRIPTS' allows non-readable but executable scripts by providing a
## pre-opened opaque file to the script interpreter.  `SETUIDSCRIPTS',
## which implies FDSCRIPTS, allows scripts to be set-user-id using the same
## opaque file mechanism.  Perl calls this "secure setuid scripts."

#options 	FDSCRIPTS
#options 	SETUIDSCRIPTS

## Options for compatibility with previous releases foreign system binaries.

include 	"conf/compat_netbsd30.config"

#options 	COMPAT_AOUT_M68K # compatibility with NetBSD/m68k a.out
#options 	COMPAT_M68K4K	# NetBSD/m68k4k binaries
#options 	COMPAT_SUNOS	# SunOS 4.x binary compatibility; broken
#options 	COMPAT_LINUX	# Linux/m68k binary compatibility
#options 	COMPAT_OSSAUDIO	# Linux/m68k binary compatibility

## File systems.
file-system	FFS		# Berkeley Fast Filesystem
file-system	NFS		# Sun NFS-compatible filesystem client
#file-system	KERNFS		# kernel data-structure filesystem
#file-system	NULLFS		# NULL layered filesystem
#file-system 	OVERLAY		# overlay file system
#file-system	MFS		# memory-based filesystem
#file-system	FDESC		# user file descriptor filesystem
#file-system	UMAPFS		# uid/gid remapping filesystem
#file-system	LFS		# Log-structured filesystem (experimental)
#file-system	PROCFS		# /proc
file-system	CD9660		# ISO 9660 + Rock Ridge file system
#file-system	UNION		# union file system (a little buggy)
file-system	MSDOSFS		# MS-DOS FAT filesystem(s).
#file-system 	ADOSFS		# AmigaDOS filesystem
#file-system	PTYFS		# /dev/pts/N support

## File system options.
#options 	NFSSERVER	# Sun NFS-compatible filesystem server
#options 	QUOTA		# legacy UFS quotas
#options 	QUOTA2		# new, in-filesystem UFS quotas
#options 	FFS_EI		# FFS Endian Independent support
options 	WAPBL		# File system journaling support
#options 	NFS_V2_ONLY	# Exclude NFS3 code to save space
options 	FFS_NO_SNAPSHOT	# No FFS snapshot support

## Network protocol support.  In most environments, INET is required.
options 	INET		# IP (Internet Protocol) v4
options 	INET6		# IPV6
#options 	IPSEC		# IP security
#options 	IPSEC_DEBUG	# debug for IP security
#options 	GATEWAY		# packet forwarding ("router switch")
#options 	MROUTING	# packet forwarding of multicast packets
#options 	PIM		# Protocol Independent Multicast
#options 	NETATALK	# AppleTalk (over Ethernet) protocol
#options 	NTP		# Network Time Protocol in-kernel support
#options 	PPS_SYNC	# Add serial line synchronization for NTP
#options 	PPP_BSDCOMP	# Add BSD compression to ppp device
#options 	PPP_DEFLATE	# Add deflate (libz) compression to ppp device
#options 	PPP_FILTER	# Add active filters for ppp (via bpf)
#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG


#### Device configurations

## Fundamental devices; see also std.x68k
dmac0	at intio0 addr 0xe84000		# DMA controller
xel0	at intio0
opm0	at intio0 addr 0xe90000		# OPM: required for fdc

## Display devices and console
grfbus0	at mainbus0			# bitmapped displays
grf0	at grfbus0 addr 0		# multiplane graphics
#grf1	at grfbus0 addr 1		# flexible graphics

kbd0	at mfp0				# standard keyboard
ite0	at grf0 grfaddr 0		# internal terminal emulator
options 	ITE_KERNEL_ATTR=4	# bold for kernel messages
					# see /sys/arch/x68k/dev/itevar.h

## floppy disks
fdc0	at intio0 addr 0xe94000 intr 96 dma 0 dmaintr 100 # floppy controller
fd*	at fdc0 unit ?			# builtin floppy drives

## SCSI devices
scsirom0 at intio0				# SCSI BIOS
scsirom1 at intio0				# SCSI BIOS
spc*	at scsirom?				# genuin SCSI
scsibus* at spc?
mha0	at scsirom?				# Mankai MK-HA1 (Mach-2)
scsibus* at mha0

sd*	at scsibus? target ? lun ?	# SCSI disks
cd*	at scsibus? target ? lun ?	# SCSI CD-ROMs
st*	at scsibus? target ? lun ?	# SCSI tapes
#ss*	at scsibus? target ? lun ?	# SCSI scanners
#ch*	at scsibus? target ? lun ?	# SCSI changer devices
#uk*	at scsibus? target ? lun ?	# SCSI unknown devices

## Ports
zsc0	at intio0 addr 0xe98000 intr 112
zstty0	at zsc0 channel 0		# built-in RS-232C
#ms0	at zsc0 channel 1		# standard mouse
#zsc1	at intio0 addr 0xeafc00 intr 113
#zstty2	at zsc1 channel 0
#zstty3	at zsc1 channel 1
#zsc2	at intio0 addr 0xeafc10 intr 114
#zstty4	at zsc2 channel 0
#zstty5	at zsc2 channel 1
#par0	at intio0 addr 0xe8c000 	# Builtin printer port

sram0	at intio0 addr 0xed0000		# battery-backuped static RAM
#pseudo-device	bell			# OPM bell

#com0	at intio0 addr 0xefff00 intr 240	# PSX16550, port1
#com1	at intio0 addr 0xefff10 intr 241	# PSX16550, port2

## Audio device
#vs0 at intio0 addr 0xe92000 dma 3 dmaintr 106
#audio*	at vs?

#spkr*	at audio?				# PC speaker (synthesized)

## Network interfaces
ne*	at intio0 addr 0xece300 intr 249	# Nereid Ethernet
ne*	at intio0 addr 0xeceb00 intr 248	# Nereid Ethernet
neptune0 at intio0 addr 0xece000 intr 249	# Neptune-X
neptune1 at intio0 addr 0xece400 intr 249	# Neptune-X at alt. addr.
ne*	at neptune? addr 0x300			# NE2000 or clone


#### Pseudo devices

pseudo-device	md			# boot floppy image
pseudo-device	loop
pseudo-device	bpfilter
pseudo-device	sl		
pseudo-device	pty			# pseudo-terminals
