zoukankan      html  css  js  c++  java
  • Freebsd 编译内核

    # cd /usr/src/sys/i386/conf

    # cp GENERIC GENERIC.20060812
    # ee GENERIC

    如果要加入ipf防火墙的话则加入
    options         IPFIREWALL
    options         IPFIREWALL_DEFAULT_TO_ACCEPT
    options         IPFIREWALL_FORWARD
    options         IPDIVERT

    # cd /usr/src/sys/i386/conf

    运行config命令来产生内核源代码。
    # /usr/sbin/config GENERIC

    切换到建立内核的目录。
    # cd ../compile/GENERIC

    编译内核
    # make cleandepend  (最好先清除一下)
    # make depend
    # make

    安装新内核。
    # make install

    OK,到这里,如果中间没有出现任何错误的话,那么我们的内核心就已经安装成功了,
    reboot后就能够使用我们的新编译的内核了。如果出现了

    错误,那么请检查你的步骤是否跟上面的步骤一致,同时要检查你的内核配置文件配置的是否正确,
    一般编译不成功都是内核文件配置的问题

    ,请仔细检查。

    四、新内核无法启动:

    如果你编译的内核无法启动,那么可以使用以前的内核来启动。一般编译一次内核后,
    都会把把旧内核备份,一般/boot/kernel.old就是旧内

    核的备份,出现问题就能够使用久内核来启动。

    具体实现方法是:
    你可以在系统启动进行10计数的时候按Enter以外的任何键, 接着键入unload命令,
    再键入boot kernel.old,或者任何能正常启动的内核名字

    ,然后就能够正常启动系统,进入系统后再重新进行内核的配置工作。

    注意: 你不能仅依靠kernel.old,因为当你安装一个新内核时, 
    kernel.old会被上一次安装的内核所覆盖,所以你要么自己手动备份一个能

    正常启动的内核,或者注意你的kernel.old是否能正常启动的内核。

    结束

    好,到这里,我们的编译内核的工作就完成了,来然我们来看看我们的内核是否已经减小了:

    # ls -l /boot/kernel/kernel
    -r-xr-xr-x 1 root wheel 3090929 Sep 1 21:30 /boot/kernel/kernel

    呵呵,明显把原来的5940286变成了现在的3090929,虽然没有变小一倍,
    但是也变小好多啦,以后系统又更快啦

    修改时请参http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/kernelconfig-config.html

    #######################################################################
    machine  i386
    cpu  I486_CPU
    cpu  I586_CPU
    cpu  I686_CPU
    ident  GENERIC

    # 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 scheduler
    options  SCHED_4BSD  # 4BSD scheduler
    options  PREEMPTION  # Enable kernel thread preemption
    options  INET   # InterNETworking
    options  INET6   # IPv6 communications protocols
    options  FFS   # Berkeley Fast Filesystem
    options  SOFTUPDATES  # Enable FFS soft updates support
    options  UFS_ACL   # Support for access control lists
    options  UFS_DIRHASH  # Improve performance on big directories
    options  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 Filesystem
    #options  CD9660   # ISO 9660 Filesystem
    options  PROCFS   # Process filesystem (requires PSEUDOFS)
    options  PSEUDOFS  # Pseudo-filesystem framework
    options  GEOM_GPT  # GUID Partition Tables.
    options  COMPAT_43  # Compatible with BSD 4.3 [KEEP THIS!]
    options  COMPAT_FREEBSD4  # Compatible with FreeBSD4
    options  COMPAT_FREEBSD5  # Compatible with FreeBSD5
    #options  SCSI_DELAY=5000  # Delay (in ms) before probing SCSI
    options  KTRACE   # ktrace(1) support
    #options  SYSVSHM   # SYSV-style shared memory
    #options  SYSVMSG   # SYSV-style message queues
    options  SYSVSEM   # SYSV-style semaphores
    options  _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
    options  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.

    options         IPFIREWALL
    options         IPFIREWALL_DEFAULT_TO_ACCEPT
    options         IPFIREWALL_FORWARD

    device  apic   # I/O APIC

    # Bus support.
    device  eisa
    device  pci

    # Floppy drives
    device  fdc

    # ATA and ATAPI devices
    device  ata
    device  atadisk  # ATA disk drives
    device  ataraid  # ATA RAID drives
    device  atapicd  # ATAPI CDROM drives
    device  atapifd  # ATAPI floppy drives
    device  atapist  # ATAPI tape drives
    options  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 mouse
    device  atkbdc  # AT keyboard controller
    device  atkbd  # AT keyboard
    device  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 console
    device  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 DC21×4x (“Tulip”)
    #device  em  # Intel PRO/1000 adapter Gigabit Ethernet Card
    #device  ixgb  # Intel PRO/10GbE Ethernet Card
    #device  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 support
    #device  bfe  # Broadcom BCM440x 10/100 Ethernet
    #device  bge  # Broadcom BCM570xx Gigabit Ethernet
    #device  dc  # DEC/Intel 21143 and various workalikes
    #device  fxp  # Intel EtherExpress PRO/100B (82557, 82558)
    #device  lge  # Level 1 LXT1001 gigabit Ethernet
    #device  nge  # NatSemi DP83820 gigabit Ethernet
    #device  nve  # nVidia nForce MCP on-board Ethernet Networking
    #device  pcn  # AMD Am79C97x PCI 10/100(precedence over ‘lnc’)
    #device  re  # RealTek 8139C+/8169/8169S/8110S
    device  rl  # RealTek 8129/8139
    #device  sf  # Adaptec AIC-6915 (“Starfire”)
    #device  sis  # Silicon Integrated Systems SiS 900/SiS 7016
    #device  sk  # SysKonnect SK-984x & SK-982x gigabit Ethernet
    #device  ste  # Sundance ST201 (D-Link DFE-550TX)
    #device  ti  # Alteon Networks Tigon I/II gigabit Ethernet
    #device  tl  # Texas Instruments ThunderLAN
    #device  tx  # SMC EtherPower II (83c170 “EPIC”)
    #device  vge  # VIA VT612x gigabit Ethernet
    #device  vr  # VIA Rhine, Rhine II
    #device  wb  # Winbond W89C840F
    #device  xl  # 3Com 3c90x (“Boomerang”, “Cyclone”)

    # ISA Ethernet NICs.  pccard NICs included.
    #device  cs  # Crystal Semiconductor CS89×0 NIC
    # ‘device ed’ requires ‘device miibus’
    #device  ed  # NE[12]000, SMC Ultra, 3c503, DS8390 cards
    #device  ex  # Intel EtherExpress Pro/10 and Pro/10+
    #device  ep  # Etherlink III based cards
    #device  fe  # Fujitsu MB8696x based cards
    #device  ie  # EtherExpress 8/16, 3C507, StarLAN 10 etc.
    #device  lnc  # NE2100, NE32-VL Lance Ethernet cards
    #device  sn  # SMC’s 9000 series of Ethernet chips
    #device  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 loopback
    device  random  # Entropy device
    device  ether  # Ethernet support
    device  sl  # Kernel SLIP
    device  ppp  # Kernel PPP
    device  tun  # Packet tunnel.
    device  pty  # Pseudo-ttys (telnet etc)
    device  md  # Memory "disks"
    device  gif  # IPv6 and IPv4 tunneling
    device  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!)
    #######################################################################

  • 相关阅读:
    [学习]利用SqlDataAdapter Insertcommand 获取刚新增的自动编号ID值
    [转]下拉框OnChange触发文本框值变化
    .NET伪静态使用以及和纯静态的区别
    Java之替换“\n”符号 Binary
    【转载】三种东西永远不要放到数据库里 Binary
    如何为Android Spinner设置一个初始值(How to make an Android Spinner with initial text “Select One”)? Binary
    Android之SQLite列操作 Binary
    Android——调用系统相册 Binary
    Android——用XML的selector实现按钮多态 Binary
    keystore信息的查看 Binary
  • 原文地址:https://www.cnblogs.com/apexchu/p/4131716.html
Copyright © 2011-2022 走看看