SMALLRAM revision 1.9 1 1.9 atatat # $NetBSD: SMALLRAM,v 1.9 2004/07/15 03:53:49 atatat Exp $
2 1.1 scottr #
3 1.1 scottr # This is an example of how to configure a small, efficient kernel for a
4 1.1 scottr # system with limited RAM. Even so it's capable of doing quite a bit. The
5 1.1 scottr # hypothetical system used for this example is a Macintosh IIx or
6 1.1 scottr # Macintosh IIcx with 8 MB of RAM and an 80 MB disk. One or more DP5380-
7 1.1 scottr # based NuBus Ethernet cards and one or more NuBus video cards are
8 1.1 scottr # configured, and basic PPP support is available. This configuration is
9 1.1 scottr # suitable for experimenting with NetBSD as a router with one or more
10 1.1 scottr # Ethernet cards, and up to two PPP connections (one on each serial port).
11 1.1 scottr
12 1.1 scottr include "arch/mac68k/conf/std.mac68k"
13 1.1 scottr
14 1.1 scottr #options INCLUDE_CONFIG_FILE # embed config file in kernel binary
15 1.1 scottr
16 1.9 atatat #ident "SMALLRAM-$Revision: 1.9 $"
17 1.1 scottr
18 1.1 scottr maxusers 8
19 1.1 scottr
20 1.1 scottr makeoptions COPTS="-O2 -m68030" # Optimize for the MC68030
21 1.1 scottr
22 1.1 scottr # CPU support. At least one is REQUIRED.
23 1.1 scottr #options M68040
24 1.1 scottr options M68030
25 1.1 scottr #options M68020 # Note: must have 68851 PMMU
26 1.1 scottr
27 1.1 scottr # CPU-related options.
28 1.1 scottr #options FPSP
29 1.1 scottr #options FPU_EMULATE
30 1.1 scottr
31 1.1 scottr # Standard system options
32 1.1 scottr
33 1.1 scottr #options INSECURE # disable kernel security levels
34 1.1 scottr
35 1.1 scottr options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
36 1.1 scottr #options NTP # NTP phase/frequency locked loop
37 1.1 scottr
38 1.1 scottr options KTRACE # system call tracing via ktrace(1)
39 1.1 scottr
40 1.1 scottr options SYSVMSG # System V-like message queues
41 1.1 scottr options SYSVSEM # System V-like semaphores
42 1.1 scottr #options SEMMNI=10 # number of semaphore identifiers
43 1.1 scottr #options SEMMNS=60 # number of semaphores in system
44 1.1 scottr #options SEMUME=10 # max number of undo entries per process
45 1.1 scottr #options SEMMNU=30 # number of undo structures in system
46 1.1 scottr options SYSVSHM # System V-like memory sharing
47 1.1 scottr #options SHMMAXPGS=1024 # 1024 pages is the default
48 1.1 scottr
49 1.1 scottr #options LKM # loadable kernel modules
50 1.1 scottr
51 1.3 lukem options USERCONF # userconf(4) support
52 1.1 scottr #options PIPE_SOCKETPAIR # smaller, but slower pipe(2)
53 1.9 atatat #options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel
54 1.1 scottr
55 1.1 scottr # Diagnostic/debugging support options
56 1.1 scottr options DIAGNOSTIC # cheap kernel consistency checks
57 1.1 scottr #options DEBUG # expensive debugging checks/support
58 1.1 scottr #options KMEMSTATS # kernel memory statistics (vmstat -m)
59 1.1 scottr options DDB # in-kernel debugger
60 1.1 scottr #options DDB_HISTORY_SIZE=100 # enable history editing in DDB
61 1.1 scottr #options KGDB # remote debugger
62 1.1 scottr #options KGDB_DEV=0xc01 # kgdb device number (dev_t)
63 1.1 scottr #options KGDB_DEVRATE=38400 # baud rate
64 1.1 scottr #makeoptions DEBUG="-g" # compile full symbol table
65 1.1 scottr
66 1.1 scottr # Compatibility options
67 1.1 scottr #options COMPAT_NOMID # NetBSD 0.8,
68 1.1 scottr #options COMPAT_09 # NetBSD 0.9,
69 1.1 scottr #options COMPAT_10 # NetBSD 1.0,
70 1.1 scottr #options COMPAT_11 # NetBSD 1.1,
71 1.1 scottr options COMPAT_12 # NetBSD 1.2,
72 1.1 scottr options COMPAT_13 # NetBSD 1.3,
73 1.1 scottr options COMPAT_14 # NetBSD 1.4,
74 1.1 scottr options COMPAT_15 # NetBSD 1.5,
75 1.8 cl options COMPAT_16 # NetBSD 1.6,
76 1.1 scottr #options COMPAT_43 # and 4.3BSD
77 1.1 scottr #options TCP_COMPAT_42 # 4.2BSD TCP/IP bug compat. Not recommended.
78 1.1 scottr
79 1.1 scottr # The following is needed to run pre-NetBSD 1.6 binaries under ELF.
80 1.1 scottr options COMPAT_AOUT_M68K # compatibility with NetBSD/m68k a.out
81 1.1 scottr options EXEC_AOUT # support for exec'ing a.out
82 1.1 scottr
83 1.1 scottr #options COMPAT_LINUX # compatibility with Linux/m68k binaries
84 1.1 scottr #options COMPAT_M68K4K # compatibility with NetBSD/m68k4k binaries
85 1.1 scottr #options COMPAT_SUNOS # compatibility with SunOS 4.x binaries
86 1.1 scottr #options COMPAT_SVR4 # compatibility with SVR4 binaries
87 1.1 scottr
88 1.1 scottr # File systems
89 1.1 scottr file-system FFS # UFS
90 1.1 scottr #file-system EXT2FS # second extended file system (linux)
91 1.1 scottr #file-system LFS # log-structured file system
92 1.1 scottr file-system MFS # memory file system
93 1.1 scottr file-system NFS # Network File System client
94 1.1 scottr #file-system CD9660 # ISO 9660 + Rock Ridge file system
95 1.1 scottr #file-system MSDOSFS # MS-DOS file system
96 1.1 scottr #file-system FDESC # /dev/fd
97 1.1 scottr #file-system KERNFS # /kern
98 1.1 scottr #file-system NULLFS # loopback file system
99 1.1 scottr #file-system OVERLAY # overlay file system
100 1.1 scottr #file-system PORTAL # portal filesystem (still experimental)
101 1.1 scottr #file-system PROCFS # /proc
102 1.1 scottr #file-system UMAPFS # NULLFS + uid and gid remapping
103 1.1 scottr #file-system UNION # union file system
104 1.1 scottr #file-system CODA # Venus/Coda distributed file system
105 1.1 scottr
106 1.1 scottr # File system options
107 1.1 scottr options QUOTA # UFS quotas
108 1.1 scottr #options FFS_EI # FFS Endian Independant support
109 1.1 scottr #options SOFTDEP # FFS soft updates support.
110 1.1 scottr #options NFSSERVER # Network File System server
111 1.1 scottr #options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
112 1.1 scottr # immutable) behave as system flags.
113 1.1 scottr
114 1.1 scottr # Networking options
115 1.1 scottr options GATEWAY # packet forwarding
116 1.1 scottr options INET # IP + ICMP + TCP + UDP
117 1.1 scottr #options INET6 # IPV6
118 1.1 scottr #options IPSEC # IP security
119 1.1 scottr #options IPSEC_ESP # IP security (encryption part; define w/IPSEC)
120 1.1 scottr #options IPSEC_DEBUG # debug for IP security
121 1.1 scottr options MROUTING # IP multicast routing
122 1.1 scottr #options NS # XNS
123 1.1 scottr #options NSIP # XNS tunneling over IP
124 1.1 scottr #options ISO,TPIP # OSI
125 1.1 scottr #options EON # OSI tunneling over IP
126 1.1 scottr #options CCITT,LLC,HDLC # X.25
127 1.1 scottr #options NETATALK # AppleTalk networking protocols
128 1.1 scottr options PPP_BSDCOMP # BSD-Compress compression support for PPP
129 1.1 scottr #options PPP_DEFLATE # Deflate compression support for PPP
130 1.1 scottr options PPP_FILTER # Active filter support for PPP (requires bpf)
131 1.1 scottr options PFIL_HOOKS # pfil(9) packet filter hooks
132 1.1 scottr #options IPFILTER_LOG # ipmon(8) log support
133 1.5 martti #options IPFILTER_DEFAULT_BLOCK # block all packets by default
134 1.1 scottr #options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG
135 1.1 scottr
136 1.1 scottr # These options enable verbose messages for several subsystems.
137 1.1 scottr # Warning, these may compile large string tables into the kernel!
138 1.1 scottr #options SCSIVERBOSE # human readable SCSI error messages
139 1.1 scottr
140 1.1 scottr # wscons options
141 1.1 scottr #options WSEMUL_SUN # sun terminal emulation
142 1.1 scottr options WSEMUL_VT100 # VT100 / VT220 emulation
143 1.1 scottr options WSDISPLAY_COMPAT_ITEFONT # use ite font (6x10)
144 1.1 scottr
145 1.1 scottr # rcons options; note that 1-bit and 8-bit displays are supported by default.
146 1.1 scottr #options RCONS_2BPP # Support for 2-bit display
147 1.1 scottr #options RCONS_4BPP # Support for 4-bit display
148 1.1 scottr #options RCONS_16BPP # Support for 16-bit display
149 1.1 scottr
150 1.1 scottr # Mac-specific options
151 1.1 scottr #options ALTXBUTTONS # Map Opt-{1,2,3} to mouse buttons
152 1.1 scottr #options DISABLE_EXT_CACHE # Don't use IIci external cache
153 1.1 scottr options GRF_COMPAT # Include grf compatibility code
154 1.1 scottr #options MRG_ADB # Use ROM-based ADB driver
155 1.1 scottr #options ZS_CONSOLE_ABORT
156 1.1 scottr
157 1.1 scottr
158 1.1 scottr # Kernel root file system and dump configuration.
159 1.1 scottr config netbsd root on ? type ?
160 1.1 scottr
161 1.1 scottr #
162 1.1 scottr # Device configuration
163 1.1 scottr #
164 1.1 scottr
165 1.1 scottr mainbus0 at root
166 1.1 scottr
167 1.1 scottr fpu0 at mainbus? # Floating-Point Coprocessor support
168 1.1 scottr
169 1.1 scottr
170 1.1 scottr # Basic Bus Support
171 1.1 scottr
172 1.1 scottr # On-board I/O bus support
173 1.1 scottr obio0 at mainbus?
174 1.1 scottr
175 1.1 scottr # NuBus support
176 1.1 scottr nubus0 at mainbus?
177 1.1 scottr
178 1.1 scottr
179 1.1 scottr # Console Devices
180 1.1 scottr
181 1.1 scottr # Apple Desktop Bus interface
182 1.1 scottr adb0 at obio?
183 1.1 scottr aed* at adb? # ADB event device
184 1.1 scottr akbd* at adb? # ADB keyboard
185 1.1 scottr ams* at adb? # ADB mouse
186 1.1 scottr
187 1.1 scottr # Basic frame buffer support
188 1.1 scottr #intvid0 at obio? # Internal video hardware
189 1.1 scottr macvid* at nubus? # NuBus video card
190 1.1 scottr
191 1.1 scottr # Device-independent frame buffer interface
192 1.1 scottr #macfb* at intvid?
193 1.1 scottr macfb* at macvid?
194 1.1 scottr
195 1.1 scottr # Workstation Console devices
196 1.1 scottr wsdisplay0 at macfb? console ?
197 1.1 scottr wskbd0 at akbd? console ?
198 1.1 scottr wsmouse0 at ams?
199 1.1 scottr
200 1.1 scottr
201 1.1 scottr # Serial Devices
202 1.1 scottr
203 1.1 scottr # On-board serial interface
204 1.1 scottr zsc0 at obio?
205 1.1 scottr zstty* at zsc? channel ?
206 1.1 scottr
207 1.1 scottr
208 1.1 scottr # SCSI Controllers and Devices
209 1.1 scottr
210 1.1 scottr # SCSI controllers
211 1.1 scottr # XXX - use only one of ncrscsi or sbc
212 1.1 scottr #ncrscsi0 at obio? # SCSI NCR 5380
213 1.1 scottr sbc0 at obio? flags 0x1 # MI SCSI NCR 5380
214 1.1 scottr #esp0 at obio? # SCSI NCR 53C9x
215 1.1 scottr #esp1 at obio? # SCSI NCR 53C9x
216 1.1 scottr
217 1.1 scottr # SCSI bus support
218 1.1 scottr scsibus* at scsi?
219 1.1 scottr
220 1.1 scottr # SCSI devices
221 1.1 scottr sd* at scsibus? target ? lun ? # SCSI disk drives
222 1.1 scottr #st* at scsibus? target ? lun ? # SCSI tape drives
223 1.1 scottr #cd* at scsibus? target ? lun ? # SCSI CD-ROM drives
224 1.1 scottr #ch* at scsibus? target ? lun ? # SCSI autochangers
225 1.1 scottr #se* at scsibus? target ? lun ? # SCSI ethernet
226 1.1 scottr #ss* at scsibus? target ? lun ? # SCSI scanners
227 1.1 scottr #uk* at scsibus? target ? lun ? # SCSI unknown
228 1.1 scottr
229 1.1 scottr # IDE controller and devices
230 1.1 scottr #wdc* at obio? flags 0x1000
231 1.1 scottr #wd* at wdc? channel ? drive ?
232 1.1 scottr
233 1.1 scottr
234 1.1 scottr # Miscellaneous mass storage devices
235 1.1 scottr
236 1.1 scottr # IWM floppy disk controller
237 1.1 scottr #iwm0 at obio? # Sony driver (800K GCR)
238 1.1 scottr #fd* at iwm? drive ?
239 1.1 scottr
240 1.1 scottr
241 1.1 scottr # Network Interfaces
242 1.1 scottr
243 1.1 scottr # On-board Ethernet controllers
244 1.1 scottr #sn* at obio? # SONIC-based (DP83932, DP83916)
245 1.1 scottr #mc* at obio? # MACE-based
246 1.1 scottr
247 1.1 scottr # NuBus Ethernet controllers
248 1.1 scottr ae* at nubus? # DP8390-based
249 1.1 scottr #sn* at nubus? # SONIC-based (DP83932, DP83916)
250 1.1 scottr #sm* at nubus? # SMC 91cxx-based
251 1.1 scottr
252 1.6 jdolecek #nsphy* at mii? phy ?
253 1.6 jdolecek #ukphy* at mii? phy ?
254 1.1 scottr
255 1.1 scottr # Audio Devices
256 1.1 scottr
257 1.1 scottr # On-board audio hardware
258 1.1 scottr asc0 at obio? # ASC/EASC audio
259 1.1 scottr
260 1.1 scottr # Pseudo-Devices
261 1.1 scottr
262 1.1 scottr # disk/mass storage pseudo-devices
263 1.1 scottr pseudo-device ccd 4 # concatenated/striped disk devices
264 1.1 scottr #pseudo-device raid 8 # RAIDframe disk driver
265 1.1 scottr #options RAID_AUTOCONFIG # auto-configuration of RAID components
266 1.1 scottr # Options to enable various other RAIDframe RAID types.
267 1.1 scottr # options RF_INCLUDE_EVENODD=1
268 1.1 scottr # options RF_INCLUDE_RAID5_RS=1
269 1.1 scottr # options RF_INCLUDE_PARITYLOGGING=1
270 1.1 scottr # options RF_INCLUDE_CHAINDECLUSTER=1
271 1.1 scottr # options RF_INCLUDE_INTERDECLUSTER=1
272 1.1 scottr # options RF_INCLUDE_PARITY_DECLUSTERING=1
273 1.1 scottr # options RF_INCLUDE_PARITY_DECLUSTERING_DS=1
274 1.1 scottr #pseudo-device md 1 # memory disk device (ramdisk)
275 1.1 scottr #pseudo-device vcoda 1 # Venus/Coda distributed file system
276 1.1 scottr pseudo-device vnd 4 # disk-like interface to files
277 1.1 scottr
278 1.1 scottr # network pseudo-devices
279 1.1 scottr pseudo-device bpfilter 12 # Berkeley packet filter
280 1.1 scottr pseudo-device ipfilter # IP filter (firewall) and NAT
281 1.1 scottr pseudo-device loop # network loopback
282 1.1 scottr pseudo-device ppp 2 # Point-to-Point Protocol
283 1.1 scottr #pseudo-device pppoe # PPP over Ethernet (RFC 2516)
284 1.1 scottr #pseudo-device sl 2 # Serial Line IP
285 1.1 scottr #pseudo-device strip 2 # Starmode Radio IP (Metricom)
286 1.1 scottr pseudo-device tun 2 # network tunneling over tty
287 1.1 scottr #pseudo-device gre 2 # generic L3 over IP tunnel
288 1.1 scottr #pseudo-device gif 4 # IPv[46] over IPv[46] tunnel (RFC1933)
289 1.1 scottr #pseudo-device faith 1 # IPv[46] tcp relay translation i/f
290 1.1 scottr #pseudo-device stf 1 # 6to4 IPv6 over IPv4 encapsulation
291 1.1 scottr #pseudo-device vlan # IEEE 802.1q encapsulation
292 1.1 scottr #pseudo-device bridge # simple inter-network bridging
293 1.1 scottr
294 1.1 scottr # miscellaneous pseudo-devices
295 1.1 scottr pseudo-device grf 2 # grf emulation for wscons
296 1.1 scottr pseudo-device ite 1 # ite emulation for wscons
297 1.1 scottr pseudo-device pty # pseudo-terminals
298 1.1 scottr #pseudo-device tb 1 # tablet line discipline
299 1.2 lukem pseudo-device clockctl # user control of clock subsystem
300 1.1 scottr
301 1.1 scottr # rnd is EXPERIMENTAL at this point.
302 1.1 scottr #pseudo-device rnd # /dev/random and in-kernel generator
303 1.1 scottr #options RND_COM # use "com" randomness as well (BROKEN)
304