Контакты

Для связи с нами можно использовать:
irc://irc.chatnet.ru:#gfs
icq://546460
email://cobalt[@]gfs-team.ru

Все материалы предоставлены только с ознакомительной целью
ГлавнаяСтатьиLinux/FreeBSDFreeBSD Kernel
© Dumpeal 12.12.2005 статья не оптимизирована

В этой статье мы ознакомимся с созданием собственного ядра для FreeBSD.

  1) Зачем собственно ядро.
  2) Составление ядра.
  3) Установка.
  4) Если новое ядро не работает.
  5) Литература

1)
Ядро - это основная часть операционной системы FreeBSD . Оно ответственно за управление памятью, параметры безопасности, работу с сетью, доступ к дискам и многое другое. Несмотря на то, что FreeBSD становится всё более динамически конфигурируемой, иногда приходится собирать собственное ядро. В FreeBSD идет стандартное ядро, которое называется GENERIC,так как в нем много лишнего и не нужного для нас мы попробуем сделать собственное ядро. В стандартном ядре включен большой список аппаратных устройств, которые не когда не понадобятся для использования. Какой выигрыш мы можем получить за счет нового ядра:

  a)   Возможно будет уменьшен интервал загрузки системы.
  b)   Уменьшение использования памяти.
  c)   Включение дополнительных аппаратных средств.

2)
 Посмотрите, установлены ли у вас исходные тексты ядра /usr/src/sys . Если нет, то ставим /stand/sysinstall ->Configure -> Distributions.Дальше переходим собственно в каталог с ядром:

>   1)   cd /usr/src/sys/i386/conf
  2)   cp GENERIC KERNEL (это строка копирует стандартное ядро в файл KERNEL)

Теперь пришло время редактирования нашего ядра.

machine i386 #Параметр обязателен для любого типа машин
cpu I686_CPU #Архитектура машины
ident KERNEL #Название нашего ядра
# Floating point support - do not disable.
device npx #обязательный параметр для работы с плавающей точкой в FreeBsd
# Pseudo devices
device loop # Network loopback
#makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
options SCHED_ULE #4BSD scheduler
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_EXTATTR
options UFS_EXTATTR_AUTOSTART
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 root device, requires
NFSCLIENT
options MSDOSFS #MSDOS Filesystem
options CD9660 #ISO 9660 Filesystem
options PROCFS #Process filesystem (requires PSEUDOFS)
options PSEUDOFS #Pseudo-filesystem framework
options NTFS
options MSDOSFS
options EXT2FS
options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
options COMPAT_FREEBSD4 #Compatible with FreeBSD4
options SCSI_DELAY=15000 #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
options IPFIREWALL
options IPDIVERT
options DUMMYNET
options BRIDGE
device apic #APIC I/O
# To make an SMP kernel, the next two are needed
#options SMP # Symmetric MultiProcessor Kernel
#options APIC_IO # Symmetric (APIC) I/O
device isa
device eisa
device pci
# Floppy drives
device fdc
# ATA and ATAPI devices
device ata
device atadisk # ATA disk 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 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
# RAID controllers interfaced to the SCSI subsystem
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 iir # Intel Integrated RAID
device mly # Mylex AcceleRAID/eXtremeRAID
# SCSI peripherals
device scbus # SCSI bus (required)
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
device aac # Adaptec FSA RAID
device aacp # SCSI passthrough for aac (requires CAM)
device amr # AMI MegaRAID
device ida # Compaq Smart RAID
device ips # IBM (Adaptec) ServeRAID
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
# 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
# PCI Ethernet NICs.
device de # DEC/Intel DC21x4x (``Tulip'')
device em # Intel PRO/1000 adapter Gigabit 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 dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
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 and 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 vr # VIA Rhine, Rhine II
device wb # Winbond W89C840F
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
device bge # Broadcom BCM570xx Gigabit Ethernet
# ISA Ethernet NICs. pccard nics included.
device cs # Crystal Semiconductor CS89x0 NIC
# Wireless NIC cards
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 wl # Older non 802.11 Wavelan wireless NIC.
# Pseudo devices - the number indicates how many units to allocate.
device random # Entropy device
device loop # Network loopback
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!
device bpf # Berkeley packet filter
# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
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 urio # Diamond Rio 500 MP3 player
device uscanner # Scanners
# USB Ethernet, requires mii
device aue # ADMtek USB ethernet
device axe # ASIX Electronics USB ethernet
device cue # CATC USB ethernet
device kue # Kawasaki LSI 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!)


3)
Ну что, пожалуй, вот наше ядро и готово. Приступим к установке.

  1)   cd /usr/src (переход в католог)
  2)   make buildkernel KERNCONF=KERNEL (сборка ядра)
  3)   make installkernel KERNCONF=KERNEL

или так

  1)   /usr/sbin/config KERNEL
  2)   cd ../../compile/KERNEL
  3)   make depend
  4)   make
  5)   make install

Если все прошло успешно перезагружаемся.

4)
Возможно у вас возникли проблемы с новым ядром. Прежде всего при загрузке системы нажмите любую клавишу кроме Enter. Появится строка это означает что наше ядро загружено.

  1) unload (выгрузка нашего ядра)
  2) Посмотрите какие ядра есть в каталоге.
  3) load /GENERIC (загрузка рабочего ядра)
  4) load /modules/if_fpx.ko
  5) boot

Теперь ваша система должна загрузиться со старого ядра.

5)
  1) www.freebsd.org
  2) www.opennet.ru
  3) www.unixdoc.ru
  4) www.google.ru



© Dumpeal 12.12.2005 статья не оптимизирована

Ник:

Текст:
P Br B I Qute Url



Код:
Последние комментарии
05.02.2012 14:15:24 Jojn_Lenin написал:
linux не говно,при правильном обращении все будет гладко. 1) Для нее не...
Linux vs Windows
03.02.2012 13:35:47 дед Андрей написал:
здравствуйте товарищи.у меня вопрос к тем кто устанавливает и обслуживает домофоны.на...
Взлом домофонов
27.01.2012 17:04:51 fibroz kavernoz написал:
Arckitektor пиши на doctor.serzhik@mail.ru
Взлом домофонов
Реклама
Гродок, КВН, камеди видео приколы Гродок, КВН, камеди
определение трека
Rambler's Top100