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