View | Details | Raw Unified | Return to bug 70674 | Differences between
and this patch

Collapse All | Expand All

(-)new.chapter.sgml (-241 / +266 lines)
Lines 153-160 Link Here
153
      potentially be ported.  Notice the logical organization of the
153
      potentially be ported.  Notice the logical organization of the
154
      directory structure, with each supported device, file system, and
154
      directory structure, with each supported device, file system, and
155
      option in its own subdirectory.  &os; 5.X and up has support for
155
      option in its own subdirectory.  &os; 5.X and up has support for
156
      <filename>sparc64</filename>, and a few other architectures under
156
      <filename>sparc64</filename>, <filename>amd64</filename>,
157
      development.</para>
157
      <filename>ia64</filename> and <filename>powerpc</filename>.</para>
158
158
159
    <note>
159
    <note>
160
      <para>If there is <emphasis>not</emphasis> a
160
      <para>If there is <emphasis>not</emphasis> a
Lines 426-444 Link Here
426
      some related keywords have been grouped together in a single section
426
      some related keywords have been grouped together in a single section
427
      (such as Networking) even though they are actually scattered
427
      (such as Networking) even though they are actually scattered
428
      throughout the <filename>GENERIC</filename> file.  <anchor
428
      throughout the <filename>GENERIC</filename> file.  <anchor
429
      id="kernelconfig-options"> An exhaustive list of options and more
429
      id="kernelconfig-options"> For an exhaustive list of architecture
430
      detailed explanations of the device lines is present in the
430
      dependent options and devices, see the <filename>NOTES</filename>
431
      <filename>LINT</filename> configuration file, located in the same
431
      file in the same directory as <filename>GENERIC</filename>. For
432
      directory as <filename>GENERIC</filename>.  If you are in doubt as
432
      architecure independent options, see
433
      to the purpose or necessity of a line, check first in
433
      <filename>/usr/src/sys/conf/NOTES</filename>.</para>
434
      <filename>LINT</filename>.</para>
434
435
435
    <note>
436
    <note><para>In &os; 5.X and above the <filename>LINT</filename> is
436
      <para><filename>NOTES</filename> does not exist in &os;&nbsp;4.X.
437
      non-existent.  See the <filename>NOTES</filename> file for
437
        Instead, see the <filename>LINT</filename> file for detailed
438
      architecture dependent options.  Some options, mainly
438
        explanations of options and devices in <filename>GENERIC</filename>.
439
      architecture independent ones, are stored in the
439
        <filename>LINT</filename> served two purposes in 4.X: to provide a
440
      <filename>/usr/src/sys/conf/NOTES</filename> file.  It is
440
        reference for choosing kernel options when building a custom
441
      advisable to review the options in here also.</para></note>
441
        kernel, and to provide a kernel configuration with as many
442
        tweakable options tweaked to non-default values as possible. The
443
        reason behind this was that such a configuration helped (and still
444
        does) a lot when testing new code and changes to existing code that
445
        may cause conflicts with other parts of the kernel. However, when
446
        the kernel configuration framework went through some heavy changes
447
        in 5.X, including that the driver configuration options were moved
448
        to a <literal>hints</literal> file so that they could be changed
449
        and loaded dynamically at boot time, <filename>LINT</filename>
450
        could not contain those hints anymore. Because of this and other
451
        reasons, the <filename>LINT</filename> file were renamed to
452
        <filename>NOTES</filename> and retained mostly the first reason for
453
        its existence: documenting the available options for user
454
        convenience.</para>
455
456
    <para>In 5.X and newer you can still generate a buildable
457
      <filename>LINT</filename> file by typing:</para>
458
459
    <screen>&prompt.root; <userinput>cd /sys/i386/conf && make LINT</userinput>
460
    </screen>
461
    </note>
442
462
443
    <indexterm>
463
    <indexterm>
444
      <primary>kernel</primary>
464
      <primary>kernel</primary>
Lines 449-456 Link Here
449
      configuration file with various additional comments where needed for
469
      configuration file with various additional comments where needed for
450
      clarity.  This example should match your copy in
470
      clarity.  This example should match your copy in
451
      <filename>/usr/src/sys/i386/conf/GENERIC</filename> fairly
471
      <filename>/usr/src/sys/i386/conf/GENERIC</filename> fairly
452
      closely.  For details of all the possible kernel options, see
472
      closely.</para>
453
      <filename>/usr/src/sys/i386/conf/LINT</filename>.</para>
454
473
455
    <programlisting>#
474
    <programlisting>#
456
# GENERIC -- Generic kernel configuration file for &os;/i386
475
# GENERIC -- Generic kernel configuration file for &os;/i386
Lines 470-476 Link Here
470
# If you are in doubt as to the purpose or necessity of a line, check first 
489
# If you are in doubt as to the purpose or necessity of a line, check first 
471
# in NOTES.
490
# in NOTES.
472
#
491
#
473
# &dollar;FreeBSD: src/sys/i386/conf/GENERIC,v 1.380 2003/03/29 13:36:41 mdodd Exp $</programlisting>
492
# &dollar;FreeBSD: /repoman/r/ncvs/src/sys/i386/conf/GENERIC,v 1.413 2004/08/11 01:34:18 rwatson Exp &dollar;</programlisting>
474
493
475
    <para>The following are the mandatory keywords required in
494
    <para>The following are the mandatory keywords required in
476
      <emphasis>every</emphasis> kernel you build:</para>
495
      <emphasis>every</emphasis> kernel you build:</para>
Lines 526-532 Link Here
526
      </listitem>
545
      </listitem>
527
546
528
      <listitem>
547
      <listitem>
529
        <para>Roll your own release of FreeBSD which includes
548
        <para>Roll your own release of &os; which includes
530
          <literal>I386_CPU</literal> support in the kernels of the
549
          <literal>I386_CPU</literal> support in the kernels of the
531
          installation CD-ROM.</para>
550
          installation CD-ROM.</para>
532
      </listitem>
551
      </listitem>
Lines 568-574 Link Here
568
	<para>The auto-tuning algorithm sets <literal>maxuser</literal> equal
587
	<para>The auto-tuning algorithm sets <literal>maxuser</literal> equal
569
	  to the amount of memory in the system, with a minimum of 32, and a
588
	  to the amount of memory in the system, with a minimum of 32, and a
570
	  maximum of 384.</para></footnote>.
589
	  maximum of 384.</para></footnote>.
571
      In &os;&nbsp;5.X, <literal>maxusers</literal> will default to
590
      In &os;&nbsp;5.X and above, <literal>maxusers</literal> will default to
572
      <literal>0</literal> if not specified.  If you are using an
591
      <literal>0</literal> if not specified.  If you are using an
573
      version of &os; earlier than 4.5, or you want to manage it
592
      version of &os; earlier than 4.5, or you want to manage it
574
      yourself you will want to set
593
      yourself you will want to set
Lines 606-619 Link Here
606
    </note>
625
    </note>
607
    
626
    
608
    <programlisting># Floating point support - do not disable.
627
    <programlisting># Floating point support - do not disable.
609
device          npx0     at nexus? port IO_NPX irq 13</programlisting>
628
device          npx0</programlisting>
610
    
629
    
611
    <para><literal>npx0</literal> is the interface to the floating point
630
    <para><literal>npx0</literal> is the interface to the floating point
612
      math unit in &os;, which is either the hardware co-processor or
631
      math unit in &os;, which is either the hardware co-processor or
613
      the software math emulator.  This is <emphasis>not</emphasis>
632
      the software math emulator.  This is <emphasis>not</emphasis>
614
      optional.</para>
633
      optional.</para>
615
634
616
    <programlisting># Pseudo devices - the number indicates how many units to allocate.
635
    <programlisting># Pseudo devices
617
device   loop          # Network loopback</programlisting>
636
device   loop          # Network loopback</programlisting>
618
637
619
    <para>This is the generic loopback device for TCP/IP.  If you telnet
638
    <para>This is the generic loopback device for TCP/IP.  If you telnet
Lines 627-633 Link Here
627
      underneath or next to each option for more information.</para>
646
      underneath or next to each option for more information.</para>
628
647
629
    <programlisting>#To statically compile in device wiring instead of /boot/device.hints
648
    <programlisting>#To statically compile in device wiring instead of /boot/device.hints
630
#hints          "GENERIC.hints"         #Default places to look for devices.</programlisting>
649
#hints          "GENERIC.hints"         # Default places to look for devices.</programlisting>
631
650
632
    <para>In &os; 5.X and newer versions the &man.device.hints.5; is
651
    <para>In &os; 5.X and newer versions the &man.device.hints.5; is
633
      used to configure options of the device drivers.  The default
652
      used to configure options of the device drivers.  The default
Lines 640-646 Link Here
640
659
641
    <!-- XXX: Add a comment here that explains when compiling hints into the kernel is a good idea and why. -->
660
    <!-- XXX: Add a comment here that explains when compiling hints into the kernel is a good idea and why. -->
642
661
643
    <programlisting>#makeoptions     DEBUG=-g          #Build kernel with gdb(1) debug symbols</programlisting>
662
    <programlisting>#makeoptions     DEBUG=-g          # Build kernel with gdb(1) debug symbols</programlisting>
644
663
645
    <para>The normal build process of the &os; does not include
664
    <para>The normal build process of the &os; does not include
646
      debugging information when building the kernel and strips most
665
      debugging information when building the kernel and strips most
Lines 654-701 Link Here
654
      you are using the <quote>traditional</quote> way for building your kernels (See the <xref linkend="kernelconfig-building">
673
      you are using the <quote>traditional</quote> way for building your kernels (See the <xref linkend="kernelconfig-building">
655
      for more informations.).</para>
674
      for more informations.).</para>
656
675
657
    <programlisting>options          MATH_EMULATE      #Support for x87 emulation</programlisting>
676
    <programlisting>options          SCHED_ULE         # ULE scheduler</programlisting>
658
659
    <para>This line allows the kernel to simulate a math co-processor if
660
      your computer does not have one (386 or 486SX).  If you have a
661
      486DX, or a 386 or 486SX (with a separate 387 or 487 chip), or
662
      higher (&pentium;, &pentium;&nbsp;II, etc.), you can comment this line
663
      out.</para>
664
677
665
    <note>
678
    <para>The new scheduler for &os; that has been designed for SMP, but
666
      <para>The normal math co-processor emulation routines that come with
679
      works just fine on UP systems too. As of &os;&nbsp;5.2.1,
667
	&os; are <emphasis>not</emphasis> very accurate.  If you do not
680
      <literal>SCHED_ULE</literal> has replaced
668
	have a math co-processor, and you need the best accuracy, it is
681
      <literal>SCHED_4BSD</literal>.</para>
669
	recommended that you change this option to
670
	<literal>GPL_MATH_EMULATE</literal> to use the GNU math support,
671
	which is not included by default for licensing reasons.</para>
672
673
      <para>In &os; 5.X, math emulation is disabled by default,
674
      as older CPUs that do not have native floating point math support
675
      are far less common, and in many cases not supported by the
676
      <filename>GENERIC</filename> kernel without other additional options.</para></note>
677
682
678
    <programlisting>options          INET          #InterNETworking</programlisting>
683
    <programlisting>options          INET              # InterNETworking</programlisting>
679
684
680
    <para>Networking support.  Leave this in, even if you do not plan to
685
    <para>Networking support.  Leave this in, even if you do not plan to
681
      be connected to a network.  Most programs require at least loopback
686
      be connected to a network.  Most programs require at least loopback
682
      networking (i.e., making network connections within your PC), so
687
      networking (i.e., making network connections within your PC), so
683
      this is essentially mandatory.</para>
688
      this is essentially mandatory.</para>
684
689
685
    <programlisting>options          INET6          #IPv6 communications protocols</programlisting>
690
    <programlisting>options          INET6             # IPv6 communications protocols</programlisting>
686
691
687
    <para>This enables the IPv6 communication protocols.</para>
692
    <para>This enables the IPv6 communication protocols.</para>
688
693
689
    <programlisting>options          FFS          #Berkeley Fast Filesystem
694
    <programlisting>options          FFS               # Berkeley Fast Filesystem</programlisting>
690
options          FFS_ROOT     #FFS usable as root device [keep this!]</programlisting>
691
695
692
    <para>This is the basic hard drive Filesystem.  Leave it in if you
696
    <para>This is the basic hard drive Filesystem.  Leave it in if you
693
      boot from the hard disk.</para>
697
      boot from the hard disk.</para>
694
698
695
    <note><para>In &os; 5.X, <literal>FFS_ROOT</literal> is no longer
699
    <programlisting>options          UFS_ACL           # Support for access control lists</programlisting>
696
      required.</para></note>
697
698
    <programlisting>options          UFS_ACL      #Support for access control lists</programlisting>
699
700
700
    <para>This option, present only in &os;&nbsp;5.X, enables kernel support
701
    <para>This option, present only in &os;&nbsp;5.X, enables kernel support
701
      for access control lists.  This relies on the use of extended
702
      for access control lists.  This relies on the use of extended
Lines 705-711 Link Here
705
      system, as this will remove the access control lists changing the
706
      system, as this will remove the access control lists changing the
706
      way files are protected in unpredictable ways.</para>
707
      way files are protected in unpredictable ways.</para>
707
708
708
    <programlisting>options          UFS_DIRHASH  #Improve performance on big directories</programlisting>
709
    <programlisting>options          UFS_DIRHASH       # Improve performance on big directories</programlisting>
709
710
710
    <para>This option includes functionality to speed up disk
711
    <para>This option includes functionality to speed up disk
711
      operations on large directories, at the expense of using
712
      operations on large directories, at the expense of using
Lines 714-720 Link Here
714
      using &os; on a smaller system where memory is at a premium and
715
      using &os; on a smaller system where memory is at a premium and
715
      disk access speed is less important, such as a firewall.</para>
716
      disk access speed is less important, such as a firewall.</para>
716
717
717
    <programlisting>options          SOFTUPDATES  #Enable FFS Soft Updates support</programlisting>
718
    <programlisting>options          SOFTUPDATES       # Enable FFS Soft Updates support</programlisting>
718
719
719
    <para>This option enables Soft Updates in the kernel, this will
720
    <para>This option enables Soft Updates in the kernel, this will
720
      help speed up write access on the disks.  Even when this
721
      help speed up write access on the disks.  Even when this
Lines 726-754 Link Here
726
      filesystems) or &man.newfs.8; (for new filesystems)
727
      filesystems) or &man.newfs.8; (for new filesystems)
727
      commands.</para>
728
      commands.</para>
728
729
729
    <programlisting>options          MFS          #Memory Filesystem
730
    <programlisting>options          MD_ROOT           # MD is a potential root device</programlisting>
730
options          MD_ROOT      #MD is a potential root device</programlisting>
731
731
732
    <para>This is the memory-mapped Filesystem.  This is basically a RAM
732
    <para>This option enables support for a memory backed virtual disk
733
      disk for fast storage of temporary files, useful if you have a lot
733
      usable as a root device.</para>
734
      of swap space that you want to take advantage of.  A perfect place
735
      to mount an MFS partition is on the <filename>/tmp</filename>
736
      directory, since many programs store temporary data here.  To mount
737
      an MFS RAM disk on <filename>/tmp</filename>, add the following line
738
      to <filename>/etc/fstab</filename>:</para>
739
740
    <informalexample>
741
      <programlisting>/dev/ad1s2b	/tmp mfs rw 0 0</programlisting>
742
    </informalexample>
743
744
    <para>Now you simply need to either reboot, or run the command
745
      <command>mount /tmp</command>.</para>
746
747
    <note><para>In &os; 5.X, &man.md.4;-backed UFS file systems are
748
      used for memory file systems rather than MFS.  Information on
749
      configuring memory-backed file systems may be found in the manual pages
750
      for &man.mdconfig.8; and &man.mdmfs.8;, and in <xref linkend="disks-virtual">.  As a result, the
751
      <literal>MFS</literal> option is no longer supported.</para></note>
752
734
753
    <indexterm>
735
    <indexterm>
754
      <primary>kernel options</primary>
736
      <primary>kernel options</primary>
Lines 758-765 Link Here
758
      <primary>kernel options</primary>
740
      <primary>kernel options</primary>
759
      <secondary>NFS_ROOT</secondary>
741
      <secondary>NFS_ROOT</secondary>
760
    </indexterm>
742
    </indexterm>
761
    <programlisting>options          NFS          #Network Filesystem
743
    <programlisting>options          NFSCLIENT         # Network Filesystem Client
762
options          NFS_ROOT     #NFS usable as root device, NFS required</programlisting>
744
options          NFSSERVER         # Network Filesystem Server
745
options          NFS_ROOT          # NFS usable as /, requires NFSCLIENT</programlisting>
763
746
764
    <para>The network Filesystem.  Unless you plan to mount partitions
747
    <para>The network Filesystem.  Unless you plan to mount partitions
765
      from a &unix; file server over TCP/IP, you can comment these
748
      from a &unix; file server over TCP/IP, you can comment these
Lines 769-775 Link Here
769
      <primary>kernel options</primary>
752
      <primary>kernel options</primary>
770
      <secondary>MSDOSFS</secondary>
753
      <secondary>MSDOSFS</secondary>
771
    </indexterm>
754
    </indexterm>
772
    <programlisting>options          MSDOSFS      #MSDOS Filesystem</programlisting>
755
    <programlisting>options          MSDOSFS           # MSDOS Filesystem</programlisting>
773
756
774
    <para>The &ms-dos; Filesystem.  Unless you plan to mount a DOS formatted
757
    <para>The &ms-dos; Filesystem.  Unless you plan to mount a DOS formatted
775
      hard drive partition at boot time, you can safely comment this out.
758
      hard drive partition at boot time, you can safely comment this out.
Lines 780-817 Link Here
780
      unmount them (and does not require <literal>MSDOSFS</literal> at
763
      unmount them (and does not require <literal>MSDOSFS</literal> at
781
      all).</para>
764
      all).</para>
782
765
783
    <programlisting>options          CD9660       #ISO 9660 Filesystem
766
    <programlisting>options          CD9660            # ISO 9660 Filesystem</programlisting>
784
options          CD9660_ROOT  #CD-ROM usable as root, CD9660 required</programlisting>
785
767
786
    <para>The ISO 9660 Filesystem for CDROMs.  Comment it out if you do
768
    <para>The ISO 9660 Filesystem for CDROMs.  Comment it out if you do
787
      not have a CDROM drive or only mount data CDs occasionally (since it
769
      not have a CDROM drive or only mount data CDs occasionally (since it
788
      will be dynamically loaded the first time you mount a data CD).
770
      will be dynamically loaded the first time you mount a data CD).
789
      Audio CDs do not need this Filesystem.</para>
771
      Audio CDs do not need this Filesystem.</para>
790
772
791
    <programlisting>options          PROCFS       #Process filesystem</programlisting>
773
    <programlisting>options          PROCFS            # Process filesystem</programlisting>
792
774
793
    <para>The process filesystem.  This is a <quote>pretend</quote>
775
    <para>The process filesystem.  This is a <quote>pretend</quote>
794
      filesystem mounted on <filename>/proc</filename> which allows
776
      filesystem mounted on <filename>/proc</filename> which allows
795
      programs like &man.ps.1; to give you more information on what
777
      programs like &man.ps.1; to give you more information on what
796
      processes are running.  In &os; 5.X, use of <literal>PROCFS</literal>
778
      processes are running.  In &os; 5.X and above, use of <literal>PROCFS</literal>
797
      is not required under most circumstances, as most
779
      is not required under most circumstances, as most
798
      debugging and monitoring tools have been adapted to run without
780
      debugging and monitoring tools have been adapted to run without
799
      <literal>PROCFS</literal>.  In addition, 5.X-CURRENT kernels
781
      <literal>PROCFS</literal>.  In addition, 6.X-CURRENT kernels
800
      making use of <literal>PROCFS</literal> must now also include
782
      making use of <literal>PROCFS</literal> must now also include
801
      support for <literal>PSEUDOFS</literal>:</para>
783
      support for <literal>PSEUDOFS</literal>:</para>
802
784
803
    <programlisting>options          PSEUDOFS     #Pseudo-filesystem framework</programlisting>
785
    <programlisting>options          PSEUDOFS          # Pseudo-filesystem framework</programlisting>
804
786
805
    <para><literal>PSEUDOFS</literal> is not available in &os; 4.X.
787
    <para><literal>PSEUDOFS</literal> is not available in &os; 4.X.
806
      Unlike in &os; 4.X, new installations of &os; 5.X will not mount
788
      Unlike in &os; 4.X, new installations of &os; 5.X will not mount
807
      the process file system by default.</para>
789
      the process file system by default.</para>
808
790
809
    <programlisting>options          COMPAT_43    #Compatible with BSD 4.3 [KEEP THIS!]</programlisting>
791
    <programlisting>options          GEOM_GPT          # GUID Partition Tables.</programlisting>
792
793
    <para>This option brings the ability to have a large number of
794
      partitions on a single disk.</para>
795
796
    <programlisting>options          COMPAT_43         # Compatible with BSD 4.3 [KEEP THIS!]</programlisting>
810
797
811
    <para>Compatibility with 4.3BSD.  Leave this in; some programs will
798
    <para>Compatibility with 4.3BSD.  Leave this in; some programs will
812
      act strangely if you comment this out.</para>
799
      act strangely if you comment this out.</para>
813
800
814
    <programlisting>options          COMPAT_FREEBSD4     #Compatible with &os;4</programlisting>
801
    <programlisting>options          COMPAT_FREEBSD4   # Compatible with &os;4</programlisting>
815
802
816
    <para>This option is required on &os;&nbsp;5.X &i386; and Alpha systems
803
    <para>This option is required on &os;&nbsp;5.X &i386; and Alpha systems
817
      to support applications compiled on older versions of &os;
804
      to support applications compiled on older versions of &os;
Lines 820-826 Link Here
820
      run older applications; platforms that gained support only in
807
      run older applications; platforms that gained support only in
821
      5.X, such as ia64 and &sparc64;, do not require this option.</para>
808
      5.X, such as ia64 and &sparc64;, do not require this option.</para>
822
809
823
    <programlisting>options          SCSI_DELAY=15000    #Delay (in ms) before probing SCSI</programlisting>
810
    <programlisting>options          SCSI_DELAY=15000  # Delay (in ms) before probing SCSI</programlisting>
824
811
825
    <para>This causes the kernel to pause for 15 seconds before probing
812
    <para>This causes the kernel to pause for 15 seconds before probing
826
      each SCSI device in your system.  If you only have IDE hard drives,
813
      each SCSI device in your system.  If you only have IDE hard drives,
Lines 829-867 Link Here
829
      you do this, and &os; has trouble recognizing your SCSI devices,
816
      you do this, and &os; has trouble recognizing your SCSI devices,
830
      you will have to raise it back up.</para>
817
      you will have to raise it back up.</para>
831
818
832
    <programlisting>options          UCONSOLE            #Allow users to grab the console</programlisting>
819
    <programlisting>options          KTRACE            # ktrace(1) support</programlisting>
833
834
    <para>Allow users to grab the console, which is useful for X users.
835
      For example, you can create a console <application>xterm</application>
836
      by typing <command>xterm
837
      -C</command>, which will display any &man.write.1;,
838
      &man.talk.1;, and any other messages you receive, as well
839
      as any console messages sent by the kernel.</para>
840
841
    <note><para>In &os; 5.X, <literal>UCONSOLE</literal> is no
842
      longer required.</para></note>
843
844
    <programlisting>options          USERCONFIG          #boot -c editor</programlisting>
845
846
    <para>This option allows you to boot the configuration editor from the
847
      boot menu.</para>
848
849
    <programlisting>options          VISUAL_USERCONFIG   #visual boot -c editor</programlisting>
850
851
    <para>This option allows you to boot the visual configuration editor
852
      from the boot menu.</para>
853
854
      <note><para>From &os; versions 5.0 and later, the <literal>USERCONFIG</literal> options has
855
	been deprecated in favor of the new &man.device.hints.5;
856
	method.  For more information on &man.device.hints.5; please
857
	visit <xref linkend="device-hints">.</para></note>
858
859
    <programlisting>options          KTRACE              #ktrace(1) support</programlisting>
860
820
861
    <para>This enables kernel process tracing, which is useful in
821
    <para>This enables kernel process tracing, which is useful in
862
      debugging.</para>
822
      debugging.</para>
863
823
864
    <programlisting>options          SYSVSHM             #SYSV-style shared memory</programlisting>
824
    <programlisting>options          SYSVSHM           # SYSV-style shared memory</programlisting>
865
825
866
    <para>This option provides for System V shared memory.  The most
826
    <para>This option provides for System V shared memory.  The most
867
      common use of this is the XSHM extension in X, which many
827
      common use of this is the XSHM extension in X, which many
Lines 869-880 Link Here
869
      extra speed.  If you use X, you will definitely want to include
829
      extra speed.  If you use X, you will definitely want to include
870
      this.</para>
830
      this.</para>
871
831
872
    <programlisting>options          SYSVSEM             #SYSV-style semaphores</programlisting>
832
    <programlisting>options          SYSVSEM           # SYSV-style semaphores</programlisting>
873
833
874
    <para>Support for System V semaphores.  Less commonly used but only
834
    <para>Support for System V semaphores.  Less commonly used but only
875
      adds a few hundred bytes to the kernel.</para>
835
      adds a few hundred bytes to the kernel.</para>
876
836
877
    <programlisting>options          SYSVMSG             #SYSV-style message queues</programlisting>
837
    <programlisting>options          SYSVMSG           # SYSV-style message queues</programlisting>
878
838
879
    <para>Support for System V messages.  Again, only adds a few hundred
839
    <para>Support for System V messages.  Again, only adds a few hundred
880
      bytes to the kernel.</para>
840
      bytes to the kernel.</para>
Lines 884-925 Link Here
884
	these System V facilities.</para>
844
	these System V facilities.</para>
885
    </note>
845
    </note>
886
846
887
    <programlisting>options 	P1003_1B		#Posix P1003_1B real-time extensions
847
    <programlisting>options 	     _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions</programlisting>
888
options 	_KPOSIX_PRIORITY_SCHEDULING</programlisting>
889
848
890
    <para>Real-time extensions added in the 1993 &posix;.  Certain
849
    <para>Real-time extensions added in the 1993 &posix;.  Certain
891
      applications in the ports collection use these
850
      applications in the ports collection use these
892
      (such as <application>&staroffice;</application>).</para>
851
      (such as <application>&staroffice;</application>).</para>
893
852
894
    <note><para>In &os; 5.X, all of this functionality is now
853
    <programlisting>options          KBD_INSTALL_CDEV  # install a CDEV entry in /dev</programlisting>
895
      provided by the <literal>_KPOSIX_PRIORITY_SCHEDULING</literal>
896
      option, and <literal>P1003_1B</literal> is no longer
897
      required.</para></note>
898
854
899
    <indexterm>
855
    <para>This option is related to the keyboard. It installs a CDEV entry
900
      <primary>kernel options</primary>
856
      in <filename>/dev</filename>.</para>
901
      <secondary>ICMP_BANDLIM</secondary>
857
902
    </indexterm>
858
    <programlisting>options          AHC_REG_PRETTY_PRINT     # Print register bitfields in debug
903
    <indexterm>
859
                                          # output.  Adds ~128k to driver.
904
      <primary>Denial of Service (DoS)</primary>
860
options          AHD_REG_PRETTY_PRINT     # Print register bitfields in debug
905
    </indexterm>
861
                                          # output.  Adds ~215k to driver.</programlisting>
906
    <programlisting>options		ICMP_BANDLIM		#Rate limit bad replies</programlisting>
862
863
    <para>This helps debugging by printing easier register definitions for
864
      reading.</para>
865
866
    <programlisting>options          PFIL_HOOKS        # pfil(9) framework</programlisting>
867
868
    <para>The &man.pfil.9 framework is required by the IPFILTER and IPFIREWALL
869
      options. Keep this if you plan to build a firewall.</para>
870
871
    <programlisting>options          ADAPTIVE_GIANT    # Giant mutex is adaptive.</programlisting>
907
872
908
    <para>This option enables ICMP error response bandwidth limiting.  You
873
    <para>This option causes Giant to be included in the set of mutexes
909
      typically want this option as it will help protect the machine from
874
      adaptively spun on.</para>
910
      denial of service packet attacks.</para>
911
912
    <note><para>In &os; 5.X, this feature is enabled by default and
913
      the <literal>ICMP_BANDLIM</literal> option is not required.
914
      </para></note>
915
875
916
    <indexterm>
876
    <indexterm>
917
      <primary>kernel options</primary>
877
      <primary>kernel options</primary>
918
      <secondary>SMP</secondary>
878
      <secondary>SMP</secondary>
919
    </indexterm>
879
    </indexterm>
920
    <programlisting># To make an SMP kernel, the next two are needed
880
    <programlisting># To make an SMP kernel, the next two are needed
921
#options        SMP                     # Symmetric MultiProcessor Kernel
881
options         SMP                # Symmetric MultiProcessor Kernel
922
#options        APIC_IO                 # Symmetric (APIC) I/O</programlisting>
882
device          apic               # I/O APIC</programlisting>
923
883
924
    <para>The above are both required for SMP support.</para>
884
    <para>The above are both required for SMP support.</para>
925
885
Lines 930-936 Link Here
930
      IBM PS/2 (Micro Channel Architecture), &os; provides some
890
      IBM PS/2 (Micro Channel Architecture), &os; provides some
931
      limited support at this time.  For more information about the
891
      limited support at this time.  For more information about the
932
      MCA support, see
892
      MCA support, see
933
      <filename>/usr/src/sys/i386/conf/LINT</filename>.</para>
893
      <filename>/usr/src/sys/i386/conf/NOTES</filename>.</para>
934
894
935
    <programlisting>device          eisa</programlisting>
895
    <programlisting>device          eisa</programlisting>
936
896
Lines 951-966 Link Here
951
      have these features.</para>
911
      have these features.</para>
952
912
953
    <programlisting># Floppy drives
913
    <programlisting># Floppy drives
954
device          fdc0        at isa? port IO_FD1 irq 6 drq 2
914
device          fdc</programlisting>
955
device          fd0         at fdc0 drive 0
956
device          fd1         at fdc0 drive 1</programlisting>
957
958
    <para>This is the floppy drive controller.  <literal>fd0</literal> is
959
      the <devicename>A:</devicename> floppy drive, and
960
      <literal>fd1</literal> is the <devicename>B:</devicename>
961
      drive.</para>
962
915
963
    <programlisting>device          ata</programlisting>
916
    <para>This is the floppy drive controller.</para>
917
918
    <programlisting># ATA and ATAPI devices
919
device          ata</programlisting>
964
920
965
    <para>This driver supports all ATA and ATAPI devices.  You only need
921
    <para>This driver supports all ATA and ATAPI devices.  You only need
966
      one <literal>device ata</literal> line for the kernel to detect all
922
      one <literal>device ata</literal> line for the kernel to detect all
Lines 971-976 Link Here
971
    <para>This is needed along with <literal>device ata</literal> for
927
    <para>This is needed along with <literal>device ata</literal> for
972
      ATA disk drives.</para>
928
      ATA disk drives.</para>
973
929
930
    <programlisting>device          ataraid                 # ATA RAID drives</programlisting>
931
932
    <para>This is needed along with <literal>device ata</literal> for ATA
933
      RAID drives.</para>
934
974
    <programlisting><anchor id="kernelconfig-atapi">
935
    <programlisting><anchor id="kernelconfig-atapi">
975
device          atapicd                 # ATAPI CDROM drives</programlisting>
936
device          atapicd                 # ATAPI CDROM drives</programlisting>
976
937
Lines 987-1029 Link Here
987
    <para>This is needed along with <literal>device ata</literal> for
948
    <para>This is needed along with <literal>device ata</literal> for
988
      ATAPI tape drives.</para>
949
      ATAPI tape drives.</para>
989
950
990
    <programlisting>options         ATA_STATIC_ID           #Static device numbering</programlisting>
951
    <programlisting>options         ATA_STATIC_ID           # Static device numbering</programlisting>
991
952
992
    <para>This makes the controller number static (like the old driver) or
953
    <para>This makes the controller number static (like the old driver) or
993
      else the device numbers are dynamically allocated.</para>
954
      else the device numbers are dynamically allocated.</para>
994
955
995
    <programlisting># ATA and ATAPI devices
996
device          ata0        at isa? port IO_WD1 irq 14
997
device          ata1        at isa? port IO_WD2 irq 15</programlisting>
998
999
    <para>Use the above for older, non-PCI systems.</para>
1000
1001
    <programlisting># SCSI Controllers
956
    <programlisting># SCSI Controllers
1002
device          ahb        # EISA AHA1742 family
957
device          ahb        # EISA AHA1742 family
1003
device          ahc        # AHA2940 and onboard AIC7xxx devices
958
device          ahc        # AHA2940 and onboard AIC7xxx devices
959
device          ahd        # AHA39320/29320 and onboard AIC79xx devices
1004
device          amd        # AMD 53C974 (Teckram DC-390(T))
960
device          amd        # AMD 53C974 (Teckram DC-390(T))
1005
device          dpt        # DPT Smartcache - See LINT for options!
1006
device          isp        # Qlogic family
961
device          isp        # Qlogic family
1007
device          ncr        # NCR/Symbios Logic
962
device          mpt        # LSI-Logic MPT-Fusion
963
#device         ncr        # NCR/Symbios Logic
1008
device          sym        # NCR/Symbios Logic (newer chipsets)
964
device          sym        # NCR/Symbios Logic (newer chipsets)
965
device          trm        # Tekram DC395U/UW/F DC315U adapters
1009
966
1010
device          adv0       at isa?
967
device          adv        # Advansys SCSI adapters
1011
device          adw
968
device          adw        # Advansys wide SCSI adapters
1012
device          bt0        at isa?
969
device          aha        # Adaptec 154x SCSI adapters
1013
device          aha0       at isa?
970
device          aic        # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
1014
device          aic0       at isa?</programlisting>
971
device          bt         # Buslogic/Mylex MultiMaster SCSI adapters
972
973
device          ncv        # NCR 53C500
974
device          nsp        # Workbit Ninja SCSI-3
975
device          stg        # TMC 18C30/18C50</programlisting>
1015
976
1016
    <para>SCSI controllers.  Comment out any you do not have in your
977
    <para>SCSI controllers.  Comment out any you do not have in your
1017
      system.  If you have an IDE only system, you can remove these
978
      system.  If you have an IDE only system, you can remove these
1018
      altogether.</para>
979
      altogether.</para>
1019
980
1020
    <programlisting># SCSI peripherals
981
    <programlisting># SCSI peripherals
1021
device          scbus      # SCSI bus (required)
982
device          scbus      # SCSI bus (required for SCSI)
983
device          ch         # SCSI media changers
1022
device          da         # Direct Access (disks)
984
device          da         # Direct Access (disks)
1023
device          sa         # Sequential Access (tape etc)
985
device          sa         # Sequential Access (tape etc)
1024
device          cd         # CD
986
device          cd         # CD
1025
device          pass       # Passthrough device (direct SCSI
987
device          pass       # Passthrough device (direct SCSI access)
1026
access)</programlisting>
988
device          ses        # SCSI Environmental Services (and SAF-TE)</programlisting>
1027
989
1028
    <para>SCSI peripherals.  Again, comment out any you do not have, or if
990
    <para>SCSI peripherals.  Again, comment out any you do not have, or if
1029
      you have only IDE hardware, you can remove them completely.</para>
991
      you have only IDE hardware, you can remove them completely.</para>
Lines 1035-1050 Link Here
1035
	drivers are included in the kernel configuration.</para>
997
	drivers are included in the kernel configuration.</para>
1036
    </note>
998
    </note>
1037
999
1038
    <programlisting># RAID controllers
1000
    <programlisting># RAID controllers interfaced to the SCSI subsystem
1039
device          ida        # Compaq Smart RAID
1040
device          amr        # AMI MegaRAID
1001
device          amr        # AMI MegaRAID
1041
device          mlx        # Mylex DAC960 family</programlisting>
1002
device          asr        # DPT SmartRAID V, VI and Adaptec SCSI RAID
1003
device          ciss       # Compaq Smart RAID 5*
1004
device          dpt        # DPT Smartcache III, IV - See NOTES for options
1005
device          iir        # Intel Integrated RAID
1006
device          ips        # IBM (Adaptec) ServeRAID
1007
device          mly        # Mylex AcceleRAID/eXtremeRAID
1008
device          twa        # 3ware 9000 series PATA/SATA RAID
1009
1010
# RAID controllers
1011
device          aac        # Adaptec FSA RAID
1012
device          aacp       # SCSI passthrough for aac (requires CAM)
1013
device          ida        # Compaq Smart RAID
1014
device          mlx        # Mylex DAC960 family
1015
device          pst        # Promise Supertrak SX6000
1016
device          twe        # 3ware ATA RAID</programlisting>
1042
1017
1043
    <para>Supported RAID controllers.  If you do not have any of these,
1018
    <para>Supported RAID controllers.  If you do not have any of these,
1044
      you can comment them out or remove them.</para>
1019
      you can comment them out or remove them.</para>
1045
1020
1046
    <programlisting># atkbdc0 controls both the keyboard and the PS/2 mouse
1021
    <programlisting># atkbdc0 controls both the keyboard and the PS/2 mouse
1047
device          atkbdc0    at isa? port IO_KBD</programlisting>
1022
device          atkbdc     # AT keyboard controller</programlisting>
1048
1023
1049
    <para>The keyboard controller (<literal>atkbdc</literal>) provides I/O
1024
    <para>The keyboard controller (<literal>atkbdc</literal>) provides I/O
1050
      services for the AT keyboard and PS/2 style pointing devices.  This
1025
      services for the AT keyboard and PS/2 style pointing devices.  This
Lines 1052-1131 Link Here
1052
      (<literal>atkbd</literal>) and the PS/2 pointing device driver
1027
      (<literal>atkbd</literal>) and the PS/2 pointing device driver
1053
      (<literal>psm</literal>).</para>
1028
      (<literal>psm</literal>).</para>
1054
1029
1055
    <programlisting>device          atkbd0     at atkbdc? irq 1</programlisting>
1030
    <programlisting>device          atkbd      # AT keyboard</programlisting>
1056
1031
1057
    <para>The <literal>atkbd</literal> driver, together with
1032
    <para>The <literal>atkbd</literal> driver, together with
1058
      <literal>atkbdc</literal> controller, provides access to the AT 84
1033
      <literal>atkbdc</literal> controller, provides access to the AT 84
1059
      keyboard or the AT enhanced keyboard which is connected to the AT
1034
      keyboard or the AT enhanced keyboard which is connected to the AT
1060
      keyboard controller.</para>
1035
      keyboard controller.</para>
1061
1036
1062
    <programlisting>device          psm0       at atkbdc? irq 12</programlisting>
1037
    <programlisting>device          psm        # PS/2 mouse</programlisting>
1063
1038
1064
    <para>Use this device if your mouse plugs into the PS/2 mouse
1039
    <para>Use this device if your mouse plugs into the PS/2 mouse
1065
      port.</para>
1040
      port.</para>
1066
1041
1067
    <programlisting>device          vga0        at isa?</programlisting>
1042
    <programlisting>device          vga        # VGA video card driver</programlisting>
1068
1043
1069
    <para>The video card driver.</para>
1044
    <para>The video card driver.</para>
1070
1045
1071
    <programlisting># splash screen/screen saver
1046
    <programlisting># splash screen/screen saver
1072
device          splash</programlisting>
1047
device          splash     # Splash screen and screen saver support</programlisting>
1073
1048
1074
    <para>Splash screen at start up!  Screen savers require this
1049
    <para>Splash screen at start up!  Screen savers require this
1075
      too.  Use the line <literal>pseudo-device splash</literal> with
1050
      too.  Use the line <literal>pseudo-device splash</literal> with
1076
      &os;&nbsp;4.X.</para>
1051
      &os;&nbsp;4.X.</para>
1077
1052
1078
    <programlisting># syscons is the default console driver, resembling an SCO console
1053
    <programlisting># syscons is the default console driver, resembling an SCO console
1079
device          sc0          at isa?</programlisting>
1054
device          sc</programlisting>
1080
1055
1081
    <para><literal>sc0</literal> is the default console driver, which
1056
    <para><literal>sc</literal> is the default console driver, which
1082
      resembles a SCO console.  Since most full-screen programs access the
1057
      resembles a SCO console.  Since most full-screen programs access the
1083
      console through a terminal database library like
1058
      console through a terminal database library like
1084
      <filename>termcap</filename>, it should not matter whether you use
1059
      <filename>termcap</filename>, it should not matter whether you use
1085
      this or <literal>vt0</literal>, the <literal>VT220</literal>
1060
      this or <literal>vt</literal>, the <literal>VT220</literal>
1086
      compatible console driver.  When you log in, set your
1061
      compatible console driver.  When you log in, set your
1087
      <envar>TERM</envar> variable to <literal>scoansi</literal> if
1062
      <envar>TERM</envar> variable to <literal>scoansi</literal> if
1088
      full-screen programs have trouble running under this console.</para>
1063
      full-screen programs have trouble running under this console.</para>
1089
1064
1090
    <programlisting># Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
1065
    <programlisting># Enable this for the pcvt (VT220 compatible) console driver
1091
#device          vt0     at isa?
1066
#device          vt
1092
#options         XSERVER          # support for X server on a vt console
1067
#options         XSERVER          # support for X server on a vt console
1093
#options         FAT_CURSOR       # start with block cursor
1068
#options         FAT_CURSOR       # start with block cursor</programlisting>
1094
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines
1095
#options         PCVT_SCANSET=2   # IBM keyboards are non-std</programlisting>
1096
1069
1097
    <para>This is a VT220-compatible console driver, backward compatible to
1070
    <para>This is a VT220-compatible console driver, backward compatible to
1098
      VT100/102.  It works well on some laptops which have hardware
1071
      VT100/102.  It works well on some laptops which have hardware
1099
      incompatibilities with <literal>sc0</literal>.  Also set your
1072
      incompatibilities with <literal>sc</literal>.  Also set your
1100
      <envar>TERM</envar> variable to <literal>vt100</literal> or
1073
      <envar>TERM</envar> variable to <literal>vt100</literal> or
1101
      <literal>vt220</literal> when you log in.  This driver might also
1074
      <literal>vt220</literal> when you log in.  This driver might also
1102
      prove useful when connecting to a large number of different machines
1075
      prove useful when connecting to a large number of different machines
1103
      over the network, where <filename>termcap</filename> or
1076
      over the network, where <filename>termcap</filename> or
1104
      <filename>terminfo</filename> entries for the <literal>sc0</literal>
1077
      <filename>terminfo</filename> entries for the <literal>sc</literal>
1105
      device are often not available &mdash; <literal>vt100</literal>
1078
      device are often not available &mdash; <literal>vt100</literal>
1106
      should be available on virtually any platform.</para>
1079
      should be available on virtually any platform.</para>
1107
1080
1108
    <programlisting># Power management support (see LINT for more options)
1081
    <programlisting># Power management support (see NOTES for more options)
1109
device          apm0     at nexus? disable flags 0x20  # Advanced Power Management</programlisting>
1082
#device          apm</programlisting>
1110
1083
1111
    <para>Advanced Power Management support.  Useful for laptops.</para>
1084
    <para>Advanced Power Management support.  Useful for laptops.</para>
1112
1085
1086
    <note>
1087
      <para>In &os; 5.X and above this is disabled in
1088
        <filename>GENERIC</filename> by default.</para>
1089
    </note>
1090
1091
    <programlisting># Add suspend/resume support for the i8254.
1092
device           pmtimer</programlisting>
1093
1094
    <para>Timer device driver for power management events, such as APM and
1095
      ACPI.</para>
1096
1113
    <programlisting># PCCARD (PCMCIA) support
1097
    <programlisting># PCCARD (PCMCIA) support
1114
device          card
1098
# PCMCIA and cardbus bridge support
1115
device          pcic0    at isa? irq 10 port 0x3e0 iomem 0xd0000
1099
device          cbb               # cardbus (yenta) bridge
1116
device          pcic1    at isa? irq 11 port 0x3e2 iomem 0xd4000 disable</programlisting>
1100
device          pccard            # PC Card (16-bit) bus
1101
device          cardbus           # CardBus (32-bit) bus</programlisting>
1117
1102
1118
    <para>PCMCIA support.  You want this if you are using a
1103
    <para>PCMCIA support.  You want this if you are using a
1119
      laptop.</para>
1104
      laptop.</para>
1120
1105
1121
    <programlisting># Serial (COM) ports
1106
    <programlisting># Serial (COM) ports
1122
device          sio0     at isa? port IO_COM1 flags 0x10 irq 4
1107
device          sio               # 8250, 16[45]50 based serial ports</programlisting>
1123
device          sio1     at isa? port IO_COM2 irq 3
1124
device          sio2     at isa? disable port IO_COM3 irq 5
1125
device          sio3     at isa? disable port IO_COM4 irq 9</programlisting>
1126
1108
1127
    <para>These are the four serial ports referred to as <devicename>COM1</devicename> through <devicename>COM4</devicename>
1109
    <para>These are the serial ports referred to as <devicename>COM</devicename> ports
1128
      in the &ms-dos/&windows; world.</para>
1110
      in the &ms-dos;/&windows; world.</para>
1129
1111
1130
    <note>
1112
    <note>
1131
      <para>If you have an internal modem on <devicename>COM4</devicename> and a serial port at
1113
      <para>If you have an internal modem on <devicename>COM4</devicename> and a serial port at
Lines 1146-1152 Link Here
1146
    </note>
1128
    </note>
1147
1129
1148
    <programlisting># Parallel port
1130
    <programlisting># Parallel port
1149
device          ppc0    at isa? irq 7</programlisting>
1131
device          ppc</programlisting>
1150
1132
1151
    <para>This is the ISA-bus parallel port interface.</para>
1133
    <para>This is the ISA-bus parallel port interface.</para>
1152
1134
Lines 1179-1195 Link Here
1179
      <literal>scbus</literal> and <literal>da</literal> support.  Best
1161
      <literal>scbus</literal> and <literal>da</literal> support.  Best
1180
      performance is achieved with ports in EPP 1.9 mode.</para>
1162
      performance is achieved with ports in EPP 1.9 mode.</para>
1181
1163
1164
    <programlisting>#device         puc</programlisting>
1165
1166
    <para>Uncomment this device if you have a <quote>dumb</quote> serial or
1167
      parallel PCI card that is supported by the &man.puc.4 glue driver.
1168
      </para>
1169
1182
    <programlisting># PCI Ethernet NICs.
1170
    <programlisting># PCI Ethernet NICs.
1183
device          de         # DEC/Intel DC21x4x (<quote>Tulip</quote>)
1171
device          de         # DEC/Intel DC21x4x (<quote>Tulip</quote>)
1184
device          fxp        # Intel EtherExpress PRO/100B (82557, 82558)
1172
device          em         # Intel PRO/1000 adapter Gigabit Ethernet Card
1185
device          tx         # SMC 9432TX (83c170 <quote>EPIC</quote>)
1173
device          ixgb       # Intel PRO/10GbE Ethernet Card
1186
device          vx         # 3Com 3c590, 3c595 (<quote>Vortex</quote>)
1174
device          txp        # 3Com 3cR990 (<quote>Typhoon</quote>)
1187
device          wx         # Intel Gigabit Ethernet Card (<quote>Wiseman</quote>)</programlisting>
1175
device          vx         # 3Com 3c590, 3c595 (<quote>Vortex</quote>)</programlisting>
1188
1176
1189
    <para>Various PCI network card drivers.  Comment out or remove any of
1177
    <para>Various PCI network card drivers.  Comment out or remove any of
1190
      these not present in your system.</para>
1178
      these not present in your system.</para>
1191
1179
1192
    <programlisting># PCI Ethernet NICs that use the common MII bus controller code.
1180
    <programlisting># PCI Ethernet NICs that use the common MII bus controller code.
1181
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
1193
device          miibus     # MII bus support</programlisting>
1182
device          miibus     # MII bus support</programlisting>
1194
1183
1195
    <para>MII bus support is required for some PCI 10/100 Ethernet NICs,
1184
    <para>MII bus support is required for some PCI 10/100 Ethernet NICs,
Lines 1201-1245 Link Here
1201
      by an individual driver.</para>
1190
      by an individual driver.</para>
1202
1191
1203
    <programlisting>device          dc         # DEC/Intel 21143 and various workalikes
1192
    <programlisting>device          dc         # DEC/Intel 21143 and various workalikes
1193
device          miibus     # MII bus support
1194
device          bfe        # Broadcom BCM440x 10/100 Ethernet
1195
device          bge        # Broadcom BCM570xx Gigabit Ethernet
1196
device          dc         # DEC/Intel 21143 and various workalikes
1197
device          fxp        # Intel EtherExpress PRO/100B (82557, 82558)
1198
device          pcn        # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
1199
device          re         # RealTek 8139C+/8169/8169S/8110S
1204
device          rl         # RealTek 8129/8139
1200
device          rl         # RealTek 8129/8139
1205
device          sf         # Adaptec AIC-6915 (<quote>Starfire</quote>)
1201
device          sf         # Adaptec AIC-6915 (<quote>Starfire</quote>)
1206
device          sis        # Silicon Integrated Systems SiS 900/SiS 7016
1202
device          sis        # Silicon Integrated Systems SiS 900/SiS 7016
1203
device          sk         # SysKonnect SK-984x & SK-982x gigabit Ethernet
1207
device          ste        # Sundance ST201 (D-Link DFE-550TX)
1204
device          ste        # Sundance ST201 (D-Link DFE-550TX)
1205
device          ti         # Alteon Networks Tigon I/II gigabit Ethernet
1208
device          tl         # Texas Instruments ThunderLAN
1206
device          tl         # Texas Instruments ThunderLAN
1207
device          tx         # SMC EtherPower II (83c170 <quote>EPIC</quote>)
1209
device          vr         # VIA Rhine, Rhine II
1208
device          vr         # VIA Rhine, Rhine II
1210
device          wb         # Winbond W89C840F
1209
device          wb         # Winbond W89C840F
1211
device          xl         # 3Com 3c90x (<quote>Boomerang</quote>, <quote>Cyclone</quote>)</programlisting>
1210
device          xl         # 3Com 3c90x (<quote>Boomerang</quote>, <quote>Cyclone</quote>)</programlisting>
1212
1211
1213
    <para>Drivers that use the MII bus controller code.</para>
1212
    <para>Drivers that use the MII bus controller code.</para>
1214
1213
1215
    <programlisting># ISA Ethernet NICs.
1214
    <programlisting># ISA Ethernet NICs.  pccard NICs included.
1216
device          ed0    at isa? port 0x280 irq 10 iomem 0xd8000
1215
device          cs         # Crystal Semiconductor CS89x0 NIC
1217
device          ex
1216
# 'device ed' requires 'device miibus'
1218
device          ep
1217
device          ed         # NE[12]000, SMC Ultra, 3c503, DS8390 cards
1219
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
1218
device          ex         # Intel EtherExpress Pro/10 and Pro/10+
1220
# exists only as a PCMCIA device, so there is no ISA attachment needed
1219
device          ep         # Etherlink III based cards
1221
# and resources will always be dynamically assigned by the pccard code.
1220
device          fe         # Fujitsu MB8696x based cards
1222
device          wi
1221
device          ie         # EtherExpress 8/16, 3C507, StarLAN 10 etc.
1223
# Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will
1222
device          lnc        # NE2100, NE32-VL Lance Ethernet cards
1224
# work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP
1223
device          sn         # SMC's 9000 series of Ethernet chips
1225
# mode (the factory default). If you set the switches on your ISA
1224
device          xe         # Xircom pccard Ethernet
1226
# card for a manually chosen I/O address and IRQ, you must specify
1225
1227
# those parameters here.
1226
# ISA devices that use the old ISA shims
1228
device          an
1227
#device         le</programlisting>
1229
# The probe order of these is presently determined by i386/isa/isa_compat.c.
1230
device          ie0    at isa? port 0x300 irq 10 iomem 0xd0000
1231
device          fe0    at isa? port 0x300
1232
device          le0    at isa? port 0x300 irq 5 iomem 0xd0000
1233
device          lnc0   at isa? port 0x280 irq 10 drq 0
1234
device          cs0    at isa? port 0x300
1235
device          sn0    at isa? port 0x300 irq 10
1236
# requires PCCARD (PCMCIA) support to be activated
1237
#device         xe0    at isa?</programlisting>
1238
1228
1239
    <para>ISA Ethernet drivers.  See
1229
    <para>ISA Ethernet drivers.  See
1240
      <filename>/usr/src/sys/i386/conf/LINT</filename> for which cards are
1230
      <filename>/usr/src/sys/i386/conf/NOTES</filename> for which cards are
1241
      supported by which driver.</para>
1231
      supported by which driver.</para>
1242
1232
1233
    <programlisting># Wireless NIC cards
1234
device          wlan       # 802.11 support
1235
device          an         # Aironet 4500/4800 802.11 wireless NICs.
1236
device          awi        # BayStack 660 and others
1237
device          wi         # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
1238
#device         wl         # Older non 802.11 Wavelan wireless NIC.</programlisting>
1239
1240
    <para>Support for various Wireless NIC cards.</para>
1241
1242
    <programlisting>device   mem           # Memory and kernel memory devices</programlisting>
1243
1244
    <para>The system memory devices.</para>
1245
1246
    <programlisting>device   io            # I/O device</programlisting>
1247
1248
    <para>This option allows a process to gain I/O privileges. This is
1249
      useful in order to write userland programs that can handle hardware
1250
      directly.</para>
1251
1252
    <programlisting>device   random        # Entropy device</programlisting>
1253
1254
    <para>Cryptographically secure random number generator.</para>
1255
1243
    <programlisting>device   ether         # Ethernet support</programlisting>
1256
    <programlisting>device   ether         # Ethernet support</programlisting>
1244
1257
1245
    <para><literal>ether</literal> is only needed if you have an Ethernet
1258
    <para><literal>ether</literal> is only needed if you have an Ethernet
Lines 1247-1253 Link Here
1247
      &os;&nbsp;4.X use the line <literal>pseudo-device
1260
      &os;&nbsp;4.X use the line <literal>pseudo-device
1248
      ether</literal>.</para>
1261
      ether</literal>.</para>
1249
1262
1250
    <programlisting>device   sl      1     # Kernel SLIP</programlisting>
1263
    <programlisting>device   sl            # Kernel SLIP</programlisting>
1251
1264
1252
    <para><literal>sl</literal> is for SLIP support.  This has been almost
1265
    <para><literal>sl</literal> is for SLIP support.  This has been almost
1253
      entirely supplanted by PPP, which is easier to set up, better suited
1266
      entirely supplanted by PPP, which is easier to set up, better suited
Lines 1257-1263 Link Here
1257
      With &os;&nbsp;4.X use the line <literal>pseudo-device
1270
      With &os;&nbsp;4.X use the line <literal>pseudo-device
1258
      sl</literal>.</para>
1271
      sl</literal>.</para>
1259
1272
1260
    <programlisting>device   ppp     1     # Kernel PPP</programlisting>
1273
    <programlisting>device   ppp           # Kernel PPP</programlisting>
1261
1274
1262
    <para>This is for kernel PPP support for dial-up connections.  There
1275
    <para>This is for kernel PPP support for dial-up connections.  There
1263
      is also a version of PPP implemented as a userland application that
1276
      is also a version of PPP implemented as a userland application that
Lines 1297-1303 Link Here
1297
    <para>Memory disk pseudo-devices.  With &os;&nbsp;4.X use the
1310
    <para>Memory disk pseudo-devices.  With &os;&nbsp;4.X use the
1298
      line <literal>pseudo-device md</literal>.</para>
1311
      line <literal>pseudo-device md</literal>.</para>
1299
1312
1300
    <programlisting>device   gif     # IPv6 and IPv4 tunneling</programlisting>
1313
    <programlisting>device   gif           # IPv6 and IPv4 tunneling</programlisting>
1301
1314
1302
    <para>This implements IPv6 over IPv4 tunneling, IPv4 over IPv6 tunneling,
1315
    <para>This implements IPv6 over IPv4 tunneling, IPv4 over IPv6 tunneling,
1303
      IPv4 over IPv4 tunneling, and IPv6 over IPv6 tunneling.  Beginning with
1316
      IPv4 over IPv4 tunneling, and IPv6 over IPv6 tunneling.  Beginning with
Lines 1308-1314 Link Here
1308
      &os;&nbsp;4.X require a number, for example
1321
      &os;&nbsp;4.X require a number, for example
1309
      <literal>pseudo-device gif 4</literal>.</para>
1322
      <literal>pseudo-device gif 4</literal>.</para>
1310
1323
1311
    <programlisting>device   faith   # IPv6-to-IPv4 relaying (translation)</programlisting>
1324
    <programlisting>device   faith         # IPv6-to-IPv4 relaying (translation)</programlisting>
1312
1325
1313
    <para>This pseudo-device captures packets that are sent to it and
1326
    <para>This pseudo-device captures packets that are sent to it and
1314
      diverts them to the IPv4/IPv6 translation daemon.  With
1327
      diverts them to the IPv4/IPv6 translation daemon.  With
Lines 1336-1358 Link Here
1336
    <programlisting># USB support
1349
    <programlisting># USB support
1337
#device         uhci          # UHCI PCI-&gt;USB interface
1350
#device         uhci          # UHCI PCI-&gt;USB interface
1338
#device         ohci          # OHCI PCI-&gt;USB interface
1351
#device         ohci          # OHCI PCI-&gt;USB interface
1339
#device         usb           # USB Bus (required)
1352
device          usb           # USB Bus (required)
1340
#device         ugen          # Generic
1353
#device         udbp          # USB Double Bulk Pipe devices
1341
#device         uhid          # <quote>Human Interface Devices</quote>
1354
device          ugen          # Generic
1342
#device         ukbd          # Keyboard
1355
device          uhid          # <quote>Human Interface Devices</quote>
1343
#device         ulpt          # Printer
1356
device          ukbd          # Keyboard
1344
#device         umass         # Disks/Mass storage - Requires scbus and da
1357
device          ulpt          # Printer
1345
#device         ums           # Mouse
1358
device          umass         # Disks/Mass storage - Requires scbus and da
1359
device          ums           # Mouse
1360
device          urio          # Diamond Rio 500 MP3 player
1361
device          uscanner      # Scanners
1346
# USB Ethernet, requires mii
1362
# USB Ethernet, requires mii
1347
#device         aue           # ADMtek USB ethernet
1363
device          aue           # ADMtek USB Ethernet
1348
#device         cue           # CATC USB ethernet
1364
device          axe           # ASIX Electronics USB Ethernet
1349
#device         kue           # Kawasaki LSI USB ethernet</programlisting>
1365
device          cue           # CATC USB Ethernet
1366
device          kue           # Kawasaki LSI USB Ethernet
1367
device          rue           # RealTek RTL8150 USB Ethernet</programlisting>
1350
1368
1351
    <para>Support for various USB devices.</para>
1369
    <para>Support for various USB devices.</para>
1352
1370
1371
    <programlisting># FireWire support
1372
device          firewire      # FireWire bus code
1373
device          sbp           # SCSI over FireWire (Requires scbus and da)
1374
device          fwe           # Ethernet over FireWire (non-standard!)</programlisting>
1375
1376
    <para>Support for various Firewire devices.</para>
1377
1353
    <para>For more information and additional devices supported by
1378
    <para>For more information and additional devices supported by
1354
      &os;, see
1379
      &os;, see
1355
      <filename>/usr/src/sys/i386/conf/LINT</filename>.</para>
1380
      <filename>/usr/src/sys/i386/conf/NOTES</filename>.</para>
1356
1381
1357
      <sect2>
1382
      <sect2>
1358
        <title>Large Memory Configurations (<acronym>PAE</acronym>)</title>
1383
        <title>Large Memory Configurations (<acronym>PAE</acronym>)</title>

Return to bug 70674