Конфигурирование ядра
Конфигурационный
файл ядра GENEREC находится в каталоге /usr/src/sys/i386/conf.
Каталог sys - стандартное место
для исходников ядра, в i386 помещаются части, имеющие
отношение к соответствующей архитектуре.
LINT - файл содержащий вспомогательную
информацию для настройки файла ядра с последующей компиляцией.
-------------------------------------------------------
- Если папка sys отсутствует, -
- а это вполне может иметь место, -
- то просто устанавливаем её. -
-------------------------------------------------------
Идем дальше...
# cp GENERIC COMPINFO
Последнее слово - это есть будущий файл ядра.
Для сверки с железом нам понадобится команда "dmesg",
ибо конфигурировать ядро не зная с чем будет последнее
работать, мягко говоря не умно.
Теперь приступаем к редактированию
Подробное описание файла ядра смотрите
в разделе : Платформы -> FreeBSD -> Конфигурирование ядра
machine i386 # процессор совместимый
с Intel 386
# cpu I386_CPU # 386-е процессоры
# cpu I486_CPU # 486-е, включая AMD-5x86;
# cpu I586_CPU # Pentium, MMX, AMD-K5, AMD-K6
cpu I686_CPU # Pentium Pro, Pentium II и т.д.
ident COMPINFO # идентификатор (название) ядра
maxusers 16 # максимум User-ов, 0-автомат.
#makeoptions DEBUG=-g # наличие в ядре
инфы отладки
#options MATH_EMULATE # эмуляция сопроцессора - для
386
options INET # Поддержка IP версии 4
#options INET6 # Поддержка IP версии 6
#options IPSEC # Защита заголовка IP пакета
#options IPSEC_ESP # Защита данных IP пакета (crypto)
#options IPSEC_DEBUG # поддержка отладки IPsec
options FFS # поддержка файловой системы харда
options FFS_ROOT # это тоже лучше не удалять
options SOFTUPDATES # поддержка нужно фичи под FFS
options UFS_DIRHASH # Увеличение скорости доступа к
папкам
#options MFS #/ поодержка использования и
#options MD_ROOT #\ загрузки виртуального диска
#options NFS #/ поддержка файловой системы NFS
#options NFS_ROOT #\ и соответственно загрузка по сети
options MSDOSFS # поддержка Ms-DOS
options CD9660 # поддержка CD-приводов
options CD9660_ROOT # загрузка с приводов CD-ROM
options PROCFS # для версии 5.Х не используется
Служит для вывода информации о системе , что может представлять
опасность получения хакером доп информации
options COMPAT_43 # Необходимая опция совместимости
#options SCSI_DELAY=15000 # задержка опроса устройств
SCSI
options UCONSOLE # Захват консоли на 1 терминале
#options USERCONFIG #/ включение редатора ядра boot
-c
#options VISUAL_USERCONFIG #\ и visual boot -c editor
#options KTRACE # Трассировщик для отладки ядра
options SYSVSHM # раздельная памяти в стиле System V
options SYSVMSG #/ нужны тоже, в основном для аудио
options SYSVSEM #\ и кое-чего еще
#options P1003_1B # расширенна система реального
#options _KPOSIX_PRIORITY_SCHEDULING # времени
options ICMP_BANDLIM # Опция защиты от DoS-атак
#options KBD_INSTALL_CDEV # нечто для клавы, толку никакого
#options AHC_REG_PRETTY_PRINT # распечатка регистров
для отладки
#
# Эти блоки относядся к многопроцессорной машине
#options SMP # Symmetric MultiProcessor Kernel
#options APIC_IO # Symmetric (APIC) I/O
#
# --= Не стандатрные параметра файла Generic =--
#
# options MROUTING # Маршрутизация многоадресного трафика
options IPFIREWALL # Включает код фильтрации пакетов
options IPFIREWALL_VERBOSE # протоколирование пакетов
ч/з syslogd
options IPFIREWALL_VERBOSE_LIMIT=100 # лимит числа сообщений
#options IPFIREWALL_DEFAULT_TO_ACCEPT # прохождение
не-IP пакетов
причем теперь проходят вообще все пакеты
options IPFIREWALL_FORWARD # Поддержка перенаправления
пакетов
# options IPV6FIREWALL # Файреволл для сетей с IP v6
# options IPV6FIREWALL_VERBOSE # --- // --- v6
# options IPV6FIREWALL_VERBOSE_LIMIT=100 # --- // ---
v6
# options IPV6FIREWALL_DEFAULT_TO_ACCEPT # --- // ---
v6
options IPDIVERT # поддержки firewall с IP маскарадингом
options IPFILTER # поддержка фильтра ip
options IPFILTER_LOG # ведение логов для ip-фильтра
##options IPFILTER_DEFAULT_BLOCK # блокирование всех
пакетов
##options IPSTEALTH # Перенаправление IP пакетов без
изменения ttl
##options TCPDEBUG # нужна только разработчикам
#options DUMMYNET # ограничение пропускной способности
интерфейсов
#options BRIDGE # Использование как сетевой мост
options TCP_DROP_SYNFIN # Игнорирование пакетов с флагами
SIN и FIN
#options ARPPROXY_ALL # прокся ARP для Dial-up серверов
#
# ----------------------------------------------
#
#device isa
#device eisa
device pci
#
# Флоппи дисководы
#
device fdc0 at isa? port IO_FD1 irq 6 drq 2
device fd0 at fdc0 drive 0
#device fd1 at fdc0 drive 1
#
# Секция поддержка ATA-устройств
#
#device ata0 at isa? port IO_WD1 irq 14 # Поддержка
старых
#device ata1 at isa? port IO_WD2 irq 15 # IDE-контроллеров
device ata # Опция поодержки АТА-интерфейса
device atadisk # Опция поодержки АТА-винчестеров
device atapicd # Опция поодержки АТА-CD-ROM-ов
#device atapifd # Опция поодержки Zip и LS
#device atapist # Опция поодержки ATAPI-стриммеров
options ATA_STATIC_ID # Статическая нумерация дисковых
# # устройств на IDE-канале
# Секция поддержки конкретных SCSI-контроллеров
#
#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)
#options SYM_SETUP_LP_PROBE_MAP=0x40
#device adv0 at isa?
#device adw
#device bt0 at isa?
#device aha0 at isa?
#device aic0 at isa?
#device ncv # NCR 53C500
#device nsp # Workbit Ninja SCSI-3
#device stg # TMC 18C30/18C50
#
# общая поддержка SCSI-устройств
#device scbus # SCSI bus (required)
#device da # Direct Access (disks)
#device sa # Sequential Access (tape etc)
#device cd # CD
#device pass # Passthrough device (direct SCSI access)
#
# RAID контроллеры для SCSI интерфейсов
#device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
#device dpt # DPT Smartcache - See LINT for options!
#device iir # Intel Integrated RAID
#device mly # Mylex AcceleRAID/eXtremeRAID
#device ciss # Compaq SmartRAID 5* series
#
# RAID контроллеры
#device aac # Adaptec FSA RAID, Dell PERC2/PERC3
#device aacp # SCSI passthrough for aac (requires CAM)
#device ida # Compaq Smart RAID
#device amr # AMI MegaRAID
#device mlx # Mylex DAC960 family
#device twe # 3ware Escalade
#
# atkbdc0 controls both the keyboard and the PS/2 mouse
# - поддержка консоли
#
device atkbdc0 at isa? port IO_KBD # поддержка контроллера
device atkbd0 at atkbdc? irq 1 flags 0x1 # поддержка
клавиатуры
#device psm0 at atkbdc? irq 12 # !!! FOR mouse ps/2
# мыши
#
device vga0 at isa? # Поддержка VGA-режима консольного
экрана
#
# splash screen/screen saver
#pseudo-device splash # Отвечает за работу заставки
экрана
# syscons - это драйвер консоли по умолчанию,
имитирующий консоль SCO
device sc0 at isa? flags 0x100
# Enable this and PCVT_FREEBSD for pcvt
vt220 compatible console driver
#device vt0 at isa?
#options XSERVER # support for X server on a vt console
#options FAT_CURSOR # start with block cursor
# If you have a ThinkPAD, uncomment this along with
the rest of the PCVT lines
#options PCVT_SCANSET=2 # IBM keyboards are non-std
#
# интерфейс к модулю операций с плавающей точкой в FreeBSD
- обязательный
#
device npx0 at nexus? port IO_NPX irq 13
#
# Поддержка расширенного управления питанием (APM)
#
#device apm0 at nexus? disable flags 0x20 # Advanced
Power Management
#
# Поддержка PC-карт (они же - PCMCIA)
#
#device card
#device pcic0 at isa? irq 0 port 0x3e0 iomem 0xd0000
#device pcic1 at isa? irq 0 port 0x3e2 iomem 0xd4000
disable
#
#Поддержка последовательных портов.
#
#Первые две строки - для внешних,
#вторые - если имеется внутренний модем, определяемый
как COM3 или COM4.
#
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
device sio1 at isa? port IO_COM2 irq 3
#device sio2 at isa? disable port IO_COM3 irq 5
#device sio3 at isa? disable port IO_COM4 irq 9
#
#Поддержка параллельных портов
#
device ppc0 at isa? irq 7
device ppbus # Parallel port bus (required)
device lpt # Printer
#device plip # TCP/IP over parallel
device ppi # Parallel port interface device
#device vpo # Zip-привод на параллельном порту
#
# Подраздел сетевых картах
#
# Драйвера сетевых карт PCI
#
#device de # DEC/Intel DC21x4x (``Tulip'')
#device em # Intel PRO/1000 adapter Gigabit Ethernet
Card (``Wiseman'')
#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
#device dc # DEC/Intel 21143 and various workalikes
#device fxp # Intel EtherExpress PRO/100B (82557, 82558)
#device pcn # AMD Am79C97x PCI 10/100 NICs
#device rl # RealTek 8129/8139
#device sf # Adaptec AIC-6915 (``Starfire'')
#device sis # Silicon Integrated Systems SiS 900/SiS
7016
#device ste # Sundance ST201 (D-Link DFE-550TX)
#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 BCM570x (``Tigon III'')
# Драйвера сетевых карт ISA
#
# 'device ed' requires 'device miibus'
device ed0 at isa? port 0x300 irq 10 iomem 0xd8000
#device ex
#device ep
#device fe0 at isa? port 0x300
#device xe # Xircom Ethernet
#
# Установка звуковых карт (на базе Sound Blaster)
#
device pcm
device sbc
#device snd
#controller snd0
#device sb160 at isa? port 0x220 irq 5 drq 1 # SoundBlaster
(PCM, 16, PRO, ProAudioSpectrum)
#device sbxvi0 at isa? drq 5 # SoundBlaster 16
#device sbmidi0 at isa? port 0x330 # SoundBlaster 16
MIDI interface
#device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15
#
#device awi # PRISM I IEEE 802.11b wireless NIC.
#
#device wi # WaveLAN/IEEE 802.11
#
#device an # Aironet 4500/4800 802.11
#
# The probe order of these is presently determined by
i386/isa/isa_compat.c.
#device ie0 at isa? port 0x300 irq 10 iomem 0xd0000
#device le0 at isa? port 0x300 irq 5 iomem 0xd0000
#device lnc0 at isa? port 0x280 irq 10 drq 0
#device cs0 at isa? port 0x300
#device sn0 at isa? port 0x300 irq 10
#
#
pseudo-device loop # Драйвер" loopback интерфейса.
Используется во многих ситуациях.Поэтому, это устройство
должно быть обязательно.
pseudo-device ether # Общие подпрограммы для всех ethernet'овских
драйверов (независимо, какая карточка у вас стоит).
Количество "псевдо-девайсов" значения не имеет.
#pseudo-device sl 1 # Драйвер SLIP (протокол для передачи
IP через COM-порт и, соответственно, через модем). Количество
"псевдо-девайсов" должно быть столько, сколько
у вас COM-портов.
pseudo-device ppp 2 # Драйвер PPP (как и SLIP это протокол
для передачи IP через COM-порт). Количество "псевдо-девайсов"
должно быть столько, сколько у вас COM-портов.
pseudo-device tun 1 # Это устройство используется только
программой ppp (смотри man 8 ppp). Если вы этой программой
не пользуетесь (не путайте ее с pppd), то и устройство
вам не нужно.
pseudo-device pty # Драйвер, отображающий "драйвер
терминала" (как tty), в тех случаях, когда юзер
работает, через сеть (telnet, rlogin и т.п.). Должно
быть несколько (16 - вполне нормально).
#pseudo-device md # Поддержка Memory Disks, тех самых
псевдоустройств, на которых базируется файловая система
mfs (о ней говорилось выше). Доступна в виде модуля.
#pseudo-device gif # Поддержка туннелирования для IPv6
и IPv4
#pseudo-device faith 1 # Устройство перенаправления
пакетов для тунелирования
#
pseudo-device bpf # Фильтр пакетов Berkeley
#
# поддержка USB
#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 uscanner # Scanners
#device urio # Diamond Rio MP3 Player
# поддержка USB Ethernet, рекомендуется mii
#device aue # ADMtek USB ethernet
#device cue # CATC USB ethernet
#device kue # Kawasaki LSI USB ethernet
#
#
Теперь приступаем к генерированию исходных
текстов ядра
#
# /usr/sbin/config COMPINFO
#
Ошибки исправляем по мере возниновения
Переходим в каталог, в котором будет собираться ядро
#
# cd ../../compile/COMPINFO
#
Приступаем к сборке его родимого:
#
# make depend
# make
#
Если все прошло без сучка и задоринки, то инсталлируем новое ядро:
#
# make install
#
Все теперь перегружаемся и смотрим
#
#
Ядро установилось и система работает, с чем вас и поздравляю :)
#
#
Если же одна из команд выдала ошибку
- то следует еще раз внимательно проверить список устройств
и опций в файле /usr/src/sys/i386/conf/FIRST.
Если же все на Ваш взгляд нормально, то попробуйте еще
раз "пересобрать" ядро.
Если после инсталяции и перезагрузке
ядро не загрузилось, попробуйте загрузить старое ядро:
boot: kernel.old
Загрузка старого ядра должна пройти успешно. Замените старое ядро на новое:
# cd /
# chflags noschg kernel
# cp kernel kernel.new
# cp kernel.old kernel
# chflags schg kernel
# reboot
Проверьте наличие файла /boot.config.
Если этого файла нет - создайте его следующим образом:
#
# echo /boot/loader > /boot.config
В каталоге /boot должны содержаться следующие файлы:
boot0
boot1
boot2
loader
Обязательно проверьте их наличие!
Другие статьи
По всем вопросам и предложениям по сайту пишите на info@comp-info.ru  
|