1#         $NetBSD: INSTALL_TINY,v 1.165 2024/01/29 18:27:13 christos Exp $
2#
3#         This kernel should be derived from INSTALL (which is derived
4#         from GENERIC) with some features commented out.
5#
6#         This kernel has been optimized for space. It is targeted towards
7#         small memory machines (4M). It has no SCSI, PCI or EISA. It does
8#         have pcmcia, for old laptops.
9#
10
11include "arch/i386/conf/std.i386"
12
13#options  INCLUDE_CONFIG_FILE # embed config file in kernel binary
14
15makeoptions         COPTS="-Os"                   # Optimise for space. Implies -O2
16makeoptions         USE_SSP="no"
17
18# Enable the hooks used for initializing the root memory-disk.
19options   MEMORY_DISK_HOOKS
20options   MEMORY_DISK_IS_ROOT # force root on memory disk
21options   MEMORY_DISK_SERVER=0          # no userspace memory disk support
22options   MEMORY_DISK_ROOT_SIZE=3100    # size of memory disk, in blocks
23options   MEMORY_DISK_RBFLAGS=RB_SINGLE # boot in single-user mode
24
25maxusers  2                   # estimated number of users
26
27# CPU-related options.
28#options  USER_LDT  # user-settable LDT; used by WINE
29
30# This option allows you to force a serial console at the specified
31# I/O address.
32#options  CONSDEVNAME="\"com\"",CONADDR=0x3f8,CONSPEED=9600
33
34# The following options override the memory sizes passed in from the boot
35# block.  Use them *only* if the boot block is unable to determine the correct
36# values.  Note that the BIOS may *correctly* report less than 640k of base
37# memory if the extended BIOS data area is located at the top of base memory
38# (as is the case on most recent systems).
39#options  REALBASEMEM=...     # size of base memory
40#options  REALEXTMEM=...      # size of extended memory
41
42options   INSECURE  # disable kernel security levels
43
44options   RTC_OFFSET=0        # hardware clock is this many mins. west of GMT
45#options  NTP                 # NTP phase/frequency locked loop
46
47#options  KTRACE              # system call tracing via ktrace(1)
48
49#options  SYSVSEM             # System V-like semaphores
50#options  SYSVSHM             # System V-like memory sharing
51
52#options  USERCONF  # userconf(4) support
53options   PIPE_SOCKETPAIR               # smaller, but slower pipe(2)
54#options  SYSCTL_INCLUDE_DESCR          # Include sysctl descriptions in kernel
55no options          EXEC_AOUT # we don't a.out support
56
57# Diagnostic/debugging support options
58#options  DIAGNOSTIC          # inexpensive kernel consistency checks
59#options  DEBUG               # expensive debugging checks/support
60#options  DDB                 # in-kernel debugger
61#options  DDB_ONPANIC=1       # see also sysctl(7): `ddb.onpanic'
62#options  DDB_HISTORY_SIZE=512          # enable history editing in DDB
63#options  KGDB                # remote debugger
64#options  KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
65#makeoptions        DEBUG="-g"          # compile full symbol table
66
67# Compatibility options
68#include  "conf/compat_netbsd09.config"
69#options  COMPAT_NOMID        # NetBSD 0.8, 386BSD, and BSDI
70#options  COMPAT_386BSD_MBRPART # recognize old partition ID
71
72#options  COMPAT_LINUX        # binary compatibility with Linux
73#options  COMPAT_OSSAUDIO     # binary compatibility with Linux
74options   COMPAT_BSDPTY       # /dev/[pt]ty?? ptys.
75
76# File systems
77file-system         FFS                 # UFS
78#file-system        EXT2FS              # second extended file system (linux)
79#file-system        LFS                 # log-structured file system
80#file-system        MFS                 # memory file system
81file-system         NFS                 # Network File System client
82file-system         CD9660              # ISO 9660 + Rock Ridge file system
83file-system         MSDOSFS             # MS-DOS file system
84#file-system        FDESC               # /dev/fd
85#file-system        KERNFS              # /kern
86#file-system        NULLFS              # loopback file system
87#file-system        PROCFS              # /proc
88#file-system        UMAPFS              # NULLFS + uid and gid remapping
89#file-system        UNION               # union file system
90#file-system        PTYFS               # /dev/pts/N support
91#file-system        TMPFS               # Efficient memory file-system
92
93# Filesystem options
94#options  QUOTA               # legacy UFS quotas
95#options  QUOTA2              # new, in-filesystem UFS quotas
96#options  DISKLABEL_EI        # disklabel Endian Independent support
97#options  FFS_EI              # FFS Endian Independent support
98#options  NFSSERVER # Network File System server
99options   NFS_V2_ONLY         # Exclude NFS3 code to save space
100options   FFS_NO_SNAPSHOT     # No FFS snapshot support
101
102# Networking options
103#options  GATEWAY             # packet forwarding
104options   INET                # IP + ICMP + TCP + UDP
105#options  MROUTING  # IP multicast routing
106#options  PIM                 # Protocol Independent Multicast
107#options  NETATALK  # AppleTalk networking protocols
108#options  PPP_BSDCOMP         # BSD-Compress compression support for PPP
109#options  PPP_DEFLATE         # Deflate compression support for PPP
110#options  PPP_FILTER          # Active filter support for PPP (requires bpf)
111#options  TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG
112
113# These options enable verbose messages for several subsystems.
114# Warning, these may compile large string tables into the kernel!
115#options  EISAVERBOSE         # verbose EISA device autoconfig messages
116#options  PCIVERBOSE          # verbose PCI device autoconfig messages
117#options  PCI_CONFIG_DUMP     # verbosely dump PCI config space
118#options  PCMCIAVERBOSE       # verbose PCMCIA configuration messages
119#options  SCSIVERBOSE         # human readable SCSI error messages
120
121# Squeeze...
122options   NVNODE=50
123options   NBUF=20
124options   BUFPAGES=20
125
126# Kernel root file system and dump configuration.
127config              netbsd    root on ? type ?
128#config             netbsd    root on sd0a type ffs
129#config             netbsd    root on ? type nfs
130
131#
132# wscons options
133#
134# builtin terminal emulations
135#options  WSEMUL_SUN                    # sun terminal emulation
136options   WSEMUL_VT100                  # VT100 / VT220 emulation
137# customization of console and kernel output - see dev/wscons/wsdisplayvar.h
138#options  WSDISPLAY_CUSTOM_OUTPUT       # color customization from wsconsctl(8)
139#options  WS_DEFAULT_FG=WSCOL_WHITE
140#options  WS_DEFAULT_BG=WSCOL_BLACK
141#options  WS_DEFAULT_COLATTR="(0)"
142#options  WS_DEFAULT_MONOATTR="(0)"
143options   WS_KERNEL_FG=WSCOL_GREEN
144#options  WS_KERNEL_BG=WSCOL_BLACK
145#options  WS_KERNEL_COLATTR=""
146#options  WS_KERNEL_MONOATTR=""
147# customization of console border color
148#options  WSDISPLAY_CUSTOM_BORDER       # border customization from wsconsctl(8)
149#options  WSDISPLAY_BORDER_COLOR=WSCOL_BLUE       # default color
150# compatibility to other console drivers
151options   WSDISPLAY_COMPAT_PCVT                   # emulate some ioctls
152options   WSDISPLAY_COMPAT_SYSCONS      # emulate some ioctls
153options   WSDISPLAY_COMPAT_USL                    # wsconscfg VT handling
154options   WSDISPLAY_COMPAT_RAWKBD                 # can get raw scancodes
155# see dev/pckbport/wskbdmap_mfii.c for implemented layouts
156#options  PCKBD_LAYOUT="(KB_DE | KB_NODEAD)" # for pckbd driver
157#options  UKBD_LAYOUT="(KB_DE | KB_NODEAD)"  # for ukbd driver
158# allocate a number of virtual screens at autoconfiguration time
159#options  WSDISPLAY_DEFAULTSCREENS=4
160# use a large software cursor that doesn't blink
161options   PCDISPLAY_SOFTCURSOR
162
163#
164# Device configuration
165#
166
167#apm0     at mainbus0                             # Advanced power management
168
169
170# Basic Bus Support
171
172# PCI bus support
173#pci*     at mainbus? bus ?
174#pci*     at pchb? bus ?
175#pci*     at ppb? bus ?
176
177# PCI bridges
178#pchb*    at pci? dev ? function ?      # PCI-Host bridges
179#pceb*    at pci? dev ? function ?      # PCI-EISA bridges
180#pcib*    at pci? dev ? function ?      # PCI-ISA bridges
181#ppb*     at pci? dev ? function ?      # PCI-PCI bridges
182# XXX 'puc's aren't really bridges, but there's no better place for them here
183#puc*     at pci? dev ? function ?      # PCI "universal" comm. cards
184
185# As well as 5 and 7, avoid irq 4 and 3 because we do not probe com* here
186options   PCIC_ISA_INTR_ALLOC_MASK=0xff47
187
188# PCMCIA bus support
189pcmcia* at pcic? controller ? socket ?
190#pcmcia* at tcic? controller ? socket ?
191
192# ISA PCMCIA controllers
193pcic0     at isa? port 0x3e0 iomem 0xd0000 iosiz 0x10000
194pcic1     at isa? port 0x3e2 iomem 0xe0000 iosiz 0x4000
195
196# EISA bus support
197#eisa0    at mainbus?
198#eisa0    at pceb?
199
200# ISA bus support
201isa0      at mainbus?
202#isa0     at pceb?
203#isa0     at pcib?
204
205# ISA Plug-and-Play bus support
206#isapnp0 at isa?
207
208
209# Console Devices
210
211# wscons
212pckbc0              at isa?                       # PC keyboard controller
213pckbd*              at pckbc?           # PC keyboard
214pcdisplay0          at isa?                       # CGA, MDA, EGA, HGA
215wsdisplay*          at pcdisplay? console ?
216wskbd*              at pckbd? console ?
217#wsmouse* at pms? mux 0
218
219# Serial Devices
220
221# PCI serial interfaces
222#com*     at puc? port ?                          # 16x50s on "universal" comm boards
223#cy*      at pci? dev ? function ?      # Cyclades Cyclom-Y serial boards
224
225# ISA Plug-and-Play serial interfaces
226#com*     at isapnp?                              # Modems and serial boards
227
228# PCMCIA serial interfaces
229#com*     at pcmcia? function ?                   # Modems and serial cards
230
231# ISA serial interfaces
232#options  COM_HAYESP                    # adds Hayes ESP serial board support
233#com0     at isa? port 0x3f8 irq 4      # Standard PC serial ports
234#com1     at isa? port 0x2f8 irq 3
235#com2     at isa? port 0x3e8 irq 5
236#com3     at isa? port 0x2e8 irq 9
237#ast0     at isa? port 0x1a0 irq 5      # AST 4-port serial cards
238#com*     at ast? slave ?
239#boca0    at isa? port 0x100 irq 5      # BOCA 8-port serial cards
240#com*     at boca? slave ?
241#rtfps0   at isa? port 0x1230 irq 10    # RT 4-port serial cards
242#com*     at rtfps? slave ?
243#cy0      at isa? iomem 0xd4000 irq 12  # Cyclades serial cards
244
245
246# Parallel Printer Interfaces
247
248# PCI parallel printer interfaces
249#lpt*     at puc? port ?                          # || ports on "universal" comm boards
250
251# ISA parallel printer interfaces
252#lpt0     at isa? port 0x378 irq 7      # standard PC parallel ports
253#lpt1     at isa? port 0x278
254#lpt2     at isa? port 0x3bc
255
256# I2O devices
257#iop*     at pci? dev ? function ?      # I/O processor
258#iopsp*   at iop? tid ?                           # SCSI/FC-AL ports
259#ld*      at iop? tid ?                           # block devices
260#dpti*    at iop? tid 0                           # DPT/Adaptec control interface
261
262# SCSI Controllers and Devices
263
264# PCI SCSI controllers
265#ahc*     at pci? dev ? function ?      # Adaptec [23]94x, aic78x0 SCSI
266#bha*     at pci? dev ? function ?      # BusLogic 9xx SCSI
267#dpt*     at pci? dev ? function ?      # DPT SmartCache/SmartRAID
268#isp*     at pci? dev ? function ?      # Qlogic ISP [12]0x0 SCSI/FibreChannel
269#mly*     at pci? dev ? function ?      # Mylex AcceleRAID and eXtremeRAID
270#siop*    at pci? dev ? function ?      # NCR 53c8xx SCSI
271
272# EISA SCSI controllers
273#ahb*     at eisa? slot ?                         # Adaptec 174[02] SCSI
274#ahc*     at eisa? slot ?                         # Adaptec 274x, aic7770 SCSI
275#bha*     at eisa? slot ?                         # BusLogic 7xx SCSI
276#dpt*     at eisa? slot ?                         # DPT SmartCache/SmartRAID
277#uha*     at eisa? slot ?                         # UltraStor 24f SCSI
278
279# PCMCIA SCSI controllers
280#aic*     at pcmcia? function ?                   # Adaptec APA-1460 SCSI
281
282# ISA Plug-and-Play SCSI controllers
283#aic*     at isapnp?                              # Adaptec AHA-1520B
284
285# ISA SCSI controllers
286#aha0     at isa? port 0x330 irq ? drq ?          # Adaptec 154[02] SCSI
287#aha1     at isa? port 0x334 irq ? drq ?
288#ahc0     at isa? port ? irq ?                    # Adaptec 284x SCSI
289#aic0     at isa? port 0x340 irq 11     # Adaptec 152[02] SCSI
290#bha0     at isa? port 0x330 irq ? drq ?          # BusLogic [457]4X SCSI
291#bha1     at isa? port 0x334 irq ? drq ?
292# The "nca" and "dpt" probes might give false hits or hang your machine.
293#dpt0     at isa? port 0x170 irq ? drq ?          # DPT SmartCache/SmartRAID
294#nca0     at isa? port 0x360 irq 15     # Port-mapped NCR 53C80 controller
295#nca1     at isa? iomem 0xd8000 irq 5   # Memory-mapped controller (T128, etc.)
296#sea0     at isa? iomem 0xc8000 irq 5   # Seagate/Future Domain SCSI
297#uha0     at isa? port 0x330 irq ? drq ?          # UltraStor [13]4f SCSI
298#uha1     at isa? port 0x340 irq ? drq ?
299#wds0     at isa? port 0x350 irq 15 drq 6         # WD7000 and TMC-7000 controllers
300#wds1     at isa? port 0x358 irq 11 drq 5
301
302# SCSI bus support
303#scsibus* at scsi?
304
305# SCSI devices
306#sd*      at scsibus? target ? lun ?    # SCSI disk drives
307#st*      at scsibus? target ? lun ?    # SCSI tape drives
308#cd*      at scsibus? target ? lun ?    # SCSI CD-ROM drives
309#ch*      at scsibus? target ? lun ?    # SCSI autochangers
310#ss*      at scsibus? target ? lun ?    # SCSI scanners
311#uk*      at scsibus? target ? lun ?    # SCSI unknown
312
313
314# RAID controllers and devices
315#aac*     at pci? dev ? function ?      # Adaptec AAC family
316#cac*     at eisa? slot ?                         # Compaq EISA array controllers
317#cac*     at pci? dev ? function ?      # Compaq PCI array controllers
318#ciss*    at pci? dev ? function ?      # HP Smart Array controllers
319#icp*     at pci? dev ? function ?      # ICP-Vortex GDT & Intel RAID
320#mlx*     at pci? dev ? function ?      # Mylex DAC960 & DEC SWXCR family
321#mlx*     at eisa? slot ?                         # Mylex DAC960 & DEC SWXCR family
322#twe*     at pci? dev ? function ?      # 3ware Escalade RAID controllers
323
324#ld*      at aac? unit ?                          # logical disk devices
325#ld*      at cac? unit ?
326#ld*      at icp? unit ?
327#ld*      at twe? unit ?
328#ld*      at mlx? unit ?
329
330#icpsp*   at icp? unit ?                          # SCSI pass-through
331
332
333# IDE and related devices
334
335# PCMCIA IDE controllers
336wdc*      at pcmcia? function ?
337
338# ST506, ESDI, and ISA IDE controllers
339# Use flags 0x01 if you want to try to use 32bits data I/O (the driver will
340# fall back to 16bits I/O if 32bits I/O are not functional).
341# Some controllers pass the initial 32bit test, but will fail later.
342wdc0      at isa? port 0x1f0 irq 14 flags 0x00
343wdc1      at isa? port 0x170 irq 15 flags 0x00
344
345# ATA (IDE) bus support
346atabus* at ata?
347
348# IDE drives
349wd*       at atabus? drive ?            # the drives themselves
350
351# ATAPI bus support
352atapibus* at atapi?
353
354# ATAPI devices
355cd*       at atapibus? drive ?                    # ATAPI CD-ROM drives
356#sd*      at atapibus? drive ?                    # ATAPI disk drives
357
358
359# Miscellaneous mass storage devices
360
361# ISA floppy
362fdc0      at isa? port 0x3f0 irq 6 drq 2          # standard PC floppy controllers
363#fdc1     at isa? port 0x370 irq ? drq ?
364fd*       at fdc? drive ?                         # the drives themselves
365# some machines need you to do this instead of fd*
366#fd0      at fdc0 drive 0
367
368# ISA CD-ROM devices
369#mcd0     at isa? port 0x300 irq 10     # Mitsumi CD-ROM drives
370
371# ISA tape devices
372# note: the wt driver conflicts unpleasantly with ed devices at the
373# same I/O address. The probe reprograms their EEPROMs. Don't
374# uncomment it unless you are actually using it.
375#wt0      at isa? port 0x308 irq 5 drq 1          # Archive and Wangtek QIC tape drives
376
377
378# Network Interfaces
379
380# PCI network interfaces
381#ep*      at pci? dev ? function ?      # 3Com 3c59x/3c90x Ethernet
382#fxp*     at pci? dev ? function ?      # Intel EtherExpress PRO 10+/100B
383#pcn*     at pci? dev ? function ?      # PCnet-PCI Ethernet
384#ne*      at pci? dev ? function ?      # NE2000-compatible Ethernet
385#tl*      at pci? dev ? function ?      # ThunderLAN-based Ethernet
386#tlp*     at pci? dev ? function ?      # DECchip 21x4x and clones
387
388# EISA network interfaces
389#ep*      at eisa? slot ?                         # 3Com 3c579 Ethernet
390
391# ISA Plug-and-Play network interfaces
392#ep*      at isapnp?                              # 3Com 3c509 Ethernet
393#ne*      at isapnp?                              # NE2000-compatible Ethernet
394
395# PCMCIA network interfaces
396ep*       at pcmcia? function ?                   # 3Com 3c589 and 3c562 Ethernet
397mbe*      at pcmcia? function ?                   # MB8696x based Ethernet
398ne*       at pcmcia? function ?                   # NE2000-compatible Ethernet
399sm*       at pcmcia? function ?                   # Megahertz Ethernet
400
401# ISA network interfaces
402ate0      at isa? port 0x2a0 irq ?                # AT1700
403ec0       at isa? port 0x250 iomem 0xd8000 irq 9  # 3Com 3c503 Ethernet
404#eg0      at isa? port 0x280 irq 9                # 3c505 Ethernet cards
405#el0      at isa? port 0x300 irq 9                # 3c501 Ethernet cards
406ep0       at isa? port ? irq ?                              # 3c509 Ethernet cards
407#ef0      at isa? port 0x360 iomem 0xd0000 irq 7  # 3c507
408ai0       at isa? port 0x360 iomem 0xd0000 irq 7  # StarLAN
409fmv0      at isa? port 0x2a0 irq ?                # FMV-180 series
410ix0       at isa? port 0x300 irq 10               # EtherExpress/16
411iy0       at isa? port 0x360 irq ?                # EtherExpress PRO 10 ISA
412lc0       at isa? port 0x320 iomem ? irq ?        # DEC EtherWORKS III (LEMAC)
413#depca0   at isa? port 0x300 iomem 0xc8000 iosiz 0x8000 irq 5         # DEPCA
414#le*      at depca?
415#nele0    at isa? port 0x320 irq 9 drq 7                    # NE2100
416#le*      at nele?
417#bicc0    at isa? port 0x320 irq 10 drq 7                   # BICC IsoLan
418#le*      at bicc?
419ne0       at isa? port 0x280 irq 9                # NE[12]000 Ethernet cards
420ne1       at isa? port 0x300 irq 10
421sm0       at isa? port 0x300 irq 10               # SMC91C9x Ethernet
422we0       at isa? port 0x280 iomem 0xd0000 irq 9  # WD/SMC Ethernet
423we1       at isa? port 0x300 iomem 0xcc000 irq 10
424
425# MII bus support
426#mii*     at tl?
427
428# MII PHY network interfaces
429#tlphy*   at mii? dev ?                           # ThunderLAN PHYs
430#nsphy*   at mii? dev ?                           # NS and compatible PHYs
431#ukphy*   at mii? phy ?                           # generic unknown PHYs
432
433
434# Audio Devices
435
436# ISA Plug-and-Play audio devices
437#guspnp* at isapnp?                     # Gravis Ultra Sound PnP audio
438#sb*      at isapnp?                              # SoundBlaster-compatible audio
439
440# ISA audio devices
441#gus0     at isa? port 0x220 irq 7 drq 1 drq2 6   # Gravis Ultra Sound
442#pas0     at isa? port 0x220 irq 7 drq 1                    # ProAudio Spectrum
443#sb0      at isa? port 0x220 irq 7 drq 1 drq2 5   # SoundBlaster
444#wss0     at isa? port 0x530 irq 10 drq 0         drq2 1    # Windows Sound System
445
446# Audio support
447#audio*   at audiobus?
448
449# The spkr driver provides a simple tone interface to the built in speaker.
450#spkr*    at pcppi?           # PC speaker
451#spkr*    at audio?           # PC speaker (synthesized)
452
453
454# Joysticks
455
456# ISA Plug-and-Play joysticks
457#joy*     at isapnp?                              # Game ports (usually on audio cards)
458
459# ISA joysticks. Probe is a little strange; add only if you have one.
460#joy0     at isa? port 0x201
461
462# Pseudo-Devices
463
464# disk/mass storage pseudo-devices
465#pseudo-device      ccd                           # concatenated/striped disk devices
466#pseudo-device      fss                           # file system snapshot device
467pseudo-device       md                            # memory disk device (ramdisk)
468#pseudo-device      vnd                           # disk-like interface to files
469
470# network pseudo-devices
471#pseudo-device      bpfilter            # Berkeley packet filter
472pseudo-device       loop                          # network loopback
473#pseudo-device      ppp                           # Point-to-Point Protocol
474#pseudo-device      sl                            # Serial Line IP
475#pseudo-device      tun                           # network tunneling over tty
476
477# miscellaneous pseudo-devices
478pseudo-device       pty                           # pseudo-terminals
479options   NO_DEV_PTM
480#options  RND_COM                       # use "com" randomness as well (BROKEN)
481
482# Pull in optional local configuration - always at end
483cinclude  "arch/i386/conf/INSTALL.local"
484