11.61Schristos# $NetBSD: RAMDISK,v 1.61 2021/08/30 18:59:57 christos Exp $ 21.1Sfredette 31.1Sfredette# RAMDISK: Root/swap on ramdisk 41.1Sfredette# This kernel is used to: 51.6Slukem# format the disk (not yet implemented) 61.6Slukem# partition the disk (disklabel) 71.6Slukem# install the miniroot in the swap partition 81.1Sfredette 91.1Sfredette# GENERIC Sun2 (2/120, 2/170, 2/50, ...) 101.1Sfredette# Supports root on: ie0, sd*, ... 111.1Sfredette 121.1Sfredetteinclude "arch/sun2/conf/std.sun2" 131.14Satatat 141.14Satatat#options INCLUDE_CONFIG_FILE # embed config file in kernel binary 151.1Sfredette 161.61Schristosmakeoptions COPTS="-Os -ffunction-sections -fdata-sections" # optimize for size 171.61Schristosmakeoptions EXTRA_LINKFLAGS="--gc-sections" 181.61Schristosmakeoptions KERNLDSCRIPT="${SUN2}/conf/kern.ldscript" 191.36Stsutsui 201.1Sfredette# Machines to be supported by this kernel 211.1Sfredette#options FPU_EMULATE 221.1Sfredette 231.1Sfredette# Needs to be set per system. i.e change these as you see fit 241.1Sfredettemaxusers 2 251.1Sfredette 261.1Sfredette# Standard system options 271.1Sfredette#options KTRACE # system call tracing 281.1Sfredette#options SYSVMSG # System V message queues 291.1Sfredette#options SYSVSEM # System V semaphores 301.1Sfredette#options SYSVSHM # System V shared memory 311.1Sfredette#options INSECURE # disable kernel security level 321.60Schristos#options USERCONF # userconf(4) support 331.39Stsutsuioptions PIPE_SOCKETPAIR # smaller, but slower pipe(2) 341.18Satatat#options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel 351.1Sfredette 361.1Sfredette# Which kernel debugger? Uncomment either this: 371.1Sfredette#options DDB 381.1Sfredette# ... or these for KGDB (gdb remote target) 391.6Slukem#makeoptions DEBUG="-g" # debugging symbols for gdb 401.1Sfredette#options KGDB 411.5Slukem#options KGDB_DEV=0x0C00 # ttya=0C00 ttyb=0C01 421.1Sfredette 431.1Sfredette# Other debugging options 441.1Sfredette#options DDB_HISTORY_SIZE=100 # enable history editing in DDB 451.1Sfredette#options DEBUG # kernel debugging code 461.1Sfredette#options DIAGNOSTIC # extra kernel sanity checking 471.1Sfredette#options PMAP_DEBUG 481.1Sfredette#options SCSIDEBUG 491.1Sfredette#options SCSIVERBOSE # Verbose SCSI errors 501.1Sfredette 511.2Swiz# Compatibility options 521.58Smrg#include "conf/compat_netbsd10.config" 531.1Sfredette#options COMPAT_SUNOS # can run SunOS 4.1.1 executables 541.7Sfredette#options COMPAT_AOUT_M68K # support for NetBSD a.out executables 551.39Stsutsui#options EXEC_AOUT # support for a.out executables 561.60Schristos#options COMPAT_BSDPTY # /dev/[pt]ty?? ptys. 571.1Sfredette 581.1Sfredette# Filesystem options 591.1Sfredettefile-system FFS # Berkeley Fast Filesystem 601.60Schristos#file-system NFS # Sun NFS client support 611.60Schristos#file-system CD9660 # ISO 9660 + Rock Ridge file system 621.1Sfredette#file-system FDESC # /dev/fd/* 631.1Sfredette#file-system KERNFS # /kern 641.1Sfredette#file-system NULLFS # loopback file system 651.1Sfredette#file-system OVERLAY # overlay file system 661.1Sfredette#file-system PROCFS # /proc 671.1Sfredette#file-system UNION # union file system 681.1Sfredette#file-system MFS # memory-based filesystem 691.26Schristos#file-system PTYFS # /dev/pts/N support 701.1Sfredette 711.1Sfredette#options NFSSERVER # nfs server support 721.47Sbouyer#options QUOTA # legacy UFS quotas 731.47Sbouyer#options QUOTA2 # new, in-filesystem UFS quotas 741.48Swiz#options FFS_EI # FFS Endian Independent support 751.60Schristos#options NFS_V2_ONLY # Exclude NFS3 code to save space 761.28Stsutsuioptions FFS_NO_SNAPSHOT # No FFS snapshot support 771.1Sfredette 781.1Sfredette# Networking options 791.27Sisakioptions INET # IP protocol stack support 801.1Sfredette#options INET6 # IPV6 811.1Sfredette#options IPSEC # IP security 821.1Sfredette#options IPSEC_DEBUG # debug for IP security 831.1Sfredette#options GATEWAY # IP packet forwarding 841.4Sabs#options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG 851.1Sfredette 861.1Sfredette# Work-around for root on slow servers (insurance...) 871.1Sfredette#options NFS_BOOT_RWSIZE=1024 881.1Sfredette#options NFS_BOOT_BOOTPARAM 891.1Sfredette 901.1Sfredette# Enable the hooks used for initializing the root memory-disk. 911.6Slukemoptions MEMORY_DISK_HOOKS 921.6Slukemoptions MEMORY_DISK_IS_ROOT # force root on memory disk 931.6Slukemoptions MEMORY_DISK_SERVER=0 # no userspace memory disk support 941.41Sheoptions MEMORY_DISK_ROOT_SIZE=1200 # size of memory disk, in blocks 951.44Sjymoptions MEMORY_DISK_RBFLAGS=RB_SINGLE # boot in single-user mode 961.1Sfredette 971.1Sfredetteconfig netbsd root on ? type ffs 981.1Sfredette 991.1Sfredette#### Main bus. 1001.1Sfredettemainbus0 at root 1011.1Sfredette 1021.1Sfredette#### Bus types. 1031.1Sfredette 1041.1Sfredetteobio0 at mainbus? # all Sun-2 1051.1Sfredetteobmem0 at mainbus? # all Sun-2 1061.1Sfredettembmem0 at mainbus? # 2/120, 2/170 1071.1Sfredettembio0 at mainbus? # 2/120, 2/170 1081.3Sfredettesun68kvme0 at mainbus? # 2/50, 2/130, 2/160 1091.3Sfredettevme0 at sun68kvme0 # mi VME attachment 1101.1Sfredette 1111.1Sfredette#### Standard system devices. 1121.1Sfredette 1131.1Sfredette## The AM9513 clock chip. 1141.6Slukemclock0 at obio0 addr 0x002800 # 2/120, 2/170 1151.6Slukemclock0 at obio0 addr 0x7f2800 # 2/50, 2/130, 2/160 1161.1Sfredette 1171.1Sfredette## The MM58167 time-of-day chip. 1181.6Slukemtod0 at obio0 addr 0x003800 # 2/120, 2/170 1191.3Sfredettetod0 at vme0 addr 0x200800 # 2/50, 2/130, 2/160 1201.1Sfredette 1211.1Sfredette#### Serial port configuration. 1221.1Sfredette 1231.3Sfredette## Zilog 8530 serial chips. Each has two channels. 1241.1Sfredette## zs0 is ttya and ttyb. zs1 is the keyboard and mouse. 1251.1Sfredette## zs0 is REQUIRED to use KGDB. 1261.1Sfredettezs0 at obio0 addr 0x002000 # 2/120, 2/170 1271.3Sfredettezs0 at obio0 addr 0x7f2000 # 2/50 1281.1Sfredettezs1 at obmem0 addr 0x780000 # 2/120, 2/170 1291.3Sfredettezs1 at obio0 addr 0x7f1800 # 2/50 1301.9Sfredette#zs2 at mbmem0 addr 0x080800 # 2/120, 2/170 (first sc SCSI) 1311.9Sfredette#zs3 at mbmem0 addr 0x081000 # 2/120, 2/170 (first sc SCSI) 1321.9Sfredette#zs4 at mbmem0 addr 0x084800 # 2/120, 2/170 (second sc SCSI) 1331.9Sfredette#zs5 at mbmem0 addr 0x085000 # 2/120, 2/170 (second sc SCSI) 1341.3Sfredettezstty* at zs? channel ? # ttya 1351.3Sfredettekbd0 at zstty? # keyboard 1361.3Sfredette#ms0 at zstty? # mouse 1371.1Sfredette 1381.1Sfredette#### Disk controllers and disks. 1391.1Sfredette 1401.1Sfredette## PAL+logic-based "Sun SCSI 2" Multibus/VME SCSI controller. 1411.1Sfredette## This driver has several flags which may be enabled using 1421.1Sfredette## the "flags" directive. Valid flags are: 1431.1Sfredette## 1441.1Sfredette## 0x0ff Set (1<<target) to disable parity checking 1451.1Sfredette## 0x100 Set this bit to disable DMA interrupts (poll) 1461.1Sfredette## 0x200 Set this bit to disable DMA entirely (use PIO) 1471.1Sfredette## 1481.1Sfredette## For example: "flags 0x10f" would disable DMA interrupts, 1491.1Sfredette## and disable parity for targets 0-3 1501.1Sfredette 1511.1Sfredettesc0 at mbmem0 addr 0x80000 ipl 2 flags 0xff 1521.6Slukemsc0 at vme0 addr 0x200000 irq 2 vect 0x40 flags 0xff 1531.1Sfredettesc1 at mbmem0 addr 0x84000 ipl 2 flags 0xff 1541.1Sfredette 1551.1Sfredette## NCR5380-based "Sun SCSI 3" VME SCSI controller. 1561.1Sfredette## This driver has several flags which may be enabled by OR'ing 1571.1Sfredette## the values and using the "flags" directive. 1581.1Sfredette## Valid flags are: 1591.1Sfredette## 1601.1Sfredette## 0x01 Use DMA (may be polled) 1611.1Sfredette## 0x02 Use DMA completion interrupts 1621.1Sfredette## 0x04 Allow disconnect/reselect 1631.1Sfredette## 1641.1Sfredette## E.g. the following would enable DMA, interrupts, and reselect: 1651.1Sfredette## si0 at vme0 addr 0x200000 ipl 3 vect 0x40 flags 0x07 1661.1Sfredette## 1671.1Sfredette## By default, DMA is enabled in the driver. 1681.1Sfredette 1691.3Sfredettesi0 at vme0 addr 0x200000 irq 2 vect 0x40 1701.1Sfredette 1711.1Sfredette## These entries find devices on all SCSI busses and assign 1721.1Sfredette## unit numbers dynamically. 1731.1Sfredettescsibus* at sc? 1741.3Sfredettescsibus* at si? 1751.1Sfredettesd* at scsibus? target ? lun ? # SCSI disks 1761.1Sfredettest* at scsibus? target ? lun ? # SCSI tapes 1771.60Schristos#cd* at scsibus? target ? lun ? # SCSI CD-ROMs 1781.1Sfredette#ch* at scsibus? target ? lun ? # SCSI changer devices 1791.1Sfredette#ss* at scsibus? target ? lun ? # SCSI scanners 1801.1Sfredette#ses* at scsibus? target ? lun ? # SCSI SES/SAF-TE 1811.1Sfredette#uk* at scsibus? target ? lun ? # unknown SCSI 1821.8Sfredette 1831.8Sfredette# support old SCSI devices that don't understand the INQUIRY command 1841.8Sfredetteoptions SCSI_OLD_NOINQUIRY 1851.1Sfredette 1861.1Sfredette## Xylogics 450 or 451 Multibus/VME SMD disk controllers and disks. 1871.6Slukem#xyc0 at mbio0 addr 0xee40 ipl 2 1881.3Sfredettexyc0 at vme0 addr 0xee40 irq 2 vect 0x48 1891.6Slukem#xyc1 at mbio0 addr 0xee48 ipl 2 1901.3Sfredettexyc1 at vme0 addr 0xee48 irq 2 vect 0x49 1911.3Sfredettexy* at xyc? drive ? 1921.1Sfredette 1931.1Sfredette## Memory-disk device. 1941.46Shannkenpseudo-device md 1951.1Sfredette 1961.1Sfredette#### Network interfaces. 1971.1Sfredette 1981.1Sfredette## Intel Ethernet (onboard, or Multibus/VME) 1991.3Sfredetteie0 at obio0 addr 0x7f0800 ipl 3 # 2/50 2001.1Sfredetteie0 at mbmem0 addr 0x88000 ipl 3 2011.3Sfredetteie1 at mbmem0 addr 0x8c000 ipl 3 2021.3Sfredette## VME: the first [addr,len] pair specifies the device registers; 2031.3Sfredette## the second pair specifies the on-board memory buffer 2041.3Sfredetteie1 at vme0 addr 0xe88000,0xe00000 len -1,0x40000 irq 3 vect 0x75 2051.3Sfredette 2061.3Sfredette## 3Com Ethernet (Multibus only) 2071.3Sfredetteec0 at mbmem0 addr 0xe0000 ipl 3 2081.3Sfredetteec1 at mbmem0 addr 0xe2000 ipl 3 2091.34Stsutsui# limit NFS R/W size for poor ec(4) interfaces 2101.34Stsutsuioptions NFS_RSIZE=1024,NFS_WSIZE=1024 2111.1Sfredette 2121.1Sfredette## Frame buffers. 2131.1Sfredette 2141.1Sfredette## Sun "bwtwo" black and white framebuffer. 2151.6Slukem#bwtwo0 at obmem0 addr 0x700000 # 2/120, 2/170 2161.3Sfredette#bwtwo0 at obio0 addr 0x0 # 2/50 2171.3Sfredette 2181.3Sfredette## PROM console driver -- if all else fails 2191.3Sfredettepcons0 at mainbus0 # PROM console 2201.1Sfredette 2211.1Sfredette#### Miscellaneous. 2221.52Schristospseudo-device loop # network loopback 2231.30Srpaulo#pseudo-device bpfilter # packet filter 2241.60Schristos#pseudo-device sl # CSLIP 2251.31Scube#pseudo-device ppp # PPP 2261.31Scube#pseudo-device tun # network tunneling over tty 2271.31Scube#pseudo-device gre # generic L3 over IP tunnel 2281.59Smaxv#pseudo-device npf # NPF packet filter 2291.31Scube#pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933) 2301.31Scube#pseudo-device faith # IPv[46] tcp relay translation i/f 2311.31Scube#pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation 2321.1Sfredette 2331.52Schristospseudo-device pty # pseudo-terminals 2341.31Scube#pseudo-device vnd # paging to files 2351.52Schristos#pseudo-device ccd # concatenated disks 2361.53Schristos#pseudo-device raid # RAIDframe disk driver 2371.1Sfredette#options RAID_AUTOCONFIG # auto-configuration of RAID components 2381.45Spooka#pseudo-device fss # file system snapshot device 239