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