| 
Во FreeBSD для оптимизации использования ресурсов есть возможность пересобрать ядро (или перекомпилировать ядро).
 
Ядро - это программа, в которую включен код операционной системы, работающий с периферийными устройствами. 
 
Можно отключить в ядре поддержку устройств, которые в вашей машине не используются. FreeBSD Handbook достаточно подробно описывает процесс переконфигурирования и сборки ядра в разделе 8.- папка /usr/src/sys/i386/conf содержит шаблон конфигурации ядра GENERIC, который надо скопировать в свой собственный конфигурационный файл, например, MYKERNEL:
 # cd /usr/src/sys/i386/conf
 # cp GENERIC MYKERNEL
 - теперь нужно в файле MYKERNEL закомментировать символом # все строки, которые включают поддержку отсутствующего у вас оборудования. Каждая строка шаблона и её назначение подробно описана в той же FreeBSD Handbook. Я закомментировал следующие строки (получил из результата команды diff -a GENERIC MYKERNEL):
 #cpu  I486_CPU
 #cpu  I586_CPU
 #options  INET6   # IPv6 communications protocols
 #options  SCSI_DELAY=15000 # Delay (in ms) before probing SCSI
 #device  eisa
 
 #device  ataraid  # ATA RAID drives
 #device  atapist  # ATAPI tape drives
 #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  mpt  # LSI-Logic MPT-Fusion
 #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
 
#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)
 #device  amr  # AMI MegaRAID
 #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
 #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
 
#device  agp  # support several AGP chipsets
 #device  cbb  # cardbus (yenta) bridge
 #device  pccard  # PC Card (16-bit) bus
 #device  cardbus  # CardBus (32-bit) bus
 
#device  wlan  # 802.11 support#device  an  # Aironet 4500/4800 802.11 wireless NICs.
 #device  awi  # BayStack 660 and others
 #device  wi  # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
 
#device  uhci  # UHCI PCI->USB interface#device  ohci  # OHCI PCI->USB interface
 #device  usb  # USB Bus (required)
 
#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  urio  # Diamond Rio 500 MP3 player
 #device  uscanner # Scanners
 #device  aue  # ADMtek USB Ethernet
 #device  axe  # ASIX Electronics USB Ethernet
 #device  cue  # CATC USB Ethernet
 #device  kue  # Kawasaki LSI USB Ethernet
 #device  rue  # RealTek RTL8150 USB Ethernet
 #device  firewire # FireWire bus code
 #device  sbp  # SCSI over FireWire (Requires scbus and da)
 #device  fwe  # Ethernet over FireWire (non-standard!)
 
 - не забудьте в файле MYKERNEL исправить ''метку'' ядра
 ident          GENERIC
 на
 ident          MYKERNEL
 - кроме этого шаблона, описывающие устройства, есть дополнительный файл /usr/src/sys/conf/NOTES. Оттуда можно методом copy/paste брать строки для включения в основной шаблон MYKERNEL. Я этого делать не стал.
 - сборка ядра "традиционным" способом:
 # cd /usr/src/sys/i386/conf
 # /usr/sbin/config MYKERNEL
 - Перейдите в каталог, в котором будет собираться ядро. Запущенный как показано выше config(8) выведет имя этого каталога.
 # cd ../compile/MYKERNEL
 - Соберите ядро.
 # make depend
 # make
 - Установите новое ядро.
 # make install
 - после перезагрузки система должна нормально заработать уже с новыми установками. Я сравнивал использование памяти и ресурсов у оригинальной системы и перекомпилированной, и разницы не заметил. Вслучае ошибок и проблем в загрузке перекомпилированной системы смотрите советы раздела 8.6. Решение проблем из FreeBSD Handbook.
 |