SMALLRAM revision 1.1
11.1Sscottr# $NetBSD: SMALLRAM,v 1.1 2002/05/19 21:58:27 scottr Exp $ 21.1Sscottr# 31.1Sscottr# This is an example of how to configure a small, efficient kernel for a 41.1Sscottr# system with limited RAM. Even so it's capable of doing quite a bit. The 51.1Sscottr# hypothetical system used for this example is a Macintosh IIx or 61.1Sscottr# Macintosh IIcx with 8 MB of RAM and an 80 MB disk. One or more DP5380- 71.1Sscottr# based NuBus Ethernet cards and one or more NuBus video cards are 81.1Sscottr# configured, and basic PPP support is available. This configuration is 91.1Sscottr# suitable for experimenting with NetBSD as a router with one or more 101.1Sscottr# Ethernet cards, and up to two PPP connections (one on each serial port). 111.1Sscottr 121.1Sscottrinclude "arch/mac68k/conf/std.mac68k" 131.1Sscottr 141.1Sscottr#options INCLUDE_CONFIG_FILE # embed config file in kernel binary 151.1Sscottr 161.1Sscottr#ident "SMALLRAM-$Revision: 1.1 $" 171.1Sscottr 181.1Sscottrmaxusers 8 191.1Sscottr 201.1Sscottrmakeoptions COPTS="-O2 -m68030" # Optimize for the MC68030 211.1Sscottr 221.1Sscottr# CPU support. At least one is REQUIRED. 231.1Sscottr#options M68040 241.1Sscottroptions M68030 251.1Sscottr#options M68020 # Note: must have 68851 PMMU 261.1Sscottr 271.1Sscottr# CPU-related options. 281.1Sscottr#options FPSP 291.1Sscottr#options FPU_EMULATE 301.1Sscottr 311.1Sscottr# Standard system options 321.1Sscottr 331.1Sscottr#options UCONSOLE # users can use TIOCCONS (for xconsole) 341.1Sscottr#options INSECURE # disable kernel security levels 351.1Sscottr 361.1Sscottroptions RTC_OFFSET=0 # hardware clock is this many mins. west of GMT 371.1Sscottr#options NTP # NTP phase/frequency locked loop 381.1Sscottr 391.1Sscottroptions KTRACE # system call tracing via ktrace(1) 401.1Sscottr 411.1Sscottroptions SYSVMSG # System V-like message queues 421.1Sscottroptions SYSVSEM # System V-like semaphores 431.1Sscottr#options SEMMNI=10 # number of semaphore identifiers 441.1Sscottr#options SEMMNS=60 # number of semaphores in system 451.1Sscottr#options SEMUME=10 # max number of undo entries per process 461.1Sscottr#options SEMMNU=30 # number of undo structures in system 471.1Sscottroptions SYSVSHM # System V-like memory sharing 481.1Sscottr#options SHMMAXPGS=1024 # 1024 pages is the default 491.1Sscottr 501.1Sscottr#options LKM # loadable kernel modules 511.1Sscottr 521.1Sscottr#options USERCONF # userconf(4) support 531.1Sscottr#options PIPE_SOCKETPAIR # smaller, but slower pipe(2) 541.1Sscottr 551.1Sscottr# Diagnostic/debugging support options 561.1Sscottroptions DIAGNOSTIC # cheap kernel consistency checks 571.1Sscottr#options DEBUG # expensive debugging checks/support 581.1Sscottr#options KMEMSTATS # kernel memory statistics (vmstat -m) 591.1Sscottroptions DDB # in-kernel debugger 601.1Sscottr#options DDB_HISTORY_SIZE=100 # enable history editing in DDB 611.1Sscottr#options KGDB # remote debugger 621.1Sscottr#options KGDB_DEV=0xc01 # kgdb device number (dev_t) 631.1Sscottr#options KGDB_DEVRATE=38400 # baud rate 641.1Sscottr#makeoptions DEBUG="-g" # compile full symbol table 651.1Sscottr 661.1Sscottr# Compatibility options 671.1Sscottr#options COMPAT_NOMID # NetBSD 0.8, 681.1Sscottr#options COMPAT_09 # NetBSD 0.9, 691.1Sscottr#options COMPAT_10 # NetBSD 1.0, 701.1Sscottr#options COMPAT_11 # NetBSD 1.1, 711.1Sscottroptions COMPAT_12 # NetBSD 1.2, 721.1Sscottroptions COMPAT_13 # NetBSD 1.3, 731.1Sscottroptions COMPAT_14 # NetBSD 1.4, 741.1Sscottroptions COMPAT_15 # NetBSD 1.5, 751.1Sscottr#options COMPAT_43 # and 4.3BSD 761.1Sscottr#options TCP_COMPAT_42 # 4.2BSD TCP/IP bug compat. Not recommended. 771.1Sscottr 781.1Sscottr# The following is needed to run pre-NetBSD 1.6 binaries under ELF. 791.1Sscottroptions COMPAT_AOUT_M68K # compatibility with NetBSD/m68k a.out 801.1Sscottroptions EXEC_AOUT # support for exec'ing a.out 811.1Sscottr 821.1Sscottr#options COMPAT_LINUX # compatibility with Linux/m68k binaries 831.1Sscottr#options COMPAT_M68K4K # compatibility with NetBSD/m68k4k binaries 841.1Sscottr#options COMPAT_SUNOS # compatibility with SunOS 4.x binaries 851.1Sscottr#options COMPAT_SVR4 # compatibility with SVR4 binaries 861.1Sscottr 871.1Sscottr# File systems 881.1Sscottrfile-system FFS # UFS 891.1Sscottr#file-system EXT2FS # second extended file system (linux) 901.1Sscottr#file-system LFS # log-structured file system 911.1Sscottrfile-system MFS # memory file system 921.1Sscottrfile-system NFS # Network File System client 931.1Sscottr#file-system CD9660 # ISO 9660 + Rock Ridge file system 941.1Sscottr#file-system MSDOSFS # MS-DOS file system 951.1Sscottr#file-system FDESC # /dev/fd 961.1Sscottr#file-system KERNFS # /kern 971.1Sscottr#file-system NULLFS # loopback file system 981.1Sscottr#file-system OVERLAY # overlay file system 991.1Sscottr#file-system PORTAL # portal filesystem (still experimental) 1001.1Sscottr#file-system PROCFS # /proc 1011.1Sscottr#file-system UMAPFS # NULLFS + uid and gid remapping 1021.1Sscottr#file-system UNION # union file system 1031.1Sscottr#file-system CODA # Venus/Coda distributed file system 1041.1Sscottr 1051.1Sscottr# File system options 1061.1Sscottroptions QUOTA # UFS quotas 1071.1Sscottr#options FFS_EI # FFS Endian Independant support 1081.1Sscottr#options SOFTDEP # FFS soft updates support. 1091.1Sscottr#options NFSSERVER # Network File System server 1101.1Sscottr#options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and 1111.1Sscottr # immutable) behave as system flags. 1121.1Sscottr 1131.1Sscottr# Networking options 1141.1Sscottroptions GATEWAY # packet forwarding 1151.1Sscottroptions INET # IP + ICMP + TCP + UDP 1161.1Sscottr#options INET6 # IPV6 1171.1Sscottr#options IPSEC # IP security 1181.1Sscottr#options IPSEC_ESP # IP security (encryption part; define w/IPSEC) 1191.1Sscottr#options IPSEC_DEBUG # debug for IP security 1201.1Sscottroptions MROUTING # IP multicast routing 1211.1Sscottr#options NS # XNS 1221.1Sscottr#options NSIP # XNS tunneling over IP 1231.1Sscottr#options ISO,TPIP # OSI 1241.1Sscottr#options EON # OSI tunneling over IP 1251.1Sscottr#options CCITT,LLC,HDLC # X.25 1261.1Sscottr#options NETATALK # AppleTalk networking protocols 1271.1Sscottroptions PPP_BSDCOMP # BSD-Compress compression support for PPP 1281.1Sscottr#options PPP_DEFLATE # Deflate compression support for PPP 1291.1Sscottroptions PPP_FILTER # Active filter support for PPP (requires bpf) 1301.1Sscottroptions PFIL_HOOKS # pfil(9) packet filter hooks 1311.1Sscottr#options IPFILTER_LOG # ipmon(8) log support 1321.1Sscottr#options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG 1331.1Sscottr 1341.1Sscottr# These options enable verbose messages for several subsystems. 1351.1Sscottr# Warning, these may compile large string tables into the kernel! 1361.1Sscottr#options SCSIVERBOSE # human readable SCSI error messages 1371.1Sscottr 1381.1Sscottr# wscons options 1391.1Sscottr#options WSEMUL_SUN # sun terminal emulation 1401.1Sscottroptions WSEMUL_VT100 # VT100 / VT220 emulation 1411.1Sscottroptions WSDISPLAY_COMPAT_ITEFONT # use ite font (6x10) 1421.1Sscottr 1431.1Sscottr# rcons options; note that 1-bit and 8-bit displays are supported by default. 1441.1Sscottr#options RCONS_2BPP # Support for 2-bit display 1451.1Sscottr#options RCONS_4BPP # Support for 4-bit display 1461.1Sscottr#options RCONS_16BPP # Support for 16-bit display 1471.1Sscottr 1481.1Sscottr# Mac-specific options 1491.1Sscottr#options ALTXBUTTONS # Map Opt-{1,2,3} to mouse buttons 1501.1Sscottr#options DISABLE_EXT_CACHE # Don't use IIci external cache 1511.1Sscottroptions GRF_COMPAT # Include grf compatibility code 1521.1Sscottr#options MRG_ADB # Use ROM-based ADB driver 1531.1Sscottr#options ZS_CONSOLE_ABORT 1541.1Sscottr 1551.1Sscottr 1561.1Sscottr# Kernel root file system and dump configuration. 1571.1Sscottrconfig netbsd root on ? type ? 1581.1Sscottr 1591.1Sscottr# 1601.1Sscottr# Device configuration 1611.1Sscottr# 1621.1Sscottr 1631.1Sscottrmainbus0 at root 1641.1Sscottr 1651.1Sscottrfpu0 at mainbus? # Floating-Point Coprocessor support 1661.1Sscottr 1671.1Sscottr 1681.1Sscottr# Basic Bus Support 1691.1Sscottr 1701.1Sscottr# On-board I/O bus support 1711.1Sscottrobio0 at mainbus? 1721.1Sscottr 1731.1Sscottr# NuBus support 1741.1Sscottrnubus0 at mainbus? 1751.1Sscottr 1761.1Sscottr 1771.1Sscottr# Console Devices 1781.1Sscottr 1791.1Sscottr# Apple Desktop Bus interface 1801.1Sscottradb0 at obio? 1811.1Sscottraed* at adb? # ADB event device 1821.1Sscottrakbd* at adb? # ADB keyboard 1831.1Sscottrams* at adb? # ADB mouse 1841.1Sscottr 1851.1Sscottr# Basic frame buffer support 1861.1Sscottr#intvid0 at obio? # Internal video hardware 1871.1Sscottrmacvid* at nubus? # NuBus video card 1881.1Sscottr 1891.1Sscottr# Device-independent frame buffer interface 1901.1Sscottr#macfb* at intvid? 1911.1Sscottrmacfb* at macvid? 1921.1Sscottr 1931.1Sscottr# Workstation Console devices 1941.1Sscottrwsdisplay0 at macfb? console ? 1951.1Sscottrwskbd0 at akbd? console ? 1961.1Sscottrwsmouse0 at ams? 1971.1Sscottr 1981.1Sscottr 1991.1Sscottr# Serial Devices 2001.1Sscottr 2011.1Sscottr# On-board serial interface 2021.1Sscottrzsc0 at obio? 2031.1Sscottrzstty* at zsc? channel ? 2041.1Sscottr 2051.1Sscottr 2061.1Sscottr# SCSI Controllers and Devices 2071.1Sscottr 2081.1Sscottr# SCSI controllers 2091.1Sscottr# XXX - use only one of ncrscsi or sbc 2101.1Sscottr#ncrscsi0 at obio? # SCSI NCR 5380 2111.1Sscottrsbc0 at obio? flags 0x1 # MI SCSI NCR 5380 2121.1Sscottr#esp0 at obio? # SCSI NCR 53C9x 2131.1Sscottr#esp1 at obio? # SCSI NCR 53C9x 2141.1Sscottr 2151.1Sscottr# SCSI bus support 2161.1Sscottrscsibus* at scsi? 2171.1Sscottr 2181.1Sscottr# SCSI devices 2191.1Sscottrsd* at scsibus? target ? lun ? # SCSI disk drives 2201.1Sscottr#st* at scsibus? target ? lun ? # SCSI tape drives 2211.1Sscottr#cd* at scsibus? target ? lun ? # SCSI CD-ROM drives 2221.1Sscottr#ch* at scsibus? target ? lun ? # SCSI autochangers 2231.1Sscottr#se* at scsibus? target ? lun ? # SCSI ethernet 2241.1Sscottr#ss* at scsibus? target ? lun ? # SCSI scanners 2251.1Sscottr#uk* at scsibus? target ? lun ? # SCSI unknown 2261.1Sscottr 2271.1Sscottr# IDE controller and devices 2281.1Sscottr#wdc* at obio? flags 0x1000 2291.1Sscottr#wd* at wdc? channel ? drive ? 2301.1Sscottr 2311.1Sscottr 2321.1Sscottr# Miscellaneous mass storage devices 2331.1Sscottr 2341.1Sscottr# IWM floppy disk controller 2351.1Sscottr#iwm0 at obio? # Sony driver (800K GCR) 2361.1Sscottr#fd* at iwm? drive ? 2371.1Sscottr 2381.1Sscottr 2391.1Sscottr# Network Interfaces 2401.1Sscottr 2411.1Sscottr# On-board Ethernet controllers 2421.1Sscottr#sn* at obio? # SONIC-based (DP83932, DP83916) 2431.1Sscottr#mc* at obio? # MACE-based 2441.1Sscottr 2451.1Sscottr# NuBus Ethernet controllers 2461.1Sscottrae* at nubus? # DP8390-based 2471.1Sscottr#sn* at nubus? # SONIC-based (DP83932, DP83916) 2481.1Sscottr#sm* at nubus? # SMC 91cxx-based 2491.1Sscottr 2501.1Sscottrnsphy* at mii? phy ? 2511.1Sscottrukphy* at mii? phy ? 2521.1Sscottr 2531.1Sscottr# Audio Devices 2541.1Sscottr 2551.1Sscottr# On-board audio hardware 2561.1Sscottrasc0 at obio? # ASC/EASC audio 2571.1Sscottr 2581.1Sscottr# Pseudo-Devices 2591.1Sscottr 2601.1Sscottr# disk/mass storage pseudo-devices 2611.1Sscottrpseudo-device ccd 4 # concatenated/striped disk devices 2621.1Sscottr#pseudo-device raid 8 # RAIDframe disk driver 2631.1Sscottr#options RAID_AUTOCONFIG # auto-configuration of RAID components 2641.1Sscottr# Options to enable various other RAIDframe RAID types. 2651.1Sscottr# options RF_INCLUDE_EVENODD=1 2661.1Sscottr# options RF_INCLUDE_RAID5_RS=1 2671.1Sscottr# options RF_INCLUDE_PARITYLOGGING=1 2681.1Sscottr# options RF_INCLUDE_CHAINDECLUSTER=1 2691.1Sscottr# options RF_INCLUDE_INTERDECLUSTER=1 2701.1Sscottr# options RF_INCLUDE_PARITY_DECLUSTERING=1 2711.1Sscottr# options RF_INCLUDE_PARITY_DECLUSTERING_DS=1 2721.1Sscottr#pseudo-device md 1 # memory disk device (ramdisk) 2731.1Sscottr#pseudo-device vcoda 1 # Venus/Coda distributed file system 2741.1Sscottrpseudo-device vnd 4 # disk-like interface to files 2751.1Sscottr 2761.1Sscottr# network pseudo-devices 2771.1Sscottrpseudo-device bpfilter 12 # Berkeley packet filter 2781.1Sscottrpseudo-device ipfilter # IP filter (firewall) and NAT 2791.1Sscottrpseudo-device loop # network loopback 2801.1Sscottrpseudo-device ppp 2 # Point-to-Point Protocol 2811.1Sscottr#pseudo-device pppoe # PPP over Ethernet (RFC 2516) 2821.1Sscottr#pseudo-device sl 2 # Serial Line IP 2831.1Sscottr#pseudo-device strip 2 # Starmode Radio IP (Metricom) 2841.1Sscottrpseudo-device tun 2 # network tunneling over tty 2851.1Sscottr#pseudo-device gre 2 # generic L3 over IP tunnel 2861.1Sscottr#pseudo-device gif 4 # IPv[46] over IPv[46] tunnel (RFC1933) 2871.1Sscottr#pseudo-device faith 1 # IPv[46] tcp relay translation i/f 2881.1Sscottr#pseudo-device stf 1 # 6to4 IPv6 over IPv4 encapsulation 2891.1Sscottr#pseudo-device vlan # IEEE 802.1q encapsulation 2901.1Sscottr#pseudo-device bridge # simple inter-network bridging 2911.1Sscottr 2921.1Sscottr# miscellaneous pseudo-devices 2931.1Sscottrpseudo-device grf 2 # grf emulation for wscons 2941.1Sscottrpseudo-device ite 1 # ite emulation for wscons 2951.1Sscottrpseudo-device pty # pseudo-terminals 2961.1Sscottr#pseudo-device tb 1 # tablet line discipline 2971.1Sscottr 2981.1Sscottr# rnd is EXPERIMENTAL at this point. 2991.1Sscottr#pseudo-device rnd # /dev/random and in-kernel generator 3001.1Sscottr#options RND_COM # use "com" randomness as well (BROKEN) 301