Основният формат, използван от конфигурационния файл е доста прост. Всеки ред съдържа ключова дума и един или повече аргумента. За по-голяма прегледност, повечето редове съдържат само един аргумент. Всичко, написано след # се счита за коментар и се игнорира. Следващата част обяснява всяка ключова дума в реда, в който се срещат във файла 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 процесор:
Инсталирайте по-стара FreeBSD версия и изградете системата от изходния код, както е описано в Section 9.3.
Изградете потребителските програми и ядрото на нова машина и инсталирайте на 386 машината като използвате прекомпилираните файлове от /usr/obj (виж Section 21.5 за подробности).
Направете си собствен FreeBSD release, който включва поддръжка за I386_CPU в ядрото на инсталационния CD-ROM.
Първата от тези възможности е вероятно най-лесната, но ще имате нужда от доста дисково пространство на машина от 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:
Следва или да презаредите системата, или да изпълните командата 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.
Машини с много оперативна памет имат нужда от достъп до повече от лимита от 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 има няколко ограничения:
Един процес няма достъп до повече от 4 гигабайта виртуална памет.
KLD модули не могат да бъдат зареждани в ядро с PAE поддръжка, поради разлики в начина на изграждане на модулите и на ядрото.
Драйвери за устройства, които не използват bus_dma(9) интерфейса, че причиняват загуба на данни в ядро с PAE поддръжка и използването им не се препоръчва. Поради тази причина, в FreeBSD 5.X се предоставя конфигурационен файл за ядро с поддръжка за PAE, който изключва всички драйвери, за които се знае, че не функционират правилно в ядро с поддръжка за PAE.
Някои настройки (tunables) определят използването на ресурсите на паметта според наличната физическа памет. Такива настройки могат ненужно да заделят повече от нужните ресурси, заради наличието на много памет в PAE системи. Един такъв пример е sysctl kern.maxvnodes, който контролира максималния брой vnodes, които е позволено ядрото да задели. Препоръчва се да се зададе разумна стойност на тази променлива.
Може да се наложи да увеличите виртуалното адресно пространство (KVA) на ядрото или да намалите количеството специфичен за ядрото ресурс, за да избегнете изтощаване на KVA. Опцията KVA_PAGES може да бъде използвана, за да се увеличи виртуалното адресно пространство на ядрото.
Поради опасения отнасящи се до производителността и стабилността, е благоразумно да се консултирате с помощната страница tuning(7). Помощната страница на pae(4) съдържа актуална информация относно поддръжката на PAE във FreeBSD.
| [1] |
Алгоритъмът за автоматично нагласяне задава за стойност на maxuser количеството налична оперативна памет, като минимумът е 32, а максимумът 384. |
Този и други документи можете да намерите в ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
За въпроси относно FreeBSD, прочетете документацията преди да попитате в <questions@FreeBSD.org>.
За въпроси относно този документ, e-mail <doc@FreeBSD.org>.