RAMDISK revision 1.5
11.5Slukem# $NetBSD: RAMDISK,v 1.5 2001/11/20 08:43:38 lukem Exp $ 21.1Sfredette 31.1Sfredette# RAMDISK: Root/swap on ramdisk 41.1Sfredette# This kernel is used to: 51.1Sfredette# format the disk (not yet implemented) 61.1Sfredette# partition the disk (disklabel) 71.1Sfredette# 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.1Sfredette 141.1Sfredette# Machines to be supported by this kernel 151.1Sfredette#options FPU_EMULATE 161.1Sfredette 171.1Sfredette# Needs to be set per system. i.e change these as you see fit 181.1Sfredettemaxusers 2 191.1Sfredette 201.1Sfredette# Standard system options 211.1Sfredette#options KTRACE # system call tracing 221.1Sfredette#options SYSVMSG # System V message queues 231.1Sfredette#options SYSVSEM # System V semaphores 241.1Sfredette#options SYSVSHM # System V shared memory 251.1Sfredette#options SHMMAXPGS=1024 # 1024 pages is the default 261.1Sfredette#options LKM # loadable kernel modules 271.1Sfredette#options INSECURE # disable kernel security level 281.1Sfredette#options UCONSOLE # Allow non-root TIOCCONS 291.1Sfredette 301.1Sfredette# Which kernel debugger? Uncomment either this: 311.1Sfredette#options DDB 321.1Sfredette# ... or these for KGDB (gdb remote target) 331.1Sfredette#makeoptions DEBUG="-g" # debugging symbols for gdb 341.1Sfredette#options KGDB 351.5Slukem#options KGDB_DEV=0x0C00 # ttya=0C00 ttyb=0C01 361.1Sfredette 371.1Sfredette# Other debugging options 381.1Sfredette#options DDB_HISTORY_SIZE=100 # enable history editing in DDB 391.1Sfredette#options DEBUG # kernel debugging code 401.1Sfredette#options DIAGNOSTIC # extra kernel sanity checking 411.1Sfredette#options KMEMSTATS # kernel memory statistics (vmstat -m) 421.1Sfredette#options PMAP_DEBUG 431.1Sfredette#options SCSIDEBUG 441.1Sfredette#options SCSIVERBOSE # Verbose SCSI errors 451.1Sfredette 461.2Swiz# Compatibility options 471.1Sfredette#options COMPAT_SUNOS # can run SunOS 4.1.1 executables 481.1Sfredette#options COMPAT_43 # and 4.3BSD and ... 491.3Sfredetteoptions COMPAT_AOUT_M68K # support for NetBSD a.out executables 501.3Sfredetteoptions EXEC_AOUT # support for a.out executables 511.4Sabs#options TCP_COMPAT_42 # 4.2BSD TCP/IP bug compat. Not recommended. 521.1Sfredette 531.1Sfredette# Filesystem options 541.1Sfredettefile-system FFS # Berkeley Fast Filesystem 551.1Sfredettefile-system NFS # Sun NFS client support 561.1Sfredettefile-system CD9660 # ISO 9660 + Rock Ridge file system 571.1Sfredette#file-system FDESC # /dev/fd/* 581.1Sfredette#file-system KERNFS # /kern 591.1Sfredette#file-system NULLFS # loopback file system 601.1Sfredette#file-system OVERLAY # overlay file system 611.1Sfredette#file-system PROCFS # /proc 621.1Sfredette#file-system UNION # union file system 631.1Sfredette#file-system MFS # memory-based filesystem 641.1Sfredette 651.1Sfredette#options NFSSERVER # nfs server support 661.1Sfredette#options QUOTA # FFS quotas 671.1Sfredetteoptions FFS_EI # FFS Endian Independant support 681.1Sfredette#options SOFTDEP # FFS soft updates support. 691.1Sfredette 701.1Sfredette# Networking options 711.1Sfredetteoptions INET # IP prototol stack support 721.1Sfredette#options INET6 # IPV6 731.1Sfredette#options IPSEC # IP security 741.1Sfredette#options IPSEC_ESP # IP security (encryption part; define w/IPSEC) 751.1Sfredette#options IPSEC_DEBUG # debug for IP security 761.1Sfredette#options GATEWAY # IP packet forwarding 771.1Sfredette#options ISO,TPIP # OSI networking 781.1Sfredette#options EON # OSI tunneling over IP 791.1Sfredette#options CCITT,LLC,HDLC # X.25 801.1Sfredette#options PFIL_HOOKS # pfil(9) packet filter hooks. 811.4Sabs#options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG 821.1Sfredette 831.1Sfredette# Work-around for root on slow servers (insurance...) 841.1Sfredette#options NFS_BOOT_RWSIZE=1024 851.1Sfredette#options NFS_BOOT_BOOTPARAM 861.1Sfredette 871.1Sfredette# Enable the hooks used for initializing the root memory-disk. 881.1Sfredetteoptions MEMORY_DISK_HOOKS 891.1Sfredetteoptions MEMORY_DISK_IS_ROOT # force root on memory disk 901.1Sfredetteoptions MEMORY_DISK_SERVER=0 # no userspace memory disk support 911.1Sfredetteoptions MINIROOTSIZE=800 # size of memory disk, in blocks 921.1Sfredette 931.1Sfredetteconfig netbsd root on ? type ffs 941.1Sfredette 951.1Sfredette#### Main bus. 961.1Sfredettemainbus0 at root 971.1Sfredette 981.1Sfredette#### Bus types. 991.1Sfredette 1001.1Sfredetteobio0 at mainbus? # all Sun-2 1011.1Sfredetteobmem0 at mainbus? # all Sun-2 1021.1Sfredettembmem0 at mainbus? # 2/120, 2/170 1031.1Sfredettembio0 at mainbus? # 2/120, 2/170 1041.3Sfredettesun68kvme0 at mainbus? # 2/50, 2/130, 2/160 1051.3Sfredettevme0 at sun68kvme0 # mi VME attachment 1061.1Sfredette 1071.1Sfredette#### Standard system devices. 1081.1Sfredette 1091.1Sfredette## The AM9513 clock chip. 1101.1Sfredetteclock0 at obio0 addr 0x002800 # 2/120, 2/170 1111.3Sfredetteclock0 at obio0 addr 0x7f2800 # 2/50, 2/130, 2/160 1121.1Sfredette 1131.1Sfredette## The MM58167 time-of-day chip. 1141.1Sfredettetod0 at obio0 addr 0x003800 # 2/120, 2/170 1151.3Sfredettetod0 at vme0 addr 0x200800 # 2/50, 2/130, 2/160 1161.1Sfredette 1171.1Sfredette#### Serial port configuration. 1181.1Sfredette 1191.3Sfredette## Zilog 8530 serial chips. Each has two channels. 1201.1Sfredette## zs0 is ttya and ttyb. zs1 is the keyboard and mouse. 1211.1Sfredette## zs0 is REQUIRED to use KGDB. 1221.1Sfredettezs0 at obio0 addr 0x002000 # 2/120, 2/170 1231.3Sfredettezs0 at obio0 addr 0x7f2000 # 2/50 1241.1Sfredettezs1 at obmem0 addr 0x780000 # 2/120, 2/170 1251.3Sfredettezs1 at obio0 addr 0x7f1800 # 2/50 1261.1Sfredettezs2 at mbmem0 addr 0x080800 # 2/120, 2/170 (first sc SCSI) 1271.1Sfredettezs3 at mbmem0 addr 0x081000 # 2/120, 2/170 (first sc SCSI) 1281.1Sfredettezs4 at mbmem0 addr 0x084800 # 2/120, 2/170 (second sc SCSI) 1291.1Sfredettezs5 at mbmem0 addr 0x085000 # 2/120, 2/170 (second sc SCSI) 1301.3Sfredettezstty* at zs? channel ? # ttya 1311.3Sfredettekbd0 at zstty? # keyboard 1321.3Sfredette#ms0 at zstty? # mouse 1331.1Sfredette 1341.1Sfredette#### Disk controllers and disks. 1351.1Sfredette 1361.1Sfredette## PAL+logic-based "Sun SCSI 2" Multibus/VME SCSI controller. 1371.1Sfredette## This driver has several flags which may be enabled using 1381.1Sfredette## the "flags" directive. Valid flags are: 1391.1Sfredette## 1401.1Sfredette## 0x0ff Set (1<<target) to disable parity checking 1411.1Sfredette## 0x100 Set this bit to disable DMA interrupts (poll) 1421.1Sfredette## 0x200 Set this bit to disable DMA entirely (use PIO) 1431.1Sfredette## 1441.1Sfredette## For example: "flags 0x10f" would disable DMA interrupts, 1451.1Sfredette## and disable parity for targets 0-3 1461.1Sfredette 1471.1Sfredettesc0 at mbmem0 addr 0x80000 ipl 2 flags 0xff 1481.3Sfredettesc0 at vme0 addr 0x200000 irq 2 vect 0x40 flags 0xff 1491.1Sfredettesc1 at mbmem0 addr 0x84000 ipl 2 flags 0xff 1501.1Sfredette 1511.1Sfredette## NCR5380-based "Sun SCSI 3" VME SCSI controller. 1521.1Sfredette## This driver has several flags which may be enabled by OR'ing 1531.1Sfredette## the values and using the "flags" directive. 1541.1Sfredette## Valid flags are: 1551.1Sfredette## 1561.1Sfredette## 0x01 Use DMA (may be polled) 1571.1Sfredette## 0x02 Use DMA completion interrupts 1581.1Sfredette## 0x04 Allow disconnect/reselect 1591.1Sfredette## 1601.1Sfredette## E.g. the following would enable DMA, interrupts, and reselect: 1611.1Sfredette## si0 at vme0 addr 0x200000 ipl 3 vect 0x40 flags 0x07 1621.1Sfredette## 1631.1Sfredette## By default, DMA is enabled in the driver. 1641.1Sfredette 1651.3Sfredettesi0 at vme0 addr 0x200000 irq 2 vect 0x40 1661.1Sfredette 1671.1Sfredette## These entries find devices on all SCSI busses and assign 1681.1Sfredette## unit numbers dynamically. 1691.1Sfredettescsibus* at sc? 1701.3Sfredettescsibus* at si? 1711.1Sfredettesd* at scsibus? target ? lun ? # SCSI disks 1721.1Sfredettest* at scsibus? target ? lun ? # SCSI tapes 1731.1Sfredettecd* at scsibus? target ? lun ? # SCSI CD-ROMs 1741.1Sfredette#ch* at scsibus? target ? lun ? # SCSI changer devices 1751.1Sfredette#ss* at scsibus? target ? lun ? # SCSI scanners 1761.1Sfredette#ses* at scsibus? target ? lun ? # SCSI SES/SAF-TE 1771.1Sfredette#uk* at scsibus? target ? lun ? # unknown SCSI 1781.1Sfredette 1791.1Sfredette## Xylogics 450 or 451 Multibus/VME SMD disk controllers and disks. 1801.1Sfredette#xyc0 at mbio0 addr 0xee40 ipl 2 1811.3Sfredettexyc0 at vme0 addr 0xee40 irq 2 vect 0x48 1821.1Sfredette#xyc1 at mbio0 addr 0xee48 ipl 2 1831.3Sfredettexyc1 at vme0 addr 0xee48 irq 2 vect 0x49 1841.3Sfredettexy* at xyc? drive ? 1851.1Sfredette 1861.1Sfredette## Memory-disk device. 1871.1Sfredettepseudo-device md 2 1881.1Sfredette 1891.1Sfredette#### Network interfaces. 1901.1Sfredette 1911.1Sfredette## Intel Ethernet (onboard, or Multibus/VME) 1921.3Sfredetteie0 at obio0 addr 0x7f0800 ipl 3 # 2/50 1931.1Sfredetteie0 at mbmem0 addr 0x88000 ipl 3 1941.3Sfredetteie1 at mbmem0 addr 0x8c000 ipl 3 1951.3Sfredette## VME: the first [addr,len] pair specifies the device registers; 1961.3Sfredette## the second pair specifies the on-board memory buffer 1971.3Sfredetteie1 at vme0 addr 0xe88000,0xe00000 len -1,0x40000 irq 3 vect 0x75 1981.3Sfredette 1991.3Sfredette## 3Com Ethernet (Multibus only) 2001.3Sfredetteec0 at mbmem0 addr 0xe0000 ipl 3 2011.3Sfredetteec1 at mbmem0 addr 0xe2000 ipl 3 2021.1Sfredette 2031.1Sfredette## Frame buffers. 2041.1Sfredette 2051.1Sfredette## Sun "bwtwo" black and white framebuffer. 2061.3Sfredette#bwtwo0 at obmem0 addr 0x700000 # 2/120, 2/170 2071.3Sfredette#bwtwo0 at obio0 addr 0x0 # 2/50 2081.3Sfredette 2091.3Sfredette## PROM console driver -- if all else fails 2101.3Sfredettepcons0 at mainbus0 # PROM console 2111.1Sfredette 2121.1Sfredette#### Miscellaneous. 2131.1Sfredettepseudo-device loop 1 # network loopback 2141.1Sfredette#pseudo-device bpfilter 8 # packet filter 2151.1Sfredettepseudo-device sl 2 # CSLIP 2161.1Sfredette#pseudo-device ppp 2 # PPP 2171.1Sfredette#pseudo-device tun 2 # network tunneling over tty 2181.1Sfredette#pseudo-device gre 2 # generic L3 over IP tunnel 2191.1Sfredette#pseudo-device ipfilter # ip filter 2201.1Sfredette#pseudo-device gif 4 # IPv[46] over IPv[46] tunnel (RFC1933) 2211.1Sfredette#pseudo-device faith 1 # IPv[46] tcp relay translation i/f 2221.1Sfredette#pseudo-device stf 1 # 6to4 IPv6 over IPv4 encapsulation 2231.1Sfredette# rnd is EXPERIMENTAL 2241.1Sfredette#pseudo-device rnd # /dev/random and in-kernel generator 2251.1Sfredette 2261.1Sfredette#pseudo-device pty 32 # pseudo-terminals 2271.1Sfredette#pseudo-device vnd 4 # paging to files 2281.1Sfredette#pseudo-device ccd 4 # concatenated disks 2291.1Sfredette#pseudo-device raid 4 # RAIDframe disk driver 2301.1Sfredette#options RAID_AUTOCONFIG # auto-configuration of RAID components 231