home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / unix / riscbsd / docs / config_gui < prev    next >
Encoding:
Text File  |  1996-10-07  |  25.2 KB  |  706 lines

  1.  
  2.             RiscBSD Configuration Guide
  3.             ---------------------------
  4.  
  5. Copyright (c) 1996 Mark Brinicombe
  6.  
  7. $Id: config_guide.txt,v 1.5 1996/04/03 02:29:55 mark Exp $
  8.  
  9. Pre-requisits : Beta installation of RiscBSD with the compiler installed
  10. (sets base, as252, cc263, comp and local)
  11. Note: To compile kernel source newer than 10/03/96 it is recommended that
  12. the cc272 set is installed in preference to the cc263 set.
  13.  
  14. source files required: sys.tar.gz netbsd-patches.tar.gz csc-patch.tar.gz
  15.                    or: sys-arm32.tar.gz
  16.  
  17. The patches file is available from ftp.ph.kcl.ac.uk in the directory
  18. /pub/acorn/RiscBSD/sources/patches/netbsd-patches.tar.gz
  19. The sys.tar.gz file can be obtained from any netbsd-current mirror site e.g.
  20. ftp://src.doc.ic.ac.uk/pub/packages/unix/NetBSD-current/tars/src/sys.tar.gz
  21. The csc-patch.tar.gz file can also be from on the RiscBSD ftp site. This
  22. contains the patch files and object files needed to build kernels with the
  23. Cumana SCSI II driver for which the source code to the driver is NDA.
  24. The sys-arm32.tar.gz file is also available from ftp.ph.kcl.ac.uk and has
  25. already had all the patches applied and contains the csc driver object file.
  26.  
  27. Installing the files
  28. --------------------
  29.  
  30. cd /usr
  31.  
  32. extract the sys.tar.gz and netbsd-patches.tar.gz files
  33.  
  34. e.g.
  35.  
  36. tar xfvz /usr/local/tars/sys.tar.gz
  37. tar xfvz /usr/local/tars/netbsd-patches.tar.gz
  38.  
  39. If you are short of space you can prune the kernel source tree. e.g.
  40.  
  41. cd /usr/src/sys/arch
  42. rm -rf alpha amiga atari da30 hp300 i386 m68k mac mac68k mvme68k pc532 pmax
  43. rm -rf sparc sun3 vax
  44.  
  45. leaving just the arm32 directory.
  46.  
  47. If you are really short of space you can also prune some of the compatibilty
  48. modules e.g.
  49.  
  50. cd /usr/src/sys/compat
  51. rm -rf freebsd hpux ibcs2 linux osf1 svr4 ultrix
  52.  
  53. The sub directory common is required.
  54.  
  55. NOTE: You will need 2MB-3MB on the partition holding your kernel source tree
  56. for the object files when you build the kernel.
  57.  
  58. If you have the sys-arm32.tar.gz file then this should be extracted from /
  59. i.e.
  60.  
  61. cd /
  62. tar xfvz /usr/local/tars/sys-arm32.tar.gz
  63.  
  64. This source tree already has already been pruned and has had all the patches
  65. applied.
  66.  
  67. Geography
  68. ---------
  69.  
  70. /usr/src/ is the home of all the standard NetBSD source code i.e. bin sbin
  71. usr.bin usr.sbin etc ... However to configure your own kernels you only need
  72. the sys source tree. Often there is a symbolic link /sys to /usr/src/sys
  73. The source tree in /usr/src/sys is completely self contained and does use
  74. any files outside the sys directory. Although the kernel build itself does
  75. not user /usr/include several support binaries such as makemodes do.
  76.  
  77. Within the sys directory are a set of directories containing the source to
  78. the various kernel components. Some of these directories will have further
  79. sub directories e.g. arch, compat, lib and miscfs.
  80.  
  81. These directories are :
  82.  
  83. adosfs        amigados filesystem
  84. arch        architecture dependent source
  85. compat        compatibility modules
  86. conf        configuration files
  87. ddb        kernel debugger
  88. dev        generic device source code
  89. isofs        iso filesystems (cd9660)
  90. kern        main kernel source code
  91. lib        kernel libraries
  92. miscfs        miscellaneous filesystems
  93. msdosfs        msdos filesystem
  94. net        network source code
  95. netccitt    netcitt source code
  96. netinet        inet source code
  97. netiso        netiso source code
  98. netns        netns source code
  99. nfs        nfs source code
  100. scsi        scsi device source code
  101. stand        miscellaneous code
  102. sys        kernel header files
  103. ufs        ufs filesystem source code
  104. vm        virtual memory source code
  105.  
  106. There are two arm32 specific directories. They are :
  107.  
  108. sys/arch/arm32
  109. sys/lib/libkern/arch/arm32
  110.  
  111. Site seeing
  112. -----------
  113.  
  114. cd /usr/src/sys/arch/arm32
  115.  
  116. This is the top level of the arm kernel code. The subdirectories are listed
  117. below.
  118.  
  119. arm32        main arm32 source code.
  120. boot        source code for boot loader.
  121. compile        kernel compile directory.
  122. conf        configuration files.
  123. dev        drivers that are not hardware specific.
  124. doc        Miscellaneous kernel documents.
  125. fpe-arm        ARM Ltd FPE based floating point emulator.
  126. fpe-sp        single precision floating point emulator.
  127. include        machine specific include files.
  128. kshell        kernel shell. Used for debugging but a bit redundant now.
  129. mainbus        source code mainbus device and drivers attached to the
  130.         mainbus e.g. combo chip driver wd, rd, com, lpt.
  131. podulebus    source code for podulebus device and drivers for podule
  132.         hardware.
  133.  
  134. There are two experimental directories that exist within the mainbus and
  135. podulebus directories. These do not exist in the standard NetBSD source
  136. tree but may be created when applying some of the patches or NetBSD/arm32
  137. specific upgrades. These directories contain experimental source files and
  138. development source files that are not ready for public use. They also are
  139. where NDA code is developed. Object file versions of the NDA drivers may
  140. be found in these directories.
  141.  
  142. Installing the patches
  143. ----------------------
  144.  
  145. There are number of patches that can be applied to the machine independant
  146. part of the source tree. Most of these patches are not required but are
  147. recommended. Eventually they will be integrated into the standard source
  148. tree. Until then they must be manually applied. A lot of the patches are for
  149. non kernel parts of the source tree. Since this guide deals with kernel
  150. configuration only those patches related to the kernel will be considered.
  151. They are all the patches that begin sys. The filenames of the patch files
  152. describe the locations of the patches.
  153.  
  154. sys.compat.common.compat_tty.c.patch    - signed char patch
  155. sys.kern.exec_aout.c.patch        - 4MB binaries compatibility
  156. sys.kern.subr_prf.c.patch        - width specifier on kernel print %s
  157. sys.kern.tty_compat.c.patch        - signed char patch
  158. sys.kern.vfs_subr.c.patch        - verbose fs unmounting
  159. sys.scsi.sd.c.patch            - MO disc disklabel and geom patch
  160. sys.sys.proc.h.patch            - signed char patch
  161. sys.arch.arm32.conf.Makefile.arm32.patch    - make to speed up makedepend
  162.  
  163. To apply these patches, either apply manually i.e.
  164.  
  165. cd /usr/src/sys/kern
  166. patch -p0 </usr/src/patch/sys.kern.exec_aout.c.patch
  167. patch -p0 </usr/src/patch/sys.kern.subr_prf.c.patch
  168. patch -p0 </usr/src/patch/sys.kern.tty_compat.c.patch
  169. patch -p0 </usr/src/patch/sys.kern.vfs_subr.c.patch
  170.  
  171. cd /usr/src/sys/scsi
  172. patch -p0 </usr/src/patch/sys.scsi.sd.c.patch
  173.  
  174. cd /usr/src/sys/compat/common
  175. patch -p0 </usr/src/patch/sys.compat.common.compat_tty.c.patch
  176.  
  177. cd /usr/src/sys/sys
  178. patch -p0 </usr/src/patch/sys.sys.proc.h
  179.  
  180. cd /usr/src/sys/arch/arm32/conf
  181. patch -p0 </usr/src/patch/sys.arch.arm32.conf.Makefile.arm32.patch
  182. or use the applypatches script in the /usr/src/patch directory
  183.  
  184. i.e. the command
  185.  
  186. /usr/src/patch/applypatches sys
  187.  
  188. will apply all the patches to the sys source tree.
  189.  
  190. Creating your Kernel Configuration File
  191. ---------------------------------------
  192.  
  193. Before we can build a kernel we need to create a kernel configuration file.
  194. A kernel configuration file contains information on all the kernel options
  195. required e.g. filesystems and networking and specifies all the devices to
  196. build into the kernel.
  197.  
  198. cd /usr/src/sys/arch/arm32/conf
  199.  
  200. In this directory are a number of files. Most of these are example kernel
  201. configuration files from some of the RiscBSD development machines. All the
  202. file in capitals are kernel configuration files. In addition there is
  203. a makefile template an a list of the various source files required for
  204. different options and devices.
  205. There is also a monitors directory that contains standard monitor definition
  206. files as used by RiscOS. Monitor definition files are used to obtain mode
  207. timing information that is compiled into the kernel so that the vidc can
  208. be correctly setup at boot time. If you have a custom monitor definition
  209. file or the appropriate one is not in the monitors sub directory you should
  210. copy the one you use in RiscOS into this directory.
  211.  
  212. Now copy the GENERIC kernel configuration to the configuration file for your
  213. machine. This is your machine name in capitals. e.g.
  214.  
  215. cp GENERIC <name of your machine in capitals>
  216.  
  217. Now you need to edit your configuration file to select the appropriate
  218. options.
  219.  
  220. The GENERIC configuration file is fairly self explanatory, It basically
  221. consists of options and devices. The file is split into a number of sections
  222. with similar or related options grouped together e.g. filesystem options,
  223. network options etc. Each section has a comment which will be used when
  224. refering to the various sections.
  225.  
  226. To remove options, rather than deleting them it is perhaps better to comment
  227. the lines out with a hash character in case you wish to enable the options
  228. later.
  229.  
  230. Typically you will not need to change anything above the CPU options. The
  231. only line that you may possible want to change in the maxusers line.
  232. The CPU options section defines CPU specific options. These are the CPU type
  233. and the abort type. Currently the options CPU_ARM6 and CPU_ARM7 are valid.
  234. If the kernel is configured with CPU_ARM6 then the option CPU_LATE_ABORT
  235. can be used to run the processor in late abort abort. This is required if
  236. you want compatibility with the ARM7 or later processors since the ARM6 is
  237. the only processor that supports the early abort model. The only difference
  238. is that the fault code is slightly more efficient with early aborts as
  239. register fixups are not required.
  240.  
  241. The next section defined FPE options. Currently there are two possible
  242. options, FPE and ARMFPE. These define which floating point emulator is built
  243. into the kernel. The option FPE builds in the original single precision FPE
  244. while the option ARMFPE builds in the newer ARM Ltd based FPE. It is valid
  245. to specify both these options in which case the ARM Ltd FPE is installed
  246. first and if the installation fails the kernel will fall back to the single
  247. precision FPE.
  248.  
  249. The next section are filesystem options. These select which filesystems
  250. should be build in. The FFS option is REQUIRED as this is the standard
  251. filesystem the RiscBSD uses.
  252.  
  253. The next section contains the networking options.  If you intend to use
  254. NFS then you should make use of the NFSSERVER and NFSCLIENT options.
  255. If you have multiple network interfaces in your machine then you may require
  256. packet forwarding so you should select the option GATEWAY. As standard the
  257. only other network option you are likely to need is INET.
  258. The next section contains compatibility options. Compatibility with BSD 4.3
  259. is required for X and various other binaries. In practice it is probably a
  260. good idea to keep all the compatibility options in the GENERIC config.
  261.  
  262. Next are the shared memory options. Currently this has not been
  263. tested/debugged and should not be used.
  264.  
  265. The next section contains device options. Currently there are two options
  266. for the ramdisk device. You only need these options if you are configuring
  267. a ramdisk. If you do configure a ramdisk you require the RAMDISK_HOOKS
  268. options if you want to be able to setup the ramdisk at boot time. The
  269. RAMDISK_SIZE option allows a fixed size ramdisk to be configured. The best
  270. thing is to configure a zero size ramdisk. Then you can override the size
  271. using the boot config option.
  272. The option PLIP should be used here if you want plip support to be added
  273. to the lpt driver.
  274.  
  275. The final section of options are the development options. These are as
  276. follows :
  277.  
  278. DIAGNOSTIC - compile in extra consistency checks. Adds a slight code
  279. overhead quite a few kernel functions and is many for check for possible
  280. kernel problems while developing e.g. null process pointers etc. For
  281. the moment it is recomended that you keep this option enabled. There may be
  282. some compilation problems if DIAGNOSTIC is turned off.
  283.  
  284. KTRACE - compile in system call tracing. Read the man pages for ktrace and
  285. kdump for more information of system call tracing.
  286.  
  287. IRQSTATS - compile in irq statistic gathering.
  288.  
  289. POSTMORTEM - compile in the postmortem code. This gets call on a panic and
  290. dumps information useful to me (mark) when debugging.
  291.  
  292. ROTTEN_INNARDS - shows the guts of the postmortem. This is not really any
  293. use to anybody else as nobody else knows what the information means.
  294.  
  295. KSHELL - compiles in the kernel shell. This is the shell that gets enter
  296. when the kernel panics. It provides some debugging information but most of
  297. if functions are now redundant. This is likely to be replaced sometime with
  298. the standard NetBSD kernel debugger.
  299.  
  300. LKM - compile in the loadable kernel module support code. The kernel support
  301. for LKM's is completed but LKM's cannot currently be build until the linker
  302. is upgraded.
  303.  
  304. DEBUGTERM - adds console debugging code. Only of use to Nut, do not use.
  305.  
  306. KGDB - adds remote kernel debugging code. This option is not fully supported
  307. yet.
  308.  
  309. DDB - adds in kernel debugger. This option is not fully supported yet.
  310.  
  311.  
  312. Next comes the specification for the kernel object and the root and swap
  313. devices. This should be left as
  314.  
  315. config        netbsd    swap generic
  316. options        GENERIC
  317.  
  318. The root and swap devices will then be taken from the bootloader
  319.  
  320. Now we reach the device configuration section. This section lists all the
  321. devices that should be built into the kernel. On boot the kernel will probe
  322. these devices and configure any that are found.
  323.  
  324. The mainbus device must always be configured. This is the device to which
  325. all the main devices are attached e.g. wd, fd, lpt and com.
  326.  
  327. The cpu device is used to configure the CPU's. You must configure cpu0 at
  328. mainbus for the boot processor. Additional cpus can be configured on the
  329. multiprocessor card bus.
  330.  
  331. The vidcvideo device is not a required device yet for basic operation. In
  332. the future this is likely to become a required device for vidc support.
  333. If you wish to use X then this device is required.
  334.  
  335. The vt device is the virtual console device. You need to configure 1 virtual
  336. terminal device for each virtual console you want.
  337.  
  338. The wdc device is the IDE controller. If you are configuring any IDE driver
  339. then you need to configure this.
  340. The wd driver needs to be configured if you want to use the internal IDE
  341. drive. If you only have a one IDE driver then you only need to configure
  342. wd0. If you have two driver then you should configure wd1 as well.
  343.  
  344. The fdc device is the floppy controller device. This needs to be configured
  345. if you are going to configure any floppy devices.
  346. The fd driver should be configured for the number of floppy driver you have.
  347. Typically this will just be one. 
  348.  
  349. The rd device is the ramdisc device. This should be configured if you want
  350. to use a ramdisc. There are two ways of setting the ramdisc size. You can
  351. specify a size with the RAMDISC_SIZE option which will always allocate a
  352. fixed amount of memory to the ramdisc or you can configure the device with
  353. RAMDISC_SIZE=0 and specify the ramdisc size from the boot config.
  354.  
  355. The kbd device is required if you want to be able to use the keyboard. You
  356. may find that you cannot build a kernel without the kbd driver.
  357.  
  358. The quadmouse device is required if you want to use X.
  359.  
  360. The com device is the required if you want to use the serial port. A second
  361. com device can be configure for the second serial port in the IO chip but
  362. this is not recommended as the kernel will fail a multiuser startup. If you
  363. want to use the second serial port you need to make the second serial
  364. interrupt available other wise processes that try and access the device will
  365. hang e.g. ttyflags during the multiuser startup.
  366.  
  367. The lpt device drives the standard printer port. There are two modes of
  368. operation; polled and interrupt driven. If you specify an irq number for the
  369. printer device then interrupt support will be enable when the device is
  370. configured. If you have an interrupt driver lpt device you can still select
  371. polling operation when you open the lpt device by using /dev/lpa rather than
  372. /dev/lpt
  373.  
  374. The beep device can be configured on machine that do not have 16 bit sound.
  375. Currently the 16 bit sound driver is under development and the beep device
  376. does not produce a proper beep on machines that do have the 16 bit sound
  377. card.
  378.  
  379. Now we reach the podulebus device. This is the attach point for all the
  380. devices that are connected to the podule bus. The podulebus device will
  381. rpobe the podulebus and reports all the located podules. It then proceeds to
  382. configure any found podules. If you are likely to fit any podules to your
  383. machine then you should configure this device.
  384.  
  385. Next come the devices for various SCSI cards.
  386. The asc device (Acorn SCSI I card) can be configured if you have one of
  387. these podules.
  388.  
  389. The csc device (Cumana SCSI II) cannot be configured yet as the source for
  390. this is under NDA. If you wish to use this driver then you must install
  391. e csc-patch.tar.gz file and patch arm32/conf/files.arm32 This patch allows
  392. the csc driver to be build from object code rather than source code.
  393.  
  394. The ptsc device (Powertec SCSI II) can be configured if you have one of
  395. these podules.
  396.  
  397. The oak device (Oak SCSI I) can be configured if you have one of these
  398. podules.
  399.  
  400. Next you should configure any of the SCSI devices you want i.e. sd, st, cd,
  401. ch, uk and ss.
  402.  
  403. Then come the ethernet drivers. Although the network slot driver physically
  404. do not attach to the podule bus they are functionally very similar and are
  405. handled by the podulebus.
  406.  
  407. The ea device supports the ether3 and ether5 podules
  408. The eb device supports the etherB network slot cards (AEH71)
  409. The eh device supports the etherH icubed network slot card (AEH72)
  410. The ie device supports the ether1 podule
  411.  
  412. Lastly are the pseudo devices. These are devices that do not drive specific
  413. hardware.
  414. If you are using networking then you need the lookback device (This includes
  415. using X).
  416. The bpfilter device is a packet filter that is attached to the network
  417. devices. It allows the input and output packets to be examined with tcpdump
  418. etc.
  419. The sl device configures the slip device. This is require if you want to use
  420. SLIP via a com device.
  421. The ppp device configures the ppp device.
  422. The tun device configures the kernel to support network tunneling.
  423. The pty device configures pseudo terminals. These are required for
  424. networking and X.
  425. The vnd device configures the vnode device driver. This allows files to be
  426. attached to a device for paging etc.
  427. The ccd device configures the concatenated disc driver. If you want to know
  428. what this is check the man page on ccdconfig. If you need this option then
  429. you should know what it is.
  430. The rd device is the ramdisc device. This should be configured if you want
  431. to use a ramdisc. There are two ways of setting the ramdisc size. You can
  432. specify a size with the RAMDISC_SIZE option which will always allocate a
  433. fixed amount of memory to the ramdisc or you can configure the device with
  434. RAMDISC_SIZE=0 and specify the ramdisc size from the boot config.
  435.  
  436. After the devices the only remaining configuration stuff is the monitor and
  437. modes. These are passed as make options. You should set the makeoption
  438. MONITOR to the name of you monitor definition file in the monitors
  439. subdirectory.
  440. The MODES makeoption should be a list of the resolutions you want to build
  441. in the kernel in the form x,y,f When you boot your kernel the mode closed to
  442. that specified in the boot config is used.
  443.  
  444. Configuring your kernel
  445. -----------------------
  446.  
  447. Ok now save the file.
  448.  
  449. While still in the arm32/conf directory at the prompt type
  450.  
  451. config <name of your machine in captials>
  452.  
  453. This will analyse your configuration file and will create the directory
  454. ../compile/<name of your machine in captials>
  455.  
  456. It will create a makefile and all the necessary header files in that
  457. directory. On completion, config will print a reminder to do a make depend
  458. before building the kernel.
  459.  
  460. Now cd to the compile directory for your configuration e.g. if you did
  461. config GENERIC
  462.  
  463. cd ../compile/GENERIC
  464.  
  465. type
  466. make depend
  467.  
  468. This will proceed to build all the dependancies for the kernel source files.
  469. Once the make depend has completed at the prompt, type
  470.  
  471. make
  472.  
  473. Now twiddle your fingers an hour or two while the kernel builds.
  474.  
  475. When the build completes you should then find a file called netbsd in the
  476. directory. This is your custom configured kernel. At the prompt type
  477.  
  478. mv /netbsd /netbsd.old
  479. mv netbsd /netbsd
  480.  
  481. Now you are ready to reboot. If you are not doing native boots then you
  482. will need to copy the kernel over the RISC OS.
  483.  
  484. You should now be able to boot you new kernel. The version line when the
  485. kernel boots will report the kernel configuration and the kernel revision
  486. along with the build date and the builder.
  487.  
  488.  
  489. ------------------------------------------------------------------------------
  490.  
  491. Appendix A - Example GENERIC configuration file
  492.  
  493. This is a copy of the GENERIC configuration file. It if provided here purely
  494. for reference in case you print this file out.
  495.  
  496. #
  497. #    GENERIC -- everything that's currently supported
  498. #
  499.  
  500. include    "std.arm32"
  501.  
  502. # estimated number of users
  503.  
  504. maxusers    32
  505.  
  506. # Standard system options
  507.  
  508. options        TIMEZONE=0    # time zone to adjust RTC time by
  509. options        DST=0        # daylight savings time used by RTC
  510. options        SWAPPAGER    # paging; REQUIRED
  511. options        VNODEPAGER    # mmap() of files
  512. options        DEVPAGER    # mmap() of devices
  513.  
  514. # CPU options
  515.  
  516. options        CPU_ARM6
  517. options        CPU_LATE_ABORT    # ARM7XX compatibility
  518.  
  519. # FPA options
  520.  
  521. options        FPE
  522. options        ARMFPE
  523.  
  524. # File system options
  525.  
  526. options        FFS        # UFS
  527. options        QUOTA        # UFS quotas
  528. options        LFS        # log-structured file system
  529. options        MFS        # memory file system
  530.  
  531. options        CD9660        # ISO 9660 + Rock Ridge file system
  532. options        MSDOSFS        # MS-DOS file system
  533. options        FDESC        # /dev/fd
  534. options        FIFO        # FIFOs; RECOMMENDED
  535. options        KERNFS        # /kern
  536. options        NULLFS        # loopback file system
  537. options        PORTAL        # ?
  538. options        PROCFS        # /proc
  539. options        UMAPFS        # NULLFS + uid and gid remapping
  540. options        UNION        # union file system
  541.  
  542. # Networking options
  543.  
  544. options        NFSCLIENT
  545. options        NFSSERVER
  546. options        GATEWAY        # packet forwarding
  547. options        INET        # IP + ICMP + TCP + UDP
  548. options        NS        # XNS
  549. options        ISO,TPIP    # OSI
  550. options        EON        # OSI tunneling over IP
  551. options        CCITT,LLC,HDLC    # X.25
  552.  
  553. # Compatibility options
  554.  
  555. options        COMPAT_43
  556. options        COMPAT_10
  557. options        COMPAT_09
  558. options         TCP_COMPAT_42   # TCP bug compatibility with 4.2BSD
  559.  
  560. # Shared memory options
  561.  
  562. #options    SYSVMSG        # System V-like message queues
  563. #options    SYSVSEM        # System V-like semaphores
  564. #options    SYSVSHM        # System V-like memory sharing
  565. #options    SHMMAXPGS=1024    # 1024 pages is the default
  566.  
  567. # Device options
  568.  
  569. options        RAMDISK_HOOKS    
  570. options        RAMDISK_SIZE=0    # Size in KBytes
  571. options        PLIP
  572.  
  573. # Development options
  574.  
  575. options        DIAGNOSTIC    # internally consistency checks
  576. options        KTRACE        # system call tracing, a la ktrace(1)
  577. options        IRQSTATS    # IRQ statistics
  578. options        POSTMORTEM    # perform postmortem on panic
  579. #options        ROTTEN_INNARDS    # show the gory bit of the postmortem
  580. options        KSHELL        # kernel developemnt shell (debug)
  581. options        LKM        # loadable kernel modules
  582. #options    DEBUGTERM    # create a debug console
  583. #options    KGDB        # remote kernel debugging
  584. options        DDB        # in-kernel debugger
  585. #makeoptions    DEBUG="-g"    # compile full symbol table
  586.  
  587. config        netbsd    swap generic
  588. options        GENERIC
  589.  
  590. # The main bus device
  591. mainbus0 at root
  592.  
  593. # The boot cpu
  594. cpu0 at mainbus?
  595.  
  596. # The hydra multiprocessor device
  597. #hydra0 at mainbus?
  598.  
  599. # The vidc
  600. vidcvideo0    at mainbus?
  601.  
  602. # generic VT console device
  603. vt0     at mainbus?
  604. vt1     at mainbus?
  605. vt2     at mainbus?
  606. vt3     at mainbus?
  607. vt4     at mainbus?
  608. vt5     at mainbus?
  609.  
  610.  
  611.  
  612. # IDE disk controller
  613. wdc0    at mainbus? base 0x002107c0 irq 9
  614. wd0     at wdc? drive ?
  615. wd1     at wdc? drive ?
  616.  
  617. # Floppy disk controller
  618. fdc0    at mainbus? base 0x00210fc0 irq 12 dack 0x00002000
  619. fd0     at fdc? drive ?
  620.  
  621. # kbd via IOMD
  622. kbd0    at mainbus? base 0x00000000
  623.  
  624. # quadrature mouse
  625. quadmouse0    at mainbus? base 0x00000000
  626.  
  627. # PS2 mouse
  628. pms0    at mainbus? base 0x00000000
  629.  
  630. # Serial ports
  631. com0    at mainbus? base 0x00210fe0 irq 10
  632. #com1    at mainbus? base 0x00210be0
  633.  
  634. # Parallel ports
  635. lpt0    at mainbus? base 0x002109e0 irq 0
  636.  
  637. # Crude sound device
  638. beep0    at mainbus? base 0x00000000
  639.  
  640. # Podule bus device
  641. podulebus0    at root
  642.  
  643. asc0    at podulebus?            # Acorn SCSI card
  644. scsibus* at asc?
  645.  
  646. #csc0    at podulebus?            # Cumana SCSI II card
  647. #scsibus* at csc?
  648.  
  649. ptsc0    at podulebus?            # Power-Tec SCSI II card
  650. scsibus* at ptsc?
  651.  
  652. oak0    at podulebus?            # Oak SCSI I card
  653. scsibus* at oak?
  654.  
  655. sd*    at scsibus? target ? lun ?    # SCSI disk drives
  656. st*    at scsibus? target ? lun ?    # SCSI tape drives
  657. cd*    at scsibus? target ? lun ?    # SCSI CD-ROM drives
  658. ch*    at scsibus? target ? lun ?    # SCSI auto-changers
  659. uk*    at scsibus? target ? lun ?    # SCSI unknown device
  660. ss*    at scsibus? target ? lun ?    # SCSI scanner
  661.  
  662. #kie*    at podulebus? slot ? offset ?
  663.  
  664. ea0    at podulebus?            # Ether3 podules
  665. eb0    at podulebus?            # EtherB network slot cards
  666. eh0    at podulebus?            # EtherH network slot cards
  667. ie0    at podulebus?            # Ether1 podules
  668.  
  669. pseudo-device    loop    1               # network loopback
  670. pseudo-device   bpfilter 8              # packet filter
  671. pseudo-device    sl    2               # CSLIP
  672. pseudo-device    ppp    2        # PPP
  673. pseudo-device    tun    2        # network tunneling over tty
  674.  
  675. pseudo-device   pty     32              # pseudo-terminals
  676. pseudo-device    tb    1        # tablet line discipline
  677. pseudo-device   vnd     4               # paging to files
  678. pseudo-device    ccd    2        # concatenated disk devices
  679.  
  680. pseudo-device    rd    1        # Ramdisk driver
  681.  
  682. makeoptions MONITOR="Taxan875+LR"
  683. makeoptions MODES="1024,768,60 1024,768,70 800,600,60 640,480,60 1280,1024 1152,900"
  684.  
  685. ------------------------------------------------------------------------------
  686.  
  687. $Log: config_guide.txt,v $
  688. Revision 1.5  1996/04/03 02:29:55  mark
  689. Config file example updated to reflect latest changes to the GENERIC config
  690. file. The ramdisc is now a psuedo device. More interrupts are now specified
  691. in the config file.
  692.  
  693. Revision 1.4  1996/03/09 08:22:32  mark
  694. Updated to reflect changes in NetBSD-current.
  695. Updated information on asc device
  696. Added recommendation of cc272 set for new kernel builds.
  697.  
  698. revision 1.3  1996/02/24 02:48:06  mark
  699. Added information on the sys-arm32.tar.gz file on the ftp site.
  700.  
  701. revision 1.2  1996/02/08 22:16:27  mark
  702. Miscellaneous updates and corrections.
  703.  
  704. revision 1.1  1996/02/02 05:23:03  mark
  705. Initial commit of the kernel configuration guide
  706.