9.4. Конфигурационният файл

Основният формат, използван от конфигурационния файл е доста прост. Всеки ред съдържа ключова дума и един или повече аргумента. За по-голяма прегледност, повечето редове съдържат само един аргумент. Всичко, написано след # се счита за коментар и се игнорира. Следващата част обяснява всяка ключова дума в реда, в който се срещат във файла GENERIC. Някои от ключовите думи са групирани заедно в собствена секция (например Мрежи), макар че се срещат на различни места във файла GENERIC. Изчерпателен списък на опциите и по-детайлирани обяснения на редовете отнасящи се до специфични устройства, се намират в конфигурационния файл LINT, разположен в същата директория както GENERIC. Ако се съмнявате в предназначението или нуждата от някоя опция, първо проверете файла LINT.

Note: Във FreeBSD 5.X и по-късни версии файлът LINT не съществува. Консултирайте се с файла NOTES при въпроси относно специфична архитектура. Някои опции, в частност архитектурно зависимите, се съхраняват във файла /usr/src/sys/conf/NOTES file. Съветваме ви да прегледате и опциите описани в този документ.

Следва примерен GENERIC конфигурационен файл за ядрото с допълнителни коментари на места, където има нужда от поясняване. Този пример би трябвало да е доста близък до вашето копие в /usr/src/sys/i386/conf/GENERIC. За детайли относно всички възможни опции на ядрото вижте /usr/src/sys/i386/conf/LINT.

#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
#    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ../../conf/NOTES and NOTES files. 
# If you are in doubt as to the purpose or necessity of a line, check first 
# in NOTES.
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.380 2003/03/29 13:36:41 mdodd Exp $

Следните ключови думи са задължителни за всяко ядро, което изграждате:

machine        i386


Това е архитектурата на машината. Тя трябва да бъде една от следните: i386, pc98, sparc64, alpha, ia64, amd64 или powerpc.

cpu          I486_CPU
cpu          I586_CPU
cpu          I686_CPU

Горната опция определя типът процесор на вашата система. Възможно е да имате няколко реда с тази ключова дума (ако не сте сигурни коя е правилна, използвайте I586_CPU or I686_CPU). Ако изграждате ядро за собствените си нужди е най-добре да специфицирате само типът на процесора, който имате. Ако не сте сигурни какъв тип е процесора, може да проверите във файла /var/run/dmesg.boot, където се пазят съобщенията от началното зареждане.

В изходния код на FreeBSD все още има поддръжка за I386_CPU, но тя е деактивирана по подразбиране както в -STABLE така и в -CURRENT. Това значи, че имате следните възможности за да инсталирате FreeBSD на машина с 386 процесор:

Първата от тези възможности е вероятно най-лесната, но ще имате нужда от доста дисково пространство на машина от 386 клас, което може да не е толкова лесно за набавяне.

ident          GENERIC

Това е идентификацията на ядрото. Следва да я промените според това как сте именували ядрото си, например MYKERNEL, ако сте следвали инструкциите от предния пример. Стойността, която сложите за ident ще се изписва когато заредите ядрото. Удобно е да зададете различно име за новото ядро, ако искате да го държите отделно от обикновеното ядро (например ако искате да изградите експериментално ядро).

maxusers          n

Опцията maxusers задава големината на някои важни системни таблици. Това число трябва да е приблизително равно на броят потребители, които очаквате да ползват едновременно вашата система.

Започвайки от FreeBSD 4.5, системата ще нагласи автоматично тази настройка, ако изрично зададете стойност 0[1]. При FreeBSD 5.X, maxusers ще приеме по подразбиране стойност 0, ако не е указана изрично. Ако използвате FreeBSD версия по-ранна от 4.5 или искате сами да определите сами стойността, задайте на maxusers стойност поне 4, особено ако ще използвате системата X Window или софтуер за компилиране. Причината за това е, че големината на най-важната таблица определяна от maxusers е максималният брой процеси, която приема стойност 20 + 16 * maxusers. Ако зададете 1 за maxusers, тогава ще можете да имате само 36 процеса вървящи по едно и също време, включително около 18, които биват стартирани от системата при зареждането и около 15 за вас, които вероятно ще бъдат създадени когато пуснете системата X Window. Дори проста дейност, като четене на помощна страница може да стартира до девет процеса за филтриране, декомпресиране и разглеждане. Задаване на стойност 64 за maxusers ще ви даде възможност да имате 1044 едновременно вървящи процеса, което би било достатъчно за почти всички дейности. Ако въпреки това виждате ужасяващата грешка proc table full когато се опитате да стартирате някое приложение, или поддържате сървър с голям брой едновременни потребители (като ftp.FreeBSD.org), винаги можете да увеличите числото и да изградите ядрото отново.

Note: maxusers не ограничава броят потребители, които могат да се логнат във вашата машина. Той просто задава подходящи големини за различни таблици, като има в предвид максималният брой потребители, които ще ползват системата едновременно и колко процеса ще изпълнява всеки един от тях. Една ключова дума, която задава лимит за броя на едновременни отдалечени логвания и терминални прозорци под X е pseudo-device pty 16.

# Floating point support - do not disable.
device          npx0     at nexus? port IO_NPX irq 13

npx0 е интерфейсът към математическия възел за изчисления с плаваща запетая в FreeBSD, който е или хардуерен копроцесор, или софтуерен емулатор. Тази опция е задължителна .

# Pseudo devices - the number indicates how many units to allocate.
pseudo-device   loop          # Network loopback

Това е главното loopback устройство за TCP/IP. Ако използвате telnet или FTP до localhost (познат още като, 127.0.0.1) връзката ще мине през това псевдо-устройство. Това е задължително.

Всичко, което следва е малко или повече опционално. Вижте бележките под или до всяка опция за повече информация.

#To statically compile in device wiring instead of /boot/device.hints
#hints          "GENERIC.hints"         #Default places to look for devices.

Под FreeBSD 5.X и по-нови версии, device.hints(5) се използва за конфигуриране на опции на драйвери за периферни устройства. В процеса на зареждане, loader(8) ще търси по подразбиране файлът /boot/device.hints. Като използвате опцията hints, можете да компилирате статично тези стойности в ядрото. Тогава няма да има нужда да създавате файла device.hints в /boot.

#makeoptions     DEBUG=-g          #Build kernel with gdb(1) debug symbols

Нормалният процес на изграждане на FreeBSD не включва информация за отстраняване на грешки (debugging) когато изгражда ядрото и премахва повечето символи след като новото ядро е свързано (linked), за да спести дисково пространство на мястото, където инсталира. Ако ще тествате ядра в разклонението (branch) -CURRENT или правите собствени промени по ядрото на FreeBSD, може да искате да разкоментирате този ред. Той ще позволи използването на опция -g, която указва на gcc(1) да генерира информация за отстраняване на грешки. Същото може да бъде постигнато чрез опция -g в config(8), ако използвате ``традиционния'' начин за изграждане на ядрото (вж. Section 9.3 за повече информация).

options          MATH_EMULATE      #Support for x87 emulation

Този ред позволява на ядрото да симулира математически копроцесор, ако компютърът ви няма такъв (386 or 486SX). Ако имате 486DX, 386 или 486SX (с отделен 387 или 487 чип), или по-нов (Pentium®, Pentium II, и т.н.), можете да коментирате този ред.

Note: Функциите за емулиране на математически копроцесор, които идват с FreeBSD не са много прецизни. Ако не разполагате с математически копроцесор, но се нуждаете от голяма точност, ви се препоръчва да промените тази опция на GPL_MATH_EMULATE, за да използвате GNU поддръжката за математически пресмятания, която не е включена по подразбиране поради лицензни причини.

Във FreeBSD 5.X математическата емулация е спряна по подразбиране, тъй като по-старите процесори без вградена поддръжка за работа с числа с плаваща запетая са рядкост и често не се поддържат от GENERIC ядрото без добавяне на допълнителни опции.

options          INET          #InterNETworking

Поддръжка за работа в мрежова среда. Оставете тази опция, дори и да не планувате мрежова свързаност. Повечето програми изискват поне loopback свързаност (т.е., осъществяване на мрежова връзка в рамките на вашия компютър), така че това е задължително.

options          INET6          #IPv6 communications protocols

Тази опция позволява използването на IPv6 комуникационни протоколи.

options          FFS          #Berkeley Fast Filesystem
options          FFS_ROOT     #FFS usable as root device [keep this!]

Това е основната файлова система за твърди дискове. Оставете тази опция, ако зареждате от твърд диск.

Note: Във FreeBSD 5.X, FFS_ROOT вече не е нужна.

options          UFS_ACL      #Support for access control lists

Тази опция, налична само в FreeBSD 5.X, включва поддръжката в ядрото на списъци за контрол над достъпа. Тя разчита на използването на разширени атрибути и UFS2. Характеристиките й са описани детайлно в Section 10.13. ACLs са пуснати по подразбиране и не трябва да се премахват от ядрото, ако са били използвани преди това на файлова система, тъй като това ще премахне списъците за контрол над достъпа и ще промени защитата на файловете по непредвидими начини.

options          UFS_DIRHASH  #Improve performance on big directories

Тази опция включва функционалност, ускоряваща дисковите операции над големи директории, за сметка на използване на допълнителна памет. Обикновено ще запазите тази опция за голям сървър или интерактивна работна станция и ще я премахнете, ако използвате FreeBSD в по-малка система, като например защитна стена (firewall), където паметта e ценна и скоростта на достъп до дисковите устройства е по-маловажна.

options          SOFTUPDATES  #Enable FFS Soft Updates support

Тази опция включва поддръжката за Soft Updates в ядрото. Тя ще помогне за по-бърз достъп за писане по диска. Дори тази функционалност да се предлага от ядрото, тя трябва да бъде включена за определени дискове. Проверете изхода от mount(8), за да видите дали Soft Updates е пуснат за дисковете във вашата система. Ако не видите опцията soft-updates, ще трябва да я активирате чрез командите tunefs(8) (за съществуващи файлови системи) или newfs(8) (за нови файлови системи).

options          MFS          #Memory Filesystem
options          MD_ROOT      #MD is a potential root device

Това е файлова система съхранявана в паметта. В основата си това е RAM диск използван за бързо съхраняване на временни файлове, което е полезно ако имате голямо swap пространство от което искате да се възползвате. Перфектна точка за монтиране на MFS дял е директория /tmp, тъй като множество програми съхраняват там временно данни. За да монтирате MFS RAM диск в /tmp, добавете следния ред към /etc/fstab:

/dev/ad1s2b    /tmp mfs rw 0 0

Следва или да презаредите системата, или да изпълните командата mount /tmp.

Note: Във FreeBSD 5.X, вместо MFS файлови системи, се използват UFS-базирани md(4) файлови системи. Информация относно конфигурирането на базирани на паметта файлови системи можете да намерите в помощните страници на mdconfig(8) и mdmfs(8), както и в Section 12.10. Като резултат, вече няма поддръжка за опцията MFS.

options          NFS          #Network Filesystem
options          NFS_ROOT     #NFS usable as root device, NFS required

Мрежова файлова система. Можете да коментирате тези опции, освен ако не планувате да монтирате дялове от UNIX® файлов сървър по TCP/IP.

options          MSDOSFS      #MSDOS Filesystem

MS-DOS® файлова система. Можете да коментирате тази опция, освен ако не планувате да монтирате DOS форматиран дял при зареждане на системата. Функционалността ще бъде автоматично заредена при първия опит за монтиране на DOS дял. Също така, отличните mtools инструменти (в портс колекцията) ви позволяват достъп до DOS флопи дискове без да трябва да ги монтирате (и не се нуждаят от MSDOSFS).

options          CD9660       #ISO 9660 Filesystem
options          CD9660_ROOT  #CD-ROM usable as root, CD9660 required

ISO 9660 файлова система за CDROM устройства. Коментирайте опцията, ако нямате CDROM устройство или рядко монтирате компакт-дискове (тъй като модулът ще бъде зареден динамично при първия опит за монтиране на CD с данни). Аудио компакт-дискове не се нуждаят от тази файлова система.

options          PROCFS       #Process filesystem

Файлова система за процеси. Това е ``изкуствена'' файлова система монтирана в /proc, която позволява на програми като ps(1) да дават повече информация относно съществуващите процеси в системата. Във FreeBSD 5.X използването на PROCFS не е нужно в повечето случаи, тъй като почти всички инструменти за дебъгване (debugging) и мониторинг (monitoring) бяха адаптирани да функционират без наличието на PROCFS. Освен това, ядрата от серията 5.X-CURRENT, които използват PROCFS трябва също да включат поддръжка за PSEUDOFS:

options          PSEUDOFS     #Pseudo-filesystem framework

PSEUDOFS не е налична във FreeBSD 4.X. За разлика от FreeBSD 4.X, нови инсталации на FreeBSD 5.X няма да монтират файловата система за процеси по подразбиране.

options          COMPAT_43    #Compatible with BSD 4.3 [KEEP THIS!]

Обратна съвместимост с 4.3BSD. Оставете тази опция активна; някои програми ще се държат странно, ако я коментирате.

options          COMPAT_FREEBSD4     #Compatible with FreeBSD4

Тази опция се изисква при FreeBSD 5.X i386™ и Alpha системи, заради поддръжката на приложения, компилирани под по-стари версии на FreeBSD, които използват по-стар интерфейс за системните повиквания. Препоръчва се тази опция да се използва на всички i386 и Alpha системи, които може да изпълняват по-стари приложения. Платформи, които са били добавени към поддържаните архитектури в 5.X, като ia64 and Sparc64®, нямат нужда от тази опция.

options          SCSI_DELAY=15000    #Delay (in ms) before probing SCSI

Тази опция кара ядрото да направи пауза от 15 секунди преди да пробва всяко SCSI устройство в системата ви. Ако имате само IDE твърди дискове, може да игнорирате това, в противен случай може би ще искате да намалите паузата до може би 5 секунди, за да ускорите зареждането. Разбира се, ако направите това, и FreeBSD има проблеми с разпознаването на SCSI устройствата ви, ще трябва да увеличите отново стойността.

options          UCONSOLE            #Allow users to grab the console

Позволява на потребителите да прихващат конзолата, което е удобно за X потребители. Например, можете да стартирате конзолен xterm като изпълните xterm -C. Той ще прихваща и изобразява всички write(1), talk(1) и каквито и да е други съобщения, които получавате, както и всички конзолни съобщения изпращани от ядрото.

Note: Във FreeBSD 5.X не се нуждаете повече от UCONSOLE.

options          USERCONFIG          #boot -c editor

Тази опция ви позволява да заредите конфигурационния редактор от менюто за зареждане.

options          VISUAL_USERCONFIG   #visual boot -c editor

Тази опция ви позволява да заредите конфигурационния редактор от менюто за зареждане.

Note: От FreeBSD версия 5.0 и по-нови, опцията USERCONFIG е заместена от новия device.hints(5) метод. За повече информация относно device.hints(5) моля вижте Section 7.5.

options          KTRACE              #ktrace(1) support

Тази опция прави възможно трасиране на процеси от ядрото, което е полезно при дебъгване (debugging).

options          SYSVSHM             #SYSV-style shared memory

Тази опция позволява използването на System V споделена памет (shared memory). Най-често бива използвано от XSHM разширението на X. Много програми, вършещи интензивна графична работа ще се възползват автоматично от него, за да постигнат по-добра скорост. Ако използвате X, със сигурност ще искате да включите тази опция.

options          SYSVSEM             #SYSV-style semaphores

Поддръжка за System V семафори. По-рядко се използва, но добавя само няколкостотин байта към големината на ядрото.

options          SYSVMSG             #SYSV-style message queues

Поддръжка за System V съобщения (messages). Отново, само няколкостотин байта към големината на ядрото.

Note: Командата ipcs(1) ще изведе списък с процесите използващи всяка от System V услугите.

options    P1003_1B        #Posix P1003_1B real-time extensions
options     _KPOSIX_PRIORITY_SCHEDULING

Реално-времеви разширения (extensions) добавени от 1993 POSIX®. Определени приложения от портс колекцията ги използват (например StarOffice).

Note: Във FreeBSD 5.X, цялата тази функционалност се предлага от опцията _KPOSIX_PRIORITY_SCHEDULING и повече няма нужда от P1003_1B.

options        ICMP_BANDLIM        #Rate limit bad replies

Тази опция позволява ограничаване на скоростта на отговаряне с грешка на ICMP пакети. Обикновено ще оставите тази опция включена, тъй като тя ви помага да защитите машината от DOS (denial of service) пакетни атаки.

Note: Във FreeBSD 5.X тази възможност е пусната по подразбиране и опция ICMP_BANDLIM не е нужна.

# To make an SMP kernel, the next two are needed
#options        SMP                     # Symmetric MultiProcessor Kernel
#options        APIC_IO                 # Symmetric (APIC) I/O

Горните две опции са нужни за поддръжка на SMP.

device          isa

Всички компютри поддържани от FreeBSD имат една от тези шини. Ако имате IBM PS/2 (Micro Channel Architecture), в момента FreeBSD предлага ограничена поддръжка. За повече информация относно MCA поддръжка, вижте /usr/src/sys/i386/conf/LINT.

device          eisa

Включете тази опция, ако имате EISA дънна платка. Това позволява автоматично откриване и конфигуриране на всички устройства на EISA шината.

device          pci

Включете тази опция, ако имате PCI дънна платка. Това позволява автоматично откриване на PCI карти и посредничество между PCI и ISA шини.

device          agp

Включете тази опция, ако имате AGP карта в системата си. Това прави възможна поддръжката за AGP и AGP GART за дънни платки, които ги имат.

# Floppy drives
device          fdc0        at isa? port IO_FD1 irq 6 drq 2
device          fd0         at fdc0 drive 0
device          fd1         at fdc0 drive 1

Това е контролерът за флопи-дисковото устройство. fd0 е устройство A:, а fd1 е устройство B:.

device          ata

Този драйвер поддържа всички ATA и ATAPI устройства. Ще имате нужда от един device ata ред, за да може ядрото да засече всички PCI ATA/ATAPI устройства.

device          atadisk                 # ATA disk drives

Тази опция е нужна заедно с device ata за поддръжка на ATA дискови устройства.


device          atapicd                 # ATAPI CDROM drives

Тази опция е нужна заедно с device ata за поддръжка на ATAPI CDROM устройства.

device          atapifd                 # ATAPI floppy drives

Тази опция е нужна заедно с device ata за ATAPI флопи-дискови устройства.

device          atapist                 # ATAPI tape drives

Тази опция е нужна заедно с device ata за ATAPI касетни устройства.

options         ATA_STATIC_ID           #Static device numbering

Тази опция прави номерирането на контролерите статично (като стария драйвер), иначе номерата на устройствата (device numbers) ще бъдат заделени (allocated) динамично.

# ATA and ATAPI devices
device          ata0        at isa? port IO_WD1 irq 14
device          ata1        at isa? port IO_WD2 irq 15

Използвайте горната опция за стари, не-PCI системи.

# SCSI Controllers
device          ahb        # EISA AHA1742 family
device          ahc        # AHA2940 and onboard AIC7xxx devices
device          amd        # AMD 53C974 (Teckram DC-390(T))
device          dpt        # DPT Smartcache - See LINT for options!
device          isp        # Qlogic family
device          ncr        # NCR/Symbios Logic
device          sym        # NCR/Symbios Logic (newer chipsets)

device          adv0       at isa?
device          adw
device          bt0        at isa?
device          aha0       at isa?
device          aic0       at isa?

SCSI контролери. Коментирайте всички контролери, които нямате в системата си. Ако имате IDE система, може да премахнете всичките.

# SCSI peripherals
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)

SCSI периферия. Отново, коментирайте тези, които нямате, или ако имате само IDE хардуер, можете да премахнете всички.

# RAID controllers
device          ida        # Compaq Smart RAID
device          amr        # AMI MegaRAID
device          mlx        # Mylex DAC960 family

Поддръжка за RAID контролери. Ако нямате нито един от тези, можете да ги коментирате или премахнете напълно.

# atkbdc0 controls both the keyboard and the PS/2 mouse
device          atkbdc0    at isa? port IO_KBD

Контролерът за клавиатурата (atkbdc) предлага I/O услуги за AT клавиатури и PS/2 устройства за посочване (pointing devices). Този контролер се изисква от драйвера за клавиатурата (atkbd) и от драйвера за PS/2 устройства за посочване (psm).

device          atkbd0     at atkbdc? irq 1

Драйверът atkbd, заедно с контролера atkbdc, предоставя достъп до AT 84 клавиатура или до AT enhanced клавиатура, която е свързана с AT контролера за клавиатури.

device          psm0       at atkbdc? irq 12

Използвайте това устройства, ако мишката ви се включва към PS/2 порта за мишки.

device          vga0        at isa?

Драйверът за видео картата.

# splash screen/screen saver
pseudo-device          splash

Splash screen при зареждане. Screen savers също имат нужда от него.

# syscons is the default console driver, resembling an SCO console
device          sc0          at isa?

sc0 е конзолния драйвер по подразбиране и наподобява SCO конзола. Тъй като повечето програми заемащи целия екран (full-screen) работят с конзолата чрез база данни за терминали като termcap, не би трябвало да има значение дали използвате този драйвер или vt0, VT220 съвместимия конзолен драйвер. Когато влезете в системата, задавате на променливата TERM стойност scoansi, ако програмите използващи целия екран имат проблем при изпълнението си под тази конзола.

# 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

Това е VT220-съвместим конзолен драйвер, обратно съвместим с VT100/102. Работи добре на някои лаптопи, които имат хардуерна несъвместимост с sc0. Също така задайте на променливата TERM стойност vt100 или vt220 когато влезете в системата. Този драйвер може също да е полезен когато се свързвате с голям брой различни машини по мрежата, където данните в termcap или terminfo за устройство sc0 често не са на разположение -- vt100 би трябвало да е наличен на почти всяка платформа.

# Power management support (see LINT for more options)
device          apm0     at nexus? disable flags 0x20  # Advanced Power Management

Поддръжка за Advanced Power Management. Удобно за лаптопи.

# PCCARD (PCMCIA) support
device          card
device          pcic0    at isa? irq 10 port 0x3e0 iomem 0xd0000
device          pcic1    at isa? irq 11 port 0x3e2 iomem 0xd4000 disable

Поддръжка за PCMCIA. Ако използвате лаптоп, тази опция ви трябва.

# Serial (COM) ports
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

Това са четирите серийни порта с имена от COM1 до COM4 в MS-DOS/Windows® света.

Note: Ако имате вграден модем на COM4 и сериен порт на COM2, ще трябва да промените IRQ номера на модема на 2 (заради неопределени технически причини IRQ2 = IRQ 9), за да го използвате във FreeBSD. Ако имате многопортова серийна карта проверете помощната страница за sio(4) за повече информация относно правилните стойности за тези линии. Някои видео карти (най-вече тези базирани на S3 чипове) използват I/O адреси под формата 0x*2e8, и тъй като много евтини серийни карти не декодират напълно 16-битовото I/O адресно място, те се сблъскват с тези карти правейки COM4 порта на практика неизползваем.

Всеки сериен порт трябва да има уникален IRQ номер (освен ако не използвате една от многопортовите карти, където споделени прекъсвания се поддържат), така че IRQ номерата за COM3 и COM4 портове не могат да бъдат използвани.

# Parallel port
device          ppc0    at isa? irq 7

Това е интерфейсът за паралелния порт на ISA шина.

device          ppbus      # Parallel port bus (required)

Предоставя поддръжка за шина за паралелен порт.

device          lpt        # Printer

Поддръжка за свързване на принтери с паралелен порт.

Note: Всичките три по-горни опции са нужни, за да пуснете поддръжка за принтер с паралелен порт.

device          plip       # TCP/IP over parallel

Това е драйверът за паралелен мрежов интерфейс.

device          ppi        # Parallel port interface device

Универсален I/O (``geek port'') + IEEE1284 I/O.

#device         vpo        # Requires scbus and da

Това е драйверът за Iomega Zip устройства. Той изисква поддръжка за scbus и da. Най-добра производителност се постига с портове в EPP 1.9 режим.

# PCI Ethernet NICs.
device          de         # DEC/Intel DC21x4x (``Tulip'')
device          fxp        # Intel EtherExpress PRO/100B (82557, 82558)
device          tx         # SMC 9432TX (83c170 ``EPIC'')
device          vx         # 3Com 3c590, 3c595 (``Vortex'')
device          wx         # Intel Gigabit Ethernet Card (``Wiseman'')

Драйвери за разнообразни PCI мрежови карти. Коментирайте или премахнете тези, които нямате в системата си.

# PCI Ethernet NICs that use the common MII bus controller code.
device          miibus     # MII bus support

Поддръжка за MII bus се изисква от някои PCI 10/100 Ethernet NICs, и по-точно от тези, които използват MII-съобразяващи се трансийвъри (transceivers) или имплементират трансийвърни контролни интерфейси, които оперират като MII. Добавянето на device miibus към ядрото предизвиква и добавянето на поддръжка за универсалния miibus API, както и всички PHY драйвери, включително един универсален за PHYs, които не се поддържат изрично от индивидуален драйвер.

device          dc         # DEC/Intel 21143 and various workalikes
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          vr         # VIA Rhine, Rhine II
device          wb         # Winbond W89C840F
device          xl         # 3Com 3c90x (``Boomerang'', ``Cyclone'')

Драйвери, които използват MII bus controller код.

# ISA Ethernet NICs.
device          ed0    at isa? port 0x280 irq 10 iomem 0xd8000
device          ex
device          ep
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attachment needed
# and resources will always be dynamically assigned by the pccard code.
device          wi
# Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will
# work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP
# mode (the factory default). If you set the switches on your ISA
# card for a manually chosen I/O address and IRQ, you must specify
# those parameters here.
device          an
# 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          fe0    at isa? port 0x300
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
# requires PCCARD (PCMCIA) support to be activated
#device         xe0    at isa?

ISA Ethernet драйвери. Вижте /usr/src/sys/i386/conf/LINT за да разберете коя карта от кой драйвер се поддържа.

pseudo-device   ether         # Ethernet support

ether е нужен само ако имате Ethernet карта. Той включва универсален код за протокола Ethernet.

pseudo-device   sl      1     # Kernel SLIP

sl предоставя поддръжка за SLIP. Това е почти напълно изместено от PPP, който е по-лесен за настройка, по-добре пригоден за връзка модем-модем, както и по-мощен. Числото след sl указва колко едновременни SLIP сесии се поддържат.

pseudo-device   ppp     1     # Kernel PPP

PPP поддръжка в ядрото за dial-up връзки. Съществува и PPP имплементация като userland приложение, което използва tun и предлага по-голяма гъвкавост и повече опции, като например "избиране при нужда" (demand dialing). Числото след ppp указва колко едновременни PPP връзки се поддръжат.

pseudo-device   tun           # Packet tunnel.

Това псевдо-устройство се използва от userland PPP софтуера. Числото след tun указва броят едновременни PPP сесии, които се поддържат. Вижте PPP частта от Наръчника за повече информация.


pseudo-device   pty           # Pseudo-ttys (telnet etc)

Това е ``псевдо-терминал'' или симулиран порт за влизане в системата (simulated login port). Той се използва от входящи telnet и rlogin сесии, xterm и някои други приложения като Emacs. Числото след pty указва броят ptys, които да бъдат създадени. Ако имате нужда от повече от подразбиращите се 16 едновременни xterm прозореца и/или отдалечени влизания (remote logins), увеличете броят съобразно с нуждите си, до максималните 256.

pseudo-device   md            # Memory ``disks''

Псевдо-устройство за диск в паметта (memory disk).

pseudo-device   gif

или

pseudo-device   gif     4     # IPv6 and IPv4 tunneling

Това имплементира IPv6 върху IPv4 тунелиране, IPv4 върху IPv6 тунелиране, IPv4 върху IPv4 тунелиране и IPv6 върху IPv6 тунелиране. Започвайки от FreeBSD 4.4, устройството gif се ``клонира автоматично (auto-cloning)'' и трябва да използвате първия пример (без число след gif). По-ранни версии на FreeBSD изискват числото.

pseudo-device   faith   1     # IPv6-to-IPv4 relaying (translation)

Това псевдо-устройство прихваща пакети, които се изпращат към него и ги препраща към IPv4/IPv6 превеждащия фонов процес (daemon).

# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device   bpf           # Berkeley packet filter

Това е Berkeley Packet Filter. Това псевдо-устройство позволява мрежови интерфейси да бъдат поставяни в смесен режим (promiscuous mode), прихващайки всеки пакет в броудкаст мрежа (например Ethernet). Тези пакети могат да бъдат записвани на твърд диск или разглеждани с програмата tcpdump(1).

Note: Устройството bpf pseudo-device също се използва от dhclient(8), за да получи IP адресът на шлюзът по подразбиране (default router/gateway) и т.н.. Ако използвате DHCP, оставете тази опция некоментирана.

# USB support
#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
# USB Ethernet, requires mii
#device         aue           # ADMtek USB ethernet
#device         cue           # CATC USB ethernet
#device         kue           # Kawasaki LSI USB ethernet

Поддръжка за разнообразни USB устройства.

За повече информация и допълнителни устройства поддържани от FreeBSD, вижте /usr/src/sys/i386/conf/LINT.

9.4.1. Конфигурации на системи с много памет (PAE)

Машини с много оперативна памет имат нужда от достъп до повече от лимита от 4 гигабайта на User+Kernel виртуално адресно пространство (Kernel Virtual Address space--KVA). Заради това ограничение, Intel добави поддръжка за достъп до 36-битови физическо адресно пространство в Pentium Pro и по-късните семейства от процесори.

Physical Address Extension (PAE) възможностите на Intel® Pentium Pro и по-нови процесори позволява конфигурации на паметта до 64 гигабайта. FreeBSD предоставя поддръжка за тези възможности чрез опцията PAE на ядрото, налична в 4.X сериите на FreeBSD като се започне от 4.9-RELEASE, и в 5.X сериите на FreeBSD като се започне от 5.1-RELEASE. Заради ограничения на архитектурата на паметта на Intel, не се прави разлика между памет под и над 4 гигабайта. Памет заделена над 4 гигабайта бива просто добавена към хранилището (pool) на наличната памет.

За да включите поддръжка за PAE в ядрото, просто добавете следния ред към конфигурационния файл на ядрото:

options            PAE

Note: Поддръжката за PAE във FreeBSD е възможна само за Intel IA-32 процесори. Заслужава си да се отбележи и това, че поддръжката за PAE във FreeBSD не е била подложена на голямо тестване и би трябвало да се счита за бета качество в сравнение с други стабилни системи във FreeBSD.

Поддръжката за PAE във FreeBSD има няколко ограничения:

Поради опасения отнасящи се до производителността и стабилността, е благоразумно да се консултирате с помощната страница tuning(7). Помощната страница на pae(4) съдържа актуална информация относно поддръжката на PAE във FreeBSD.

Notes

[1]

Алгоритъмът за автоматично нагласяне задава за стойност на maxuser количеството налична оперативна памет, като минимумът е 32, а максимумът 384.

Този и други документи можете да намерите в ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

За въпроси относно FreeBSD, прочетете документацията преди да попитате в <questions@FreeBSD.org>.
За въпроси относно този документ, e-mail <doc@FreeBSD.org>.