Контакты

Для связи с нами можно использовать:
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




© Dumpeal 12.12.2005

e-Commerce Partners Network
Ник:

Текст:
P Br B I Qute



Код: обновить
Последние комментарии
26.06.2017 07:33:17 DeweyAloma написал:
If you have a desire to learn how to earn from...
XSS Часть II
26.06.2017 07:09:03 DeweyAloma написал:
If you have a desire to learn how to earn from...
Взлом приложений WEB 2.0 из Firefox
26.06.2017 04:42:47 DeweyAloma написал:
If you have a desire to learn how to earn from...
HTTP. Описание протокола
Реклама

Тут должна была быть ваша реклама, но мы потеряли глиняную табличку с ее текстом. SapeId: 665044

Rambler's Top100