Linux Kernel Configuration

来源:互联网 发布:tomcat域名绑定项目 编辑:程序博客网 时间:2024/05/18 01:16
Linux Kernel Configuration 
(for 2.6.16)

1. Certain configurations  (.?. means improve)

   Code maturity level options     /* All are certain */
      [ ] Prompt for development and/or incomplete code/drivers 
   General setup                   /* All are certain */
      (Any string) Local version - append to kernel release 
      [*] Automatically append version information to the version string
      [*] Support for paging of anonymous memory (swap)
      [*] System V IPC
      [*] BSD Process Accounting
      [*]   BSD Process Accounting version 3 file format
      [*] Sysctl support
      [*] Auditing support
      [*]   Enable system-call auditing support
      [*] Kernel .config support
      [*]   Enable access to .config through /proc/config.gz
      ()  Initramfs source file(s) 
      [ ] Configure standard kernel features (for small systems)
   Loadable module support         /* All are certain */
      [*] Enable loadable module support
      [*]   Module unloading
      [*]   Module versioning support
      [ ]   Source checksum for all modules
      [*]   Automatic kernel module loading  
   Block layer
      [ ] Support for Large Block Devices
          IO Schedulers
      <*>   Anticipatory I/O scheduler    /* multiprocess server */
      <*>   Deadline I/O scheduler        /* DB                  */
      <*>   CFQ I/O scheduler             /* desktop             */
            Default I/O scheduler (Anticipatory)
      .?.     Anticipatory
      .?.     Deadline
      <*>     CFQ
      .?.     No-op
   Processor type and features
          Subarchitecture Type (PC-compatible)
      (X)   PC-compatible
          Processor family
      (X)   Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon 
      [*] Generic x86 support
      [*] HPET Timer Support
      .?. Symmetric multi-processing support
          Preemption Model
      .?.   No Forced Preemption (Server)
      <*>   Voluntary Kernel Preemption (Desktop) 
      .?.   Preemptible Kernel (Low-Latency Desktop or Embeded)
      [ ] Local APIC support on uniprocessors
      [*] Machine Check Exception 
      < >   Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium
      < > Toshiba Laptop support 
      < > Dell laptop support
      [ ] Enable X86 board specific fixups for reboot
      <M> /dev/cpu/microcode - Intel IA32 CPU microcode support
      <M> /dev/cpu/*/msr - Model-specific register support
      <M> /dev/cpu/*/cpuid - CPU information support
          Firmware Drivers
      < >   ... (for all)
          High Memory Support
      <*>   off   :) as I haven't 4G RAM
      [ ] Math emulation
      [*] MTRR (Memory Type Range Register) support
      [ ] Boot from EFI support (EXPERIMENTAL)
      [*] Enable seccomp to safely compute untrusted bytecode
          Timer frequency
      .?.   100 HZ    /* server */
      <*>   250 HZ    /* desktop */
      .?.   1000 HZ   /* fast interactive */
   Power management options (ACPI, APM)
      [*]   Legacy Power Management API
      [ ]   Power Management Debug Support
      [ ] Software Suspen
          ACPI (Advanced Configuration and Power Interface) Support
      [*]   ACPI Support 
      [*]     Sleep States
      [ ]       /proc/acpi/sleep (deprecated)
      <M>     AC Adapter
      <M>     Battery
      <M>     Button 
      <*>     Video
      <*>     Fan
      <*>     Processor
      <*>       Thermal Zone
      < >     ASUS/Medion Laptop Extras
      < >     IBM ThinkPad Laptop Extras
      < >     Toshiba Laptop Extras 
      (2001)  Disable ACPI for systems before Jan 1st this year
      [ ]     Debug Statements
      <*>   APM (Advanced Power Management) BIOS support
      [ ]     Ignore USER SUSPEND
      [ ]     Enable PM at boot time
      [*]     Make CPU Idle calls when idle
      [ ]     Enable console blanking using APM
      [ ]     RTC stores time in GMT
      [ ]     Allow interrupts during APM BIOS calls
      [ ]     Use real mode APM BIOS call to power off
      [*]   CPU Frequency scaling
      [ ]     Enable CPUfreq debugging
      <*>     CPU frequency translation statistics
      [ ]       CPU frequency translation statistics details
              Default CPUFreq governor (userspace)
      ( )       performance
      (X)       userspace
      <*>     'performance' governor
      <M>     'powersave' governor
      ---     'userspace' governor for userspace frequency scaling
      <M>     'ondemand' cpufreq policy governor
      < >     'conservative' cpufreq governor
      ---     CPUFreq processor drivers
      <M>     ACPI Processor P-States driver
      <M>     AMD Mobile K6-2/K6-3 PowerNow!
      <*>     AMD Mobile Athlon/Duron PowerNow!
      < >     Cyrix MediaGX/NatSemi Geode Suspend Modulation
      <*>     Intel Enhanced SpeedStep
      [*]       Use ACPI tables to decode valid frequency/voltage pairs
      [*]       Built-in tables for Banias CPUs
      <*>     Intel Speedstep on ICH-M chipsets (ioport interface)
      <M>     Intel Pentium 4 clock modulation
      <*>     Transmeta LongRun
      <*>     VIA Cyrix III Longhaul
      ---     shared options
      [ ]     /proc/acpi/processor/../performance interface (deprecated)
      [ ]     Relaxed speedstep capability checks      
   Bus options (PCI, PCMCIA, EISA, MCA, ISA)
      --- PCI support
            PCI access mode (Any)
      ( )     BIOS
      ( )     MMConfig
      ( )     Direct
      (X)     Any
      [ ]   PCI Express support
      [*]   Legacy /proc/pci interface
      [ ]   PCI Debugging
      [*] ISA support
      [ ]   EISA support
      [ ] MCA support
      < > NatSemi SCx200 support
          PCCARD (PCMCIA/CardBus) support
      < >   PCCard (PCMCIA/CardBus) support
          PCI Hotplug Support
   Executable file formats
      [*] Kernel support for ELF binaries
      < > Kernel support for a.out and ECOFF binaries
      <*> Kernel support for MISC binaries
   Networking
      (will in next version)
   Device Drivers
      (will add in)
   File systems
      <*> Second extended fs support
      [*]   Ext2 extended attributes
      [*]     Ext2 POSIX Access Control Lists
      [*]     Ext2 Security Labels
      [ ]   Ext2 execute in place support
      <M> Ext3 journalling file system support
      [*]   Ext3 extended attributes
      [*]     Ext3 POSIX Access Control Lists
      [*]     Ext3 Security Labels
      [ ] JBD (ext3) debugging support
      <M> Reiserfs support
      [ ]   Enable reiserfs debug mode
      [*]   Stats in /proc/fs/reiserfs
      [*]   ReiserFS extended attributes
      [*]     ReiserFS POSIX Access Control Lists
      [*]     ReiserFS Security Labels
      <M> JFS filesystem support
      [*]   JFS POSIX Access Control Lists
      [ ]   JFS Security Labels
      [ ]   JFS debugging
      [ ]   JFS statistic
      <M> XFS filesystem support
      [*]   XFS Quota support
      [*]   XFS Security Label support
      [*]   XFS POSIX ACL support
      <M> Minix fs support
      <M> ROM file system support
      [*] Inotify file change notification support
      [*] Quota support
      < >   Old quota format support
      <*>   Quota format v2 support
      <M> Kernel automounter support
      <M> Kernel automounter version 4 support (also supports v3)
      < > Filesystem in Userspace support
          CD-ROM/DVD Filesystems
      <*>   ISO 9660 CDROM file system support
      [*]     Microsoft Joliet CDROM extensions
      [*]     Transparent decompression extension
      <M>   UDF file system support
          DOS/FAT/NT Filesystems
      <M> MSDOS fs suppor
      <M>   VFAT (Windows-95) fs support
      (437) Default codepage for FAT
      (ascii) Default iocharset for FAT
      < >   NTFS file system support
          Pseudo filesystems
      [*]   /proc file system support
      [*]     /proc/kcore support
      [*]   Virtual memory file system support (former shm fs)
      [*]   HugeTLB file system support
      < >   Relayfs file system support
          Miscellaneous filesystems
      <M>   Apple Extended HFS file system support
      < >   Journalling Flash File System (JFFS) support
      <M>   Journalling Flash File System v2 (JFFS2) support
      (0)     JFFS2 debugging verbosity (0 = quiet, 2 = noisy)
      [*]     JFFS2 write-buffering support
      [ ]     Advanced compression options for JFFS2
      <M>   Compressed ROM file system support (cramfs)
      <M>   FreeVxFS file system support (VERITAS VxFS(TM) compatible)
      < >   OS/2 HPFS file system support
      <M>   QNX4 file system support (read only)
      <M>   System V/Xenix/V7/Coherent file system support
      <M>   UFS file system support (read only)
          Network File Systems
      <M>   NFS file system support
      [*]     Provide NFSv3 client support
      [ ]       Provide client support for the NFSv3 ACL protocol extension
      <M>   NFS server support
      [*]     Provide NFSv3 server support
      [ ]       Provide server support for the NFSv3 ACL protocol extension
      [*]     Provide NFS server over TCP support
      <M>   SMB file system support (to mount Windows shares etc.)
      [ ]     Use a default NLS
      <M>   CIFS support (advanced network filesystem for Samba, Window and
      [ ]     CIFS statistics
      [*]     CIFS extended attributes
      [*]       CIFS POSIX Extensions
      <M>   NCP file system support (to mount NetWare volumes)
      [*]     Packet signatures
      [*]     Proprietary file locking
      [*]     Clear remove/delete inhibit when needed
      [*]     Use NFS namespace if available
      [*]     Use LONG (OS/2) namespace if available
      [*]     Lowercase DOS filenames
      [*]     Use Native Language Support
      [*]     Enable symbolic links and execute flags
      < >   Coda file system support (advanced network fs)
          Partition Types
      [*]   Advanced partition selection
      [ ]     Acorn partition support
      [*]     Alpha OSF partition support
      [ ]     Amiga partition table support
      [ ]     Atari partition table support
      [*]     Macintosh partition map support
      [*]     PC BIOS (MSDOS partition tables) support
      [*]       BSD disklabel (FreeBSD partition tables) support
      [*]       Minix subpartition support
      [*]       Solaris (x86) partition table support
      [*]       Unixware slices support
      [*]     Windows Logical Disk Manager (Dynamic Disk) support
      [*]       Windows LDM extra loggin
      [*]     SGI partition support
      [ ]     Ultrix partition table support
      [*]     Sun partition tables support
      [ ]     Karma Partition support
      [*]     EFI GUID Partition support
          Native Language Support
      ---   Base native language support
      (utf8)  Default NLS Option
      <*>     Codepage 437 (United States, Canada
      <*>     ASCII (United States)
      <M>     (for all other language)
   Kernel hacking
      [ ] Show timing information on printks
      [*] Magic SysRq key
      [*] Kernel debugging
      (17)  Kernel log buffer size (16 => 64KB, 17 => 128KB)
      [*]   Detect Soft Lockups
      [ ]   Collect scheduler statistics
      [ ]   Debug memory allocations
      [*]   Mutex debugging, deadlock detection
      [*]   Spinlock debugging
      [*]   Sleep-inside-spinlock checking
      [ ]   kobject debugging
      [*]   Compile the kernel with debug info
      [ ]   Debug Filesystem
      [ ]   Debug VM
      [ ]   Compile the kernel with frame pointers
      [*]   Force gcc to inline functions marked 'inline'
      < >   torture tests for RCU
      [*]   Check for stack overflows
      [*]   Stack utilization instrumentation
      [ ]   Page alloc debugging
      [ ]   Write protect kernel read-only data structures
      [ ]   Use 4Kb for kernel stacks instead of 8Kb
   Security options
      [ ] Enable access key retention support
      [*] Enable different security models
      [*]   Socket and Networking Security Hooks
      [ ]     XFRM (IPSec) Networking Security Hooks
      <*>   Default Linux Capabilities
      < >   Root Plug Support
      < >   BSD Secure Levels
      [*] NSA SELinux Support
      [*]   NSA SELinux boot parameter
      (1)     NSA SELinux boot parameter default value
      [*]   NSA SELinux runtime disable
      [*]   NSA SELinux Development Support
      [*]   NSA SELinux AVC Statistics
      (1)   NSA SELinux checkreqprot default value
   Cryptographic options
      --- Cryptographic API
      ---   HMAC support
      <M>   Null algorithms
      <M>   MD4 digest algorithm
      <M>   MD5 digest algorithm
      <*>   SHA1 digest algorithm
      <M>   SHA256 digest algorithm
      <M>   SHA384 and SHA512 digest algorithms
      <M>   Whirlpool digest algorithms
      < >   Tiger digest algorithms
      <M>   DES and Triple DES EDE cipher algorithms
      <M>   Blowfish cipher algorithm
      <M>   Twofish cipher algorithm
      <M>   Serpent cipher algorithm
      < >   AES cipher algorithms
      <M>   AES cipher algorithms (i586)
      <M>   CAST5 (CAST-128) cipher algorithm
      <M>   CAST6 (CAST-256) cipher algorithm
      <M>   TEA, XTEA and XETA cipher algorithms
      <M>   ARC4 cipher algorith
      <M>   Khazad cipher algorithm
      < >   Anubis cipher algorithm
      <M>   Deflate compression algorithm
      <M>   Michael MIC keyed digest algorithm
      <M>   CRC32c CRC algorithm
      < >   Testing module
          Hardware crypto devices
      < >   Support for VIA PadLock ACE
   Library routines
      <M> CRC-CCITT functions
      < > CRC16 functions
      --- CRC32 functions
      <M> CRC32c (Castagnoli, et al) Cyclic Redundancy-Check

2. For specifics

2.1 Embeded system

   Processor type and features
      [ ] Enable seccomp to safely compute untrusted bytecode


3. Improved configurations

3.1 What the kernel used to (for IO): DB, multiprocess server or desktop?

   Block layer
          IO Schedulers
            Default I/O scheduler (Anticipatory)
      .?.     Anticipatory      /* multiprocess server */
      .?.     Deadline          /* DB                  */
      .?.     CFQ               /* desktop             */
      .?.     No-op

3.2 What the kernel used to (for preemption): server, desktop or embeded?

   Processor type and features
          Preemption Model
      .?.   No Forced Preemption (Server)
      .?.   Voluntary Kernel Preemption (Desktop) 
      .?.   Preemptible Kernel (Low-Latency Desktop or Embeded)
          Timer frequency
      .?.   100 HZ    /* server */
      .?.   250 HZ    /* desktop */
      .?.   1000 HZ   /* fast interactive or embeded */