标题:FreeBSD:编译内核 出处:gOxiA=苏繁=SuFan Blog 时间:Tue, 14 Mar 2006 11:52:02 +0000 作者:gOxiA 地址:https://goxia.maytide.net/read.php/788.htm 内容:       FreeBSD安装后,内核中包含很多在实际环境中用不到的项目,所以可以重新修改编译内核来达到优化的效果。下面就是我的具体操作: # cd /sys/i386/conf # cp GENERIC MAYTIDE (注释:MAYTIDE是我为这个新内核起的名字,你也可以根据自己的喜好命名。) # ee MAYTIDE 我重新修改过的内核文件内容如下: ## GENERIC -- Generic kernel configuration file for FreeBSD/i386## For more information on this file, please read the handbook section on# Kernel Configuration Files:##    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html## The handbook is also available locally in /usr/share/doc/handbook# if you've installed the doc distribution, otherwise always see the# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the# latest information.## An exhaustive list of options and more detailed explanations of the# device lines is also present in the ../../conf/NOTES and NOTES files.# If you are in doubt as to the purpose or necessity of a line, check first# in NOTES.## $FreeBSD: src/sys/i386/conf/GENERIC,v 1.429.2.3.2.1 2005/10/28 19:22:41 jhb Exp $ machine         i386#cpu             I486_CPU#cpu             I586_CPUcpu             I686_CPUident           MAYTIDE # To statically compile in device wiring instead of /boot/device.hints#hints          "GENERIC.hints"         # Default places to look for devices. makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols #options        SCHED_ULE               # ULE scheduleroptions         SCHED_4BSD              # 4BSD scheduleroptions         PREEMPTION              # Enable kernel thread preemptionoptions         INET                    # InterNETworkingoptions         INET6                   # IPv6 communications protocolsoptions         FFS                     # Berkeley Fast Filesystemoptions         SOFTUPDATES             # Enable FFS soft updates supportoptions         UFS_ACL                 # Support for access control listsoptions         UFS_DIRHASH             # Improve performance on big directoriesoptions         MD_ROOT                 # MD is a potential root device#options         NFSCLIENT               # Network Filesystem Client#options         NFSSERVER               # Network Filesystem Server#options         NFS_ROOT                # NFS usable as /, requires NFSCLIENT#options         MSDOSFS                 # MSDOS Filesystemoptions         CD9660                  # ISO 9660 Filesystemoptions         PROCFS                  # Process filesystem (requires PSEUDOFS)options         PSEUDOFS                # Pseudo-filesystem frameworkoptions         GEOM_GPT                # GUID Partition Tables.options         COMPAT_43               # Compatible with BSD 4.3 [KEEP THIS!]options         COMPAT_FREEBSD4         # Compatible with FreeBSD4options         COMPAT_FREEBSD5         # Compatible with FreeBSD5options         SCSI_DELAY=5000         # Delay (in ms) before probing SCSIoptions         KTRACE                  # ktrace(1) supportoptions         SYSVSHM                 # SYSV-style shared memoryoptions         SYSVMSG                 # SYSV-style message queuesoptions         SYSVSEM                 # SYSV-style semaphoresoptions         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensionsoptions         KBD_INSTALL_CDEV        # install a CDEV entry in /dev#options         AHC_REG_PRETTY_PRINT    # Print register bitfields in debug                                        # output.  Adds ~128k to driver.#options         AHD_REG_PRETTY_PRINT    # Print register bitfields in debug                                        # output.  Adds ~215k to driver.options         ADAPTIVE_GIANT          # Giant mutex is adaptive. device          apic                    # I/O APIC # Bus support.#device          eisadevice          pci # Floppy drives#device          fdc # ATA and ATAPI devicesdevice          atadevice          atadisk         # ATA disk drives#device          ataraid         # ATA RAID drivesdevice          atapicd         # ATAPI CDROM drives#device          atapifd         # ATAPI floppy drivesdevice          atapist         # ATAPI tape drivesoptions         ATA_STATIC_ID   # Static device numbering # SCSI Controllers#device          ahb             # EISA AHA1742 family#device          ahc             # AHA2940 and onboard AIC7xxx devices#device          ahd             # AHA39320/29320 and onboard AIC79xx devices#device          amd             # AMD 53C974 (Tekram DC-390(T))#device          isp             # Qlogic family#device         ispfw           # Firmware for QLogic HBAs- normally a module#device          mpt             # LSI-Logic MPT-Fusion#device         ncr             # NCR/Symbios Logic#device          sym             # NCR/Symbios Logic (newer chipsets + those of `ncr')#device          trm             # Tekram DC395U/UW/F DC315U adapters #device          adv             # Advansys SCSI adapters#device          adw             # Advansys wide SCSI adapters#device          aha             # Adaptec 154x SCSI adapters#device          aic             # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.#device          bt              # Buslogic/Mylex MultiMaster SCSI adapters #device          ncv             # NCR 53C500#device          nsp             # Workbit Ninja SCSI-3#device          stg             # TMC 18C30/18C50 # SCSI peripherals#device          scbus           # SCSI bus (required for SCSI)#device          ch              # SCSI media changers#device          da              # Direct Access (disks)#device          sa              # Sequential Access (tape etc)#device          cd              # CD#device          pass            # Passthrough device (direct SCSI access)#device          ses             # SCSI Environmental Services (and SAF-TE) # RAID controllers interfaced to the SCSI subsystem#device          amr             # AMI MegaRAID#device          arcmsr          # Areca SATA II RAID#device          asr             # DPT SmartRAID V, VI and Adaptec SCSI RAID#device          ciss            # Compaq Smart RAID 5*#device          dpt             # DPT Smartcache III, IV - See NOTES for options#device          hptmv           # Highpoint RocketRAID 182x#device          iir             # Intel Integrated RAID#device          ips             # IBM (Adaptec) ServeRAID#device          mly             # Mylex AcceleRAID/eXtremeRAID#device          twa             # 3ware 9000 series PATA/SATA RAID # RAID controllers#device          aac             # Adaptec FSA RAID#device          aacp            # SCSI passthrough for aac (requires CAM)#device          ida             # Compaq Smart RAID#device          mlx             # Mylex DAC960 family#device          pst             # Promise Supertrak SX6000#device          twe             # 3ware ATA RAID # atkbdc0 controls both the keyboard and the PS/2 mousedevice          atkbdc          # AT keyboard controllerdevice          atkbd           # AT keyboarddevice          psm             # PS/2 mouse device          vga             # VGA video card driver device          splash          # Splash screen and screen saver support # syscons is the default console driver, resembling an SCO consoledevice          sc # Enable this for the pcvt (VT220 compatible) console driver#device         vt#options        XSERVER         # support for X server on a vt console#options        FAT_CURSOR      # start with block cursor device          agp             # support several AGP chipsets # Power management support (see NOTES for more options)#device         apm# Add suspend/resume support for the i8254.device          pmtimer # PCCARD (PCMCIA) support# PCMCIA and cardbus bridge support#device          cbb             # cardbus (yenta) bridge#device          pccard          # PC Card (16-bit) bus#device          cardbus         # CardBus (32-bit) bus # Serial (COM) ports#device          sio             # 8250, 16[45]50 based serial ports # Parallel port#device          ppc#device          ppbus           # Parallel port bus (required)#device          lpt             # Printer#device          plip            # TCP/IP over parallel#device          ppi             # Parallel port interface device#device         vpo             # Requires scbus and da # If you've got a "dumb" serial or parallel PCI card that is# supported by the puc(4) glue driver, uncomment the following# line to enable it (connects to the sio and/or ppc drivers):#device         puc # PCI Ethernet NICs.device          de              # DEC/Intel DC21x4x (``Tulip'')device          em              # Intel PRO/1000 adapter Gigabit Ethernet Carddevice          ixgb            # Intel PRO/10GbE Ethernet Carddevice          txp             # 3Com 3cR990 (``Typhoon'')device          vx              # 3Com 3c590, 3c595 (``Vortex'') # PCI Ethernet NICs that use the common MII bus controller code.# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!device          miibus          # MII bus supportdevice          bfe             # Broadcom BCM440x 10/100 Ethernetdevice          bge             # Broadcom BCM570xx Gigabit Ethernetdevice          dc              # DEC/Intel 21143 and various workalikesdevice          fxp             # Intel EtherExpress PRO/100B (82557, 82558)device          lge             # Level 1 LXT1001 gigabit Ethernetdevice          nge             # NatSemi DP83820 gigabit Ethernetdevice          nve             # nVidia nForce MCP on-board Ethernet Networkingdevice          pcn             # AMD Am79C97x PCI 10/100(precedence over 'lnc')device          re              # RealTek 8139C+/8169/8169S/8110Sdevice          rl              # RealTek 8129/8139device          sf              # Adaptec AIC-6915 (``Starfire'')device          sis             # Silicon Integrated Systems SiS 900/SiS 7016device          sk              # SysKonnect SK-984x & SK-982x gigabit Ethernetdevice          ste             # Sundance ST201 (D-Link DFE-550TX)device          ti              # Alteon Networks Tigon I/II gigabit Ethernetdevice          tl              # Texas Instruments ThunderLANdevice          tx              # SMC EtherPower II (83c170 ``EPIC'')device          vge             # VIA VT612x gigabit Ethernetdevice          vr              # VIA Rhine, Rhine IIdevice          wb              # Winbond W89C840Fdevice          xl              # 3Com 3c90x (``Boomerang'', ``Cyclone'') # ISA Ethernet NICs.  pccard NICs included.device          cs              # Crystal Semiconductor CS89x0 NIC# 'device ed' requires 'device miibus'device          ed              # NE[12]000, SMC Ultra, 3c503, DS8390 cardsdevice          ex              # Intel EtherExpress Pro/10 and Pro/10+device          ep              # Etherlink III based cardsdevice          fe              # Fujitsu MB8696x based cardsdevice          ie              # EtherExpress 8/16, 3C507, StarLAN 10 etc.device          lnc             # NE2100, NE32-VL Lance Ethernet cardsdevice          sn              # SMC's 9000 series of Ethernet chipsdevice          xe              # Xircom pccard Ethernet # ISA devices that use the old ISA shims#device         le # Wireless NIC cards#device          wlan            # 802.11 support#device          an              # Aironet 4500/4800 802.11 wireless NICs.#device          awi             # BayStack 660 and others#device          ral             # Ralink Technology RT2500 wireless NICs.#device          wi              # WaveLAN/Intersil/Symbol 802.11 wireless NICs.#device         wl              # Older non 802.11 Wavelan wireless NIC. # Pseudo devices.device          loop            # Network loopbackdevice          random          # Entropy devicedevice          ether           # Ethernet supportdevice          sl              # Kernel SLIPdevice          ppp             # Kernel PPPdevice          tun             # Packet tunnel.device          pty             # Pseudo-ttys (telnet etc)device          md              # Memory "disks"device          gif             # IPv6 and IPv4 tunnelingdevice          faith           # IPv6-to-IPv4 relaying (translation) # The `bpf' device enables the Berkeley Packet Filter.# Be aware of the administrative consequences of enabling this!# Note that 'bpf' is required for DHCP.device          bpf             # Berkeley packet filter # USB support#device          uhci            # UHCI PCI->USB interface#device          ohci            # OHCI PCI->USB interface#device          ehci            # EHCI PCI->USB interface (USB 2.0)#device          usb             # USB Bus (required)#device         udbp            # USB Double Bulk Pipe devices#device          ugen            # Generic#device          uhid            # "Human Interface Devices"#device          ukbd            # Keyboard#device          ulpt            # Printer#device          umass           # Disks/Mass storage - Requires scbus and da#device          ums             # Mouse#device          ural            # Ralink Technology RT2500USB wireless NICs#device          urio            # Diamond Rio 500 MP3 player#device          uscanner        # Scanners# USB Ethernet, requires miibus#device          aue             # ADMtek USB Ethernet#device          axe             # ASIX Electronics USB Ethernet#device          cdce            # Generic USB over Ethernet#device          cue             # CATC USB Ethernet#device          kue             # Kawasaki LSI USB Ethernet#device          rue             # RealTek RTL8150 USB Ethernet # FireWire support#device          firewire        # FireWire bus code#device          sbp             # SCSI over FireWire (Requires scbus and da)#device          fwe             # Ethernet over FireWire (non-standard!)       编辑好内核后就可以编译安装这个新内核。 # /usr/sbin/config MAYTIDE # cd ../compile/MAYTIDE # make depend # make # make install       编译安装完成后重新启动,就会发现系统使用的是新的内核了。       我在虚拟机种编译感觉CPU占用率特别高,整个过程用了近1个小时。 Generated by Bo-blog 2.1.1 Release