RAMDISK revision 1.59 1 1.59 maxv # $NetBSD: RAMDISK,v 1.59 2018/08/01 20:04:14 maxv Exp $
2 1.1 fredette
3 1.1 fredette # RAMDISK: Root/swap on ramdisk
4 1.1 fredette # This kernel is used to:
5 1.6 lukem # format the disk (not yet implemented)
6 1.6 lukem # partition the disk (disklabel)
7 1.6 lukem # install the miniroot in the swap partition
8 1.1 fredette
9 1.1 fredette # GENERIC Sun2 (2/120, 2/170, 2/50, ...)
10 1.1 fredette # Supports root on: ie0, sd*, ...
11 1.1 fredette
12 1.1 fredette include "arch/sun2/conf/std.sun2"
13 1.14 atatat
14 1.14 atatat #options INCLUDE_CONFIG_FILE # embed config file in kernel binary
15 1.1 fredette
16 1.36 tsutsui makeoptions COPTS="-Os" # optimize for size
17 1.36 tsutsui
18 1.1 fredette # Machines to be supported by this kernel
19 1.1 fredette #options FPU_EMULATE
20 1.1 fredette
21 1.1 fredette # Needs to be set per system. i.e change these as you see fit
22 1.1 fredette maxusers 2
23 1.1 fredette
24 1.1 fredette # Standard system options
25 1.1 fredette #options KTRACE # system call tracing
26 1.1 fredette #options SYSVMSG # System V message queues
27 1.1 fredette #options SYSVSEM # System V semaphores
28 1.1 fredette #options SYSVSHM # System V shared memory
29 1.1 fredette #options INSECURE # disable kernel security level
30 1.15 lukem options USERCONF # userconf(4) support
31 1.39 tsutsui options PIPE_SOCKETPAIR # smaller, but slower pipe(2)
32 1.18 atatat #options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel
33 1.1 fredette
34 1.1 fredette # Which kernel debugger? Uncomment either this:
35 1.1 fredette #options DDB
36 1.1 fredette # ... or these for KGDB (gdb remote target)
37 1.6 lukem #makeoptions DEBUG="-g" # debugging symbols for gdb
38 1.1 fredette #options KGDB
39 1.5 lukem #options KGDB_DEV=0x0C00 # ttya=0C00 ttyb=0C01
40 1.1 fredette
41 1.1 fredette # Other debugging options
42 1.1 fredette #options DDB_HISTORY_SIZE=100 # enable history editing in DDB
43 1.1 fredette #options DEBUG # kernel debugging code
44 1.1 fredette #options DIAGNOSTIC # extra kernel sanity checking
45 1.1 fredette #options PMAP_DEBUG
46 1.1 fredette #options SCSIDEBUG
47 1.1 fredette #options SCSIVERBOSE # Verbose SCSI errors
48 1.1 fredette
49 1.2 wiz # Compatibility options
50 1.58 mrg #include "conf/compat_netbsd10.config"
51 1.1 fredette #options COMPAT_SUNOS # can run SunOS 4.1.1 executables
52 1.7 fredette #options COMPAT_AOUT_M68K # support for NetBSD a.out executables
53 1.39 tsutsui #options EXEC_AOUT # support for a.out executables
54 1.19 christos options COMPAT_BSDPTY # /dev/[pt]ty?? ptys.
55 1.1 fredette
56 1.1 fredette # Filesystem options
57 1.1 fredette file-system FFS # Berkeley Fast Filesystem
58 1.1 fredette file-system NFS # Sun NFS client support
59 1.1 fredette file-system CD9660 # ISO 9660 + Rock Ridge file system
60 1.1 fredette #file-system FDESC # /dev/fd/*
61 1.1 fredette #file-system KERNFS # /kern
62 1.1 fredette #file-system NULLFS # loopback file system
63 1.1 fredette #file-system OVERLAY # overlay file system
64 1.1 fredette #file-system PROCFS # /proc
65 1.1 fredette #file-system UNION # union file system
66 1.1 fredette #file-system MFS # memory-based filesystem
67 1.26 christos #file-system PTYFS # /dev/pts/N support
68 1.1 fredette
69 1.1 fredette #options NFSSERVER # nfs server support
70 1.47 bouyer #options QUOTA # legacy UFS quotas
71 1.47 bouyer #options QUOTA2 # new, in-filesystem UFS quotas
72 1.48 wiz #options FFS_EI # FFS Endian Independent support
73 1.39 tsutsui options NFS_V2_ONLY # Exclude NFS3 code to save space
74 1.28 tsutsui options FFS_NO_SNAPSHOT # No FFS snapshot support
75 1.1 fredette
76 1.1 fredette # Networking options
77 1.27 isaki options INET # IP protocol stack support
78 1.1 fredette #options INET6 # IPV6
79 1.1 fredette #options IPSEC # IP security
80 1.1 fredette #options IPSEC_DEBUG # debug for IP security
81 1.1 fredette #options GATEWAY # IP packet forwarding
82 1.4 abs #options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG
83 1.1 fredette
84 1.1 fredette # Work-around for root on slow servers (insurance...)
85 1.1 fredette #options NFS_BOOT_RWSIZE=1024
86 1.1 fredette #options NFS_BOOT_BOOTPARAM
87 1.1 fredette
88 1.1 fredette # Enable the hooks used for initializing the root memory-disk.
89 1.6 lukem options MEMORY_DISK_HOOKS
90 1.6 lukem options MEMORY_DISK_IS_ROOT # force root on memory disk
91 1.6 lukem options MEMORY_DISK_SERVER=0 # no userspace memory disk support
92 1.41 he options MEMORY_DISK_ROOT_SIZE=1200 # size of memory disk, in blocks
93 1.44 jym options MEMORY_DISK_RBFLAGS=RB_SINGLE # boot in single-user mode
94 1.1 fredette
95 1.1 fredette config netbsd root on ? type ffs
96 1.1 fredette
97 1.1 fredette #### Main bus.
98 1.1 fredette mainbus0 at root
99 1.1 fredette
100 1.1 fredette #### Bus types.
101 1.1 fredette
102 1.1 fredette obio0 at mainbus? # all Sun-2
103 1.1 fredette obmem0 at mainbus? # all Sun-2
104 1.1 fredette mbmem0 at mainbus? # 2/120, 2/170
105 1.1 fredette mbio0 at mainbus? # 2/120, 2/170
106 1.3 fredette sun68kvme0 at mainbus? # 2/50, 2/130, 2/160
107 1.3 fredette vme0 at sun68kvme0 # mi VME attachment
108 1.1 fredette
109 1.1 fredette #### Standard system devices.
110 1.1 fredette
111 1.1 fredette ## The AM9513 clock chip.
112 1.6 lukem clock0 at obio0 addr 0x002800 # 2/120, 2/170
113 1.6 lukem clock0 at obio0 addr 0x7f2800 # 2/50, 2/130, 2/160
114 1.1 fredette
115 1.1 fredette ## The MM58167 time-of-day chip.
116 1.6 lukem tod0 at obio0 addr 0x003800 # 2/120, 2/170
117 1.3 fredette tod0 at vme0 addr 0x200800 # 2/50, 2/130, 2/160
118 1.1 fredette
119 1.1 fredette #### Serial port configuration.
120 1.1 fredette
121 1.3 fredette ## Zilog 8530 serial chips. Each has two channels.
122 1.1 fredette ## zs0 is ttya and ttyb. zs1 is the keyboard and mouse.
123 1.1 fredette ## zs0 is REQUIRED to use KGDB.
124 1.1 fredette zs0 at obio0 addr 0x002000 # 2/120, 2/170
125 1.3 fredette zs0 at obio0 addr 0x7f2000 # 2/50
126 1.1 fredette zs1 at obmem0 addr 0x780000 # 2/120, 2/170
127 1.3 fredette zs1 at obio0 addr 0x7f1800 # 2/50
128 1.9 fredette #zs2 at mbmem0 addr 0x080800 # 2/120, 2/170 (first sc SCSI)
129 1.9 fredette #zs3 at mbmem0 addr 0x081000 # 2/120, 2/170 (first sc SCSI)
130 1.9 fredette #zs4 at mbmem0 addr 0x084800 # 2/120, 2/170 (second sc SCSI)
131 1.9 fredette #zs5 at mbmem0 addr 0x085000 # 2/120, 2/170 (second sc SCSI)
132 1.3 fredette zstty* at zs? channel ? # ttya
133 1.3 fredette kbd0 at zstty? # keyboard
134 1.3 fredette #ms0 at zstty? # mouse
135 1.1 fredette
136 1.1 fredette #### Disk controllers and disks.
137 1.1 fredette
138 1.1 fredette ## PAL+logic-based "Sun SCSI 2" Multibus/VME SCSI controller.
139 1.1 fredette ## This driver has several flags which may be enabled using
140 1.1 fredette ## the "flags" directive. Valid flags are:
141 1.1 fredette ##
142 1.1 fredette ## 0x0ff Set (1<<target) to disable parity checking
143 1.1 fredette ## 0x100 Set this bit to disable DMA interrupts (poll)
144 1.1 fredette ## 0x200 Set this bit to disable DMA entirely (use PIO)
145 1.1 fredette ##
146 1.1 fredette ## For example: "flags 0x10f" would disable DMA interrupts,
147 1.1 fredette ## and disable parity for targets 0-3
148 1.1 fredette
149 1.1 fredette sc0 at mbmem0 addr 0x80000 ipl 2 flags 0xff
150 1.6 lukem sc0 at vme0 addr 0x200000 irq 2 vect 0x40 flags 0xff
151 1.1 fredette sc1 at mbmem0 addr 0x84000 ipl 2 flags 0xff
152 1.1 fredette
153 1.1 fredette ## NCR5380-based "Sun SCSI 3" VME SCSI controller.
154 1.1 fredette ## This driver has several flags which may be enabled by OR'ing
155 1.1 fredette ## the values and using the "flags" directive.
156 1.1 fredette ## Valid flags are:
157 1.1 fredette ##
158 1.1 fredette ## 0x01 Use DMA (may be polled)
159 1.1 fredette ## 0x02 Use DMA completion interrupts
160 1.1 fredette ## 0x04 Allow disconnect/reselect
161 1.1 fredette ##
162 1.1 fredette ## E.g. the following would enable DMA, interrupts, and reselect:
163 1.1 fredette ## si0 at vme0 addr 0x200000 ipl 3 vect 0x40 flags 0x07
164 1.1 fredette ##
165 1.1 fredette ## By default, DMA is enabled in the driver.
166 1.1 fredette
167 1.3 fredette si0 at vme0 addr 0x200000 irq 2 vect 0x40
168 1.1 fredette
169 1.1 fredette ## These entries find devices on all SCSI busses and assign
170 1.1 fredette ## unit numbers dynamically.
171 1.1 fredette scsibus* at sc?
172 1.3 fredette scsibus* at si?
173 1.1 fredette sd* at scsibus? target ? lun ? # SCSI disks
174 1.1 fredette st* at scsibus? target ? lun ? # SCSI tapes
175 1.1 fredette cd* at scsibus? target ? lun ? # SCSI CD-ROMs
176 1.1 fredette #ch* at scsibus? target ? lun ? # SCSI changer devices
177 1.1 fredette #ss* at scsibus? target ? lun ? # SCSI scanners
178 1.1 fredette #ses* at scsibus? target ? lun ? # SCSI SES/SAF-TE
179 1.1 fredette #uk* at scsibus? target ? lun ? # unknown SCSI
180 1.8 fredette
181 1.8 fredette # support old SCSI devices that don't understand the INQUIRY command
182 1.8 fredette options SCSI_OLD_NOINQUIRY
183 1.1 fredette
184 1.1 fredette ## Xylogics 450 or 451 Multibus/VME SMD disk controllers and disks.
185 1.6 lukem #xyc0 at mbio0 addr 0xee40 ipl 2
186 1.3 fredette xyc0 at vme0 addr 0xee40 irq 2 vect 0x48
187 1.6 lukem #xyc1 at mbio0 addr 0xee48 ipl 2
188 1.3 fredette xyc1 at vme0 addr 0xee48 irq 2 vect 0x49
189 1.3 fredette xy* at xyc? drive ?
190 1.1 fredette
191 1.1 fredette ## Memory-disk device.
192 1.46 hannken pseudo-device md
193 1.1 fredette
194 1.1 fredette #### Network interfaces.
195 1.1 fredette
196 1.1 fredette ## Intel Ethernet (onboard, or Multibus/VME)
197 1.3 fredette ie0 at obio0 addr 0x7f0800 ipl 3 # 2/50
198 1.1 fredette ie0 at mbmem0 addr 0x88000 ipl 3
199 1.3 fredette ie1 at mbmem0 addr 0x8c000 ipl 3
200 1.3 fredette ## VME: the first [addr,len] pair specifies the device registers;
201 1.3 fredette ## the second pair specifies the on-board memory buffer
202 1.3 fredette ie1 at vme0 addr 0xe88000,0xe00000 len -1,0x40000 irq 3 vect 0x75
203 1.3 fredette
204 1.3 fredette ## 3Com Ethernet (Multibus only)
205 1.3 fredette ec0 at mbmem0 addr 0xe0000 ipl 3
206 1.3 fredette ec1 at mbmem0 addr 0xe2000 ipl 3
207 1.34 tsutsui # limit NFS R/W size for poor ec(4) interfaces
208 1.34 tsutsui options NFS_RSIZE=1024,NFS_WSIZE=1024
209 1.1 fredette
210 1.1 fredette ## Frame buffers.
211 1.1 fredette
212 1.1 fredette ## Sun "bwtwo" black and white framebuffer.
213 1.6 lukem #bwtwo0 at obmem0 addr 0x700000 # 2/120, 2/170
214 1.3 fredette #bwtwo0 at obio0 addr 0x0 # 2/50
215 1.3 fredette
216 1.3 fredette ## PROM console driver -- if all else fails
217 1.3 fredette pcons0 at mainbus0 # PROM console
218 1.1 fredette
219 1.1 fredette #### Miscellaneous.
220 1.52 christos pseudo-device loop # network loopback
221 1.30 rpaulo #pseudo-device bpfilter # packet filter
222 1.31 cube pseudo-device sl # CSLIP
223 1.31 cube #pseudo-device ppp # PPP
224 1.31 cube #pseudo-device tun # network tunneling over tty
225 1.31 cube #pseudo-device gre # generic L3 over IP tunnel
226 1.59 maxv #pseudo-device npf # NPF packet filter
227 1.31 cube #pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933)
228 1.31 cube #pseudo-device faith # IPv[46] tcp relay translation i/f
229 1.31 cube #pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation
230 1.1 fredette
231 1.52 christos pseudo-device pty # pseudo-terminals
232 1.31 cube #pseudo-device vnd # paging to files
233 1.52 christos #pseudo-device ccd # concatenated disks
234 1.53 christos #pseudo-device raid # RAIDframe disk driver
235 1.1 fredette #options RAID_AUTOCONFIG # auto-configuration of RAID components
236 1.45 pooka #pseudo-device fss # file system snapshot device
237