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