RAMDISK revision 1.12
11.12Slukem# $NetBSD: RAMDISK,v 1.12 2002/04/02 05:30:50 lukem 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.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.10Sjdolecek#options PIPE_SOCKETPAIR # smaller, but slower pipe(2) 301.1Sfredette 311.1Sfredette# Which kernel debugger? Uncomment either this: 321.1Sfredette#options DDB 331.1Sfredette# ... or these for KGDB (gdb remote target) 341.6Slukem#makeoptions DEBUG="-g" # debugging symbols for gdb 351.1Sfredette#options KGDB 361.5Slukem#options KGDB_DEV=0x0C00 # ttya=0C00 ttyb=0C01 371.1Sfredette 381.1Sfredette# Other debugging options 391.1Sfredette#options DDB_HISTORY_SIZE=100 # enable history editing in DDB 401.1Sfredette#options DEBUG # kernel debugging code 411.1Sfredette#options DIAGNOSTIC # extra kernel sanity checking 421.1Sfredette#options KMEMSTATS # kernel memory statistics (vmstat -m) 431.1Sfredette#options PMAP_DEBUG 441.1Sfredette#options SCSIDEBUG 451.1Sfredette#options SCSIVERBOSE # Verbose SCSI errors 461.1Sfredette 471.2Swiz# Compatibility options 481.1Sfredette#options COMPAT_SUNOS # can run SunOS 4.1.1 executables 491.1Sfredette#options COMPAT_43 # and 4.3BSD and ... 501.7Sfredette#options COMPAT_AOUT_M68K # support for NetBSD a.out executables 511.7Sfredette#options TCP_COMPAT_42 # 4.2BSD TCP/IP bug compat. Not recommended. 521.6Slukemoptions EXEC_AOUT # support for a.out executables 531.1Sfredette 541.1Sfredette# Filesystem options 551.1Sfredettefile-system FFS # Berkeley Fast Filesystem 561.1Sfredettefile-system NFS # Sun NFS client support 571.1Sfredettefile-system CD9660 # ISO 9660 + Rock Ridge file system 581.1Sfredette#file-system FDESC # /dev/fd/* 591.1Sfredette#file-system KERNFS # /kern 601.1Sfredette#file-system NULLFS # loopback file system 611.1Sfredette#file-system OVERLAY # overlay file system 621.1Sfredette#file-system PROCFS # /proc 631.1Sfredette#file-system UNION # union file system 641.1Sfredette#file-system MFS # memory-based filesystem 651.1Sfredette 661.1Sfredette#options NFSSERVER # nfs server support 671.1Sfredette#options QUOTA # FFS quotas 681.7Sfredette#options FFS_EI # FFS Endian Independant support 691.6Slukem#options SOFTDEP # FFS soft updates support. 701.9Sfredette#options NFS_V2_ONLY # Exclude NFS3 and NQNFS code to save space 711.8Sfredetteoptions VNODE_OP_NOINLINE # Save space by not inlining vnode op calls 721.1Sfredette 731.1Sfredette# Networking options 741.1Sfredetteoptions INET # IP prototol stack support 751.1Sfredette#options INET6 # IPV6 761.1Sfredette#options IPSEC # IP security 771.1Sfredette#options IPSEC_ESP # IP security (encryption part; define w/IPSEC) 781.1Sfredette#options IPSEC_DEBUG # debug for IP security 791.1Sfredette#options GATEWAY # IP packet forwarding 801.1Sfredette#options ISO,TPIP # OSI networking 811.1Sfredette#options EON # OSI tunneling over IP 821.1Sfredette#options CCITT,LLC,HDLC # X.25 831.1Sfredette#options PFIL_HOOKS # pfil(9) packet filter hooks. 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.12Slukemoptions MEMORY_DISK_ROOT_SIZE=800 # size of memory disk, in blocks 951.1Sfredette 961.1Sfredetteconfig netbsd root on ? type ffs 971.1Sfredette 981.1Sfredette#### Main bus. 991.1Sfredettemainbus0 at root 1001.1Sfredette 1011.1Sfredette#### Bus types. 1021.1Sfredette 1031.1Sfredetteobio0 at mainbus? # all Sun-2 1041.1Sfredetteobmem0 at mainbus? # all Sun-2 1051.1Sfredettembmem0 at mainbus? # 2/120, 2/170 1061.1Sfredettembio0 at mainbus? # 2/120, 2/170 1071.3Sfredettesun68kvme0 at mainbus? # 2/50, 2/130, 2/160 1081.3Sfredettevme0 at sun68kvme0 # mi VME attachment 1091.1Sfredette 1101.1Sfredette#### Standard system devices. 1111.1Sfredette 1121.1Sfredette## The AM9513 clock chip. 1131.6Slukemclock0 at obio0 addr 0x002800 # 2/120, 2/170 1141.6Slukemclock0 at obio0 addr 0x7f2800 # 2/50, 2/130, 2/160 1151.1Sfredette 1161.1Sfredette## The MM58167 time-of-day chip. 1171.6Slukemtod0 at obio0 addr 0x003800 # 2/120, 2/170 1181.3Sfredettetod0 at vme0 addr 0x200800 # 2/50, 2/130, 2/160 1191.1Sfredette 1201.1Sfredette#### Serial port configuration. 1211.1Sfredette 1221.3Sfredette## Zilog 8530 serial chips. Each has two channels. 1231.1Sfredette## zs0 is ttya and ttyb. zs1 is the keyboard and mouse. 1241.1Sfredette## zs0 is REQUIRED to use KGDB. 1251.1Sfredettezs0 at obio0 addr 0x002000 # 2/120, 2/170 1261.3Sfredettezs0 at obio0 addr 0x7f2000 # 2/50 1271.1Sfredettezs1 at obmem0 addr 0x780000 # 2/120, 2/170 1281.3Sfredettezs1 at obio0 addr 0x7f1800 # 2/50 1291.9Sfredette#zs2 at mbmem0 addr 0x080800 # 2/120, 2/170 (first sc SCSI) 1301.9Sfredette#zs3 at mbmem0 addr 0x081000 # 2/120, 2/170 (first sc SCSI) 1311.9Sfredette#zs4 at mbmem0 addr 0x084800 # 2/120, 2/170 (second sc SCSI) 1321.9Sfredette#zs5 at mbmem0 addr 0x085000 # 2/120, 2/170 (second sc SCSI) 1331.3Sfredettezstty* at zs? channel ? # ttya 1341.3Sfredettekbd0 at zstty? # keyboard 1351.3Sfredette#ms0 at zstty? # mouse 1361.1Sfredette 1371.1Sfredette#### Disk controllers and disks. 1381.1Sfredette 1391.1Sfredette## PAL+logic-based "Sun SCSI 2" Multibus/VME SCSI controller. 1401.1Sfredette## This driver has several flags which may be enabled using 1411.1Sfredette## the "flags" directive. Valid flags are: 1421.1Sfredette## 1431.1Sfredette## 0x0ff Set (1<<target) to disable parity checking 1441.1Sfredette## 0x100 Set this bit to disable DMA interrupts (poll) 1451.1Sfredette## 0x200 Set this bit to disable DMA entirely (use PIO) 1461.1Sfredette## 1471.1Sfredette## For example: "flags 0x10f" would disable DMA interrupts, 1481.1Sfredette## and disable parity for targets 0-3 1491.1Sfredette 1501.1Sfredettesc0 at mbmem0 addr 0x80000 ipl 2 flags 0xff 1511.6Slukemsc0 at vme0 addr 0x200000 irq 2 vect 0x40 flags 0xff 1521.1Sfredettesc1 at mbmem0 addr 0x84000 ipl 2 flags 0xff 1531.1Sfredette 1541.1Sfredette## NCR5380-based "Sun SCSI 3" VME SCSI controller. 1551.1Sfredette## This driver has several flags which may be enabled by OR'ing 1561.1Sfredette## the values and using the "flags" directive. 1571.1Sfredette## Valid flags are: 1581.1Sfredette## 1591.1Sfredette## 0x01 Use DMA (may be polled) 1601.1Sfredette## 0x02 Use DMA completion interrupts 1611.1Sfredette## 0x04 Allow disconnect/reselect 1621.1Sfredette## 1631.1Sfredette## E.g. the following would enable DMA, interrupts, and reselect: 1641.1Sfredette## si0 at vme0 addr 0x200000 ipl 3 vect 0x40 flags 0x07 1651.1Sfredette## 1661.1Sfredette## By default, DMA is enabled in the driver. 1671.1Sfredette 1681.3Sfredettesi0 at vme0 addr 0x200000 irq 2 vect 0x40 1691.1Sfredette 1701.1Sfredette## These entries find devices on all SCSI busses and assign 1711.1Sfredette## unit numbers dynamically. 1721.1Sfredettescsibus* at sc? 1731.3Sfredettescsibus* at si? 1741.1Sfredettesd* at scsibus? target ? lun ? # SCSI disks 1751.1Sfredettest* at scsibus? target ? lun ? # SCSI tapes 1761.1Sfredettecd* at scsibus? target ? lun ? # SCSI CD-ROMs 1771.1Sfredette#ch* at scsibus? target ? lun ? # SCSI changer devices 1781.1Sfredette#ss* at scsibus? target ? lun ? # SCSI scanners 1791.1Sfredette#ses* at scsibus? target ? lun ? # SCSI SES/SAF-TE 1801.1Sfredette#uk* at scsibus? target ? lun ? # unknown SCSI 1811.8Sfredette 1821.8Sfredette# support old SCSI devices that don't understand the INQUIRY command 1831.8Sfredetteoptions SCSI_OLD_NOINQUIRY 1841.1Sfredette 1851.1Sfredette## Xylogics 450 or 451 Multibus/VME SMD disk controllers and disks. 1861.6Slukem#xyc0 at mbio0 addr 0xee40 ipl 2 1871.3Sfredettexyc0 at vme0 addr 0xee40 irq 2 vect 0x48 1881.6Slukem#xyc1 at mbio0 addr 0xee48 ipl 2 1891.3Sfredettexyc1 at vme0 addr 0xee48 irq 2 vect 0x49 1901.3Sfredettexy* at xyc? drive ? 1911.1Sfredette 1921.1Sfredette## Memory-disk device. 1931.1Sfredettepseudo-device md 2 1941.1Sfredette 1951.1Sfredette#### Network interfaces. 1961.1Sfredette 1971.1Sfredette## Intel Ethernet (onboard, or Multibus/VME) 1981.3Sfredetteie0 at obio0 addr 0x7f0800 ipl 3 # 2/50 1991.1Sfredetteie0 at mbmem0 addr 0x88000 ipl 3 2001.3Sfredetteie1 at mbmem0 addr 0x8c000 ipl 3 2011.3Sfredette## VME: the first [addr,len] pair specifies the device registers; 2021.3Sfredette## the second pair specifies the on-board memory buffer 2031.3Sfredetteie1 at vme0 addr 0xe88000,0xe00000 len -1,0x40000 irq 3 vect 0x75 2041.3Sfredette 2051.3Sfredette## 3Com Ethernet (Multibus only) 2061.3Sfredetteec0 at mbmem0 addr 0xe0000 ipl 3 2071.3Sfredetteec1 at mbmem0 addr 0xe2000 ipl 3 2081.1Sfredette 2091.1Sfredette## Frame buffers. 2101.1Sfredette 2111.1Sfredette## Sun "bwtwo" black and white framebuffer. 2121.6Slukem#bwtwo0 at obmem0 addr 0x700000 # 2/120, 2/170 2131.3Sfredette#bwtwo0 at obio0 addr 0x0 # 2/50 2141.3Sfredette 2151.3Sfredette## PROM console driver -- if all else fails 2161.3Sfredettepcons0 at mainbus0 # PROM console 2171.1Sfredette 2181.1Sfredette#### Miscellaneous. 2191.1Sfredettepseudo-device loop 1 # network loopback 2201.1Sfredette#pseudo-device bpfilter 8 # packet filter 2211.1Sfredettepseudo-device sl 2 # CSLIP 2221.1Sfredette#pseudo-device ppp 2 # PPP 2231.1Sfredette#pseudo-device tun 2 # network tunneling over tty 2241.1Sfredette#pseudo-device gre 2 # generic L3 over IP tunnel 2251.1Sfredette#pseudo-device ipfilter # ip filter 2261.1Sfredette#pseudo-device gif 4 # IPv[46] over IPv[46] tunnel (RFC1933) 2271.1Sfredette#pseudo-device faith 1 # IPv[46] tcp relay translation i/f 2281.1Sfredette#pseudo-device stf 1 # 6to4 IPv6 over IPv4 encapsulation 2291.1Sfredette# rnd is EXPERIMENTAL 2301.1Sfredette#pseudo-device rnd # /dev/random and in-kernel generator 2311.1Sfredette 2321.7Sfredettepseudo-device pty 4 # pseudo-terminals 2331.1Sfredette#pseudo-device vnd 4 # paging to files 2341.1Sfredette#pseudo-device ccd 4 # concatenated disks 2351.1Sfredette#pseudo-device raid 4 # RAIDframe disk driver 2361.1Sfredette#options RAID_AUTOCONFIG # auto-configuration of RAID components 237