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