Жим
Мок
Шинэчилж дахин бүтцийг өөрчилсөн
Жэйк
Хэмби
Анхлан хувь нэмэр болгож оруулсан
Цагаанхүүгийн
Ганболд
Орчуулсан
FreeBSD цөмийг тохируулах нь
Ерөнхий агуулга
цөм
өөрчлөн тохируулж цөм бүтээх нь
Цөм нь &os; үйлдлийн системийн гол зүрх юм. Энэ нь санах ойг удирдах,
аюулгүй байдлын хяналтуудыг хийх, сүлжээнд холбогдох, диск уруу хандах
зэрэг олон үйлдлүүдийг хариуцан хийдэг. &os; улам илүү динамикаар тохируулагдах
болсон боловч зарим тохиолдолд цөмийг дахин тохируулж хөрвүүлэх шаардлага гардаг.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
Та магадгүй яагаад өөрт тохируулсан цөм бүтээх хэрэгтэй талаар.
Цөмийн тохиргооны файлыг хэрхэн бичих эсвэл байгаа тохиргооны файлыг
хэрхэн өөрчлөх талаар.
Цөмийн тохиргооны файлыг хэрхэн ашиглаж шинэ цөм үүсгэж бүтээх талаар.
Шинэ цөмийг хэрхэн суулгах талаар.
Хэрэв юм буруугаар эргэвэл хэрхэн алдааг олох талаар.
Энэхүү бүлгийн жишээнүүд дэх тушаалууд нь амжилттай болохын тулд
root эрхээр ажиллах ёстой.
Яагаад өөрчлөн тохируулсан цөм бүтээх хэрэгтэй вэ?
Уламжлалаар бол &os; нь monolithic
цөмтэй байсан байна.
Энэ нь цөм тоотой хэдэн төхөөрөмжүүдийн жагсаалтыг дэмжсэн нэг том програм
байсан гэсэн үг бөгөөд хэрэв та цөмийн ажиллагааг өөрчлөх бол шинэ цөм хөрвүүлж
дараа нь компьютераа шинэ цөмөөр ачаалан эхлүүлэх шаардлагатай байсан билээ.
Өнөөдөр &os; нь цөмийн ихэнх ажиллагаагаа шаардлагын дагуу динамикаар ачаалдаг
ба цөмөөс буцааж буулгах боломж бүхий модулиудаар тусгаарлагдсан загвар уруу шилжиж
байна. Энэ нь цөм шинэ тоног төхөөрөмжид (зөөврийн компьютер дэх PCMCIA
картууд зэрэг) дасан зохицож түүнийг хурдан хүртээмжтэй болгох, эсвэл цөм анх
хөрвүүлэгдэхдээ цөмд хэрэггүй байсан шинэ ажиллагааг цөмд бий болгох боломжийг
бүрдүүлдэг. Үүнийг модульчлагдсан цөм хэмээдэг юм.
Тэгсэн ч гэсэн зарим статик цөмийн тохиргоог заавал хийх шаардлагатай. Зарим
тохиолдолд ажиллагаа нь цөмтэй нягт холбоотой учраас динамикаар ачаалахаар хийх
боломжгүй байдаг юм. Бас энэ нь энгийнээр бол тэр үйл ажиллагаанд зориулж динамикаар
ачаалах модулийг бичих цаг хэнд ч олдоогүй байж болох юм.
Өөрчлөн тохируулсан цөм бүтээх нь BSD дэвшилтэт хэрэглэгчдийн хувьд хамгийн чухал
ажиллагаануудын нэг юм. Энэ процесс нь цаг их зарцуулах боловч таны &os; системд
олон ашиг өгөх болно.Өргөн хүрээний тоног төхөөрөмжүүдийг дэмжих ёстой
GENERIC цөмтэй харьцуулахад өөрчлөн тохируулсан цөм нь
зөвхөн таны PC-ний тоног төхөөрөмжүүдийг дэмждэг. Энэ нь дараах хэд хэдэн ашигтай:
Хурдан ачаалах хугацаа. Цөм нь таны систем дэх тоног төхөөрөмжүүдийг зөвхөн
шалгах учраас системийг ачаалах хугацаа мэдэгдэхүйц багасдаг.
Санах ойн ашиглалт багасна. Өөрчлөн тохируулсан цөм нь
ашиглагдахгүй байгаа боломжууд болон төхөөрөмжийн драйверуудыг
орхигдуулснаар ихэнхдээ GENERIC цөмөөс бага санах ойг
ашигладаг. Цөмийн код нь бусад програмуудад санах ойг ашиглах боломжгүй
болгож санах ойд үргэлж байрлаж байдаг учир энэ нь маш чухал юм.
Ийм учраас өөрчилсөн цөм нь бага хэмжээний RAM-тай систем
дээр ялангуяа ашигтай байдаг.
Нэмэлт тоног төхөөрөмжийн дэмжлэг. Дууны картууд зэрэг
GENERIC цөмд байхгүй төхөөрөмжүүдийн дэмжлэгийг
нэмэх боломжийг танд өөрчлөн тохируулсан цөм олгоно.
Том
Рөүдс
Бичсэн
Системийн тоног төхөөрөмж хайж олох нь
Цөмийн тохиргоо уруу орж үзээд алдахаасаа өмнө машиныхаа
тоног төхөөрөмжийн бүртгэлийг олж авах нь ухаалаг явдал юм.
&os; нь үндсэн үйлдлийн систем биш тохиолдолд байгаа үйлдлийн
системийн тохиргоог харан бүртгэлийн жагсаалтыг хялбархан
үүсгэж болно. Жишээ нь µsoft;-ийн
Device Manager буюу төхөөрөмжийн
менежер нь суулгагдсан төхөөрөмжүүдийн талаарх чухал
мэдээллийг ихэвчлэн агуулдаг.
Device Manager нь control panel
буюу хяналтын самбарт байрладаг.
µsoft.windows;-ийн зарим хувилбаруудад
System гэсэн дүрс байдаг бөгөөд
энэ нь Device Manager уруу хандах
боломжтой дэлгэцийг харуулдаг.
Хэрэв өөр үйлдлийн систем машин дээр байхгүй бол
администратор энэ мэдээллийг өөрөө олох хэрэгтэй болно.
Нэг арга нь &man.dmesg.8; хэрэгсэл болон &man.man.1;
тушаалуудыг ашиглах явдал юм. &os; дээр ихэнх төхөөрөмжийн
драйверууд нь дэмжигдсэн тоног төхөөрөмжүүдийн жагсаалтыг
харуулсан гарын авлагын хуудастай байдаг бөгөөд ачаалах үед
шалгаж байх явцад олдсон тоног төхөөрөмжийг харуулдаг.
Жишээ нь дараах мөрүүд нь psm
драйвер хулгана олсон гэдгийг харуулж байна:
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Generic PS/2 mouse, device ID 0
Энэ драйвер нь өөрчлөн тохируулах цөмийн тохиргооны
файлд орсон байх эсвэл &man.loader.conf.5; ашиглан ачаалагдсан
байх хэрэгтэй болно.
Зарим тохиолдолд dmesg-ээс гарч
байгаа өгөгдөл нь ачаалалтын шалгалт, илрүүлэлтийн гаралтыг
биш зөвхөн системийн мэдэгдлүүдийг үзүүлдэг. Эдгээр тохиолдлуудад
/var/run/dmesg.boot файлыг
үзэн гаралтыг олж авч болно.
Тоног төхөөрөмжийг олох өөр нэг арга бол илүү дэлгэрэнгүй
гаралтыг үзүүлдэг &man.pciconf.8; хэрэгслийг ашиглах явдал юм.
Жишээ нь:
ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
vendor = 'Atheros Communications Inc.'
device = 'AR5212 Atheros AR5212 802.11abg wireless'
class = network
subclass = ethernet
pciconf ашиглан
олж авсан энэ бяцхан мэдээлэл нь ath
драйвер утасгүй Ethernet төхөөрөмжийг олсныг харуулж байна.
man ath тушаалыг
ашиглавал &man.ath.4; гарын авлагын хуудсыг харуулах
болно.
Ашигтай мэлээлэл олж авахын тулд &man.man.1; уруу
тугийг өгөн ашиглаж болно. Дээрхээс
ингэж өгч болно:
&prompt.root; man -k Atheros
Тухайн нэг үг агуулсан гарын авлагын хуудсын жагсаалтыг
олж авахын тулд:
ath(4) - Atheros IEEE 802.11 wireless network driver
ath_hal(4) - Atheros Hardware Access Layer (HAL)
Тоног төхөөрөмжийн жагсаалтаар зэвсэглэснээр
цөмийг өөрчлөн тохируулж бүтээх процесс нь арай хялбар болно.
Цөмийн драйверууд, дэд системүүд, болон модулиуд
kernel
drivers / modules / subsystems
Өөрчлөн тохируулсан цөмийг бүтээхийн өмнө тэгж хийх шалтгаанаа
бодож үзэх хэрэгтэй. Хэрэв тусгайлсан тоног төхөөрөмжийн дэмжлэг хэрэгтэй
байгаа бол тэр нь модуль хэлбэрээр аль хэдийн байж байж болох юм.
Цөмийн модулиуд нь /boot/kernel
санд байх бөгөөд ажиллаж байгаа цөмд &man.kldload.8;-г ашиглан динамикаар
дуудаж болдог. Цөмийн бүх драйверуудын ихэнх нь тусгай модуль болон гарын
авлагын хуудастай байдаг. Жишээ нь сүүлийн хэсэг ath
гэсэн утасгүй Ethernet драйверийн талаар дурдсан байдаг.
Энэ төхөөрөмж нь өөрийн гарын авлагадаа дараах мэдээллийг агуулсан
байдаг:
Alternatively, to load the driver as a module at boot time, place the
following line in &man.loader.conf.5:
if_ath_load="YES"
Зааврын дагуу /boot/loader.conf файлд
if_ath_load="YES" мөрийг нэмснээр энэ модулийг
ачаалах үед динамикаар дуудах боломжийг идэвхжүүлнэ.
Гэхдээ зарим тохиолдолд холбоотой модуль байдаггүй. Энэ нь
зарим нэг дэд системүүд болон маш чухал драйверуудын хувьд бодит
бөгөөд жишээ нь fast file system (FFS) буюу
түргэн файлын систем нь цөмд заавал байх шаардлагатай тохируулга юм.
Мөн сүлжээний дэмжлэгийн (INET) хувьд ийм байна.
Харамсалтай нь драйвер шаардлагатай эсэхийг хэлэх цорын ганц зам нь
модулийг нь шалгах явдал юм.
Төхөөрөмж эсвэл тохируулгын цөмд цуг бүтээгдсэн дэмжлэгийг устгаж
эвдэрхий цөмтэй үлдэх нь их хялбар юм. Жишээ нь &man.ata.4;
драйверийг цөмийн тохиргооны файлаас авчих юм бол ATA
дискийн хөтөчүүд нь loader.conf-д тусгай мөр
нэмэлгүйгээр эхлэн ачаалахгүй байж болох юм. Хэрэв эргэлзэж байгаа
бол модулийг шалгаад дараа нь ердөө л дэмжлэгийг цөмд үлдээх
хэрэгтэй.
Өөрчлөн тохируулсан цөмийг бүтээх ба суулгах нь
цөм
бүтээх / суулгах
Эхлээд цөм бүтээх сангаар аялая. Дурдсан бүх сангуудаас гол нь
/usr/src/sys сан байх бөгөөд
/sys гэсэн замаар бас хандах боломжтой.
Энд байгаа хэд хэдэн дэд сангууд цөмийн өөр өөр хэсгүүдийг илэрхийлэх бөгөөд
бидний зорилгод хамгийн чухал нь таны өөрчлөн тохируулах цөмийн тохиргоог
засварлах arch/conf
сангууд болон таны цөм бүтээгдэх шатны талбар compile
сан юм. arch нь
i386, alpha,
amd64, ia64,
powerpc, sparc64, эсвэл
pc98 (Японд их ашиглагддаг PC тоног төхөөрөмжийн
өөр нэг хөгжүүлэлтийн салбар) зэргийг төлөөлдөг. Тухайн архитектурын сан доторх
код зөвхөн тэр архитектуртай холбоотой; бусад кодын хэсэг нь &os; порт хийгдэх
боломж бүхий бүх тавцангуудын хувьд адил машинаас чөлөөт код байна. Сангийн бүтцийн
логик зохион байгуулалт нь дэмжлэг хийгдсэн төхөөрөмж, файлын систем болон өөрийн дэд
санд байгаа тохируулга бүртэй хамт байгааг харж болно.
Энэ бүлэг жишээн дээр таныг i386 архитектур ашиглаж байгаа гэж авч үзнэ.
Хэрэв энэ нь таны хувьд өөр байх юм бол та өөрийн системийн архитектурын хувьд замуудын
нэрнүүддээ тохирох өөрчлөлтүүдийг хийгээрэй.
Хэрэв таны систем дээр /usr/src/sys сан
байхгүй бол цөмийн эх суугаагүй байна. Үүнийг хамгийн хялбар аргаар
хийхийн тулд root эрхээр sysinstall
ажиллуулж Configure сонгоод, дараа нь
Distributions сонгоод,
src сонгоод, дараа нь
base болон
sys-г сонгож татаж авна. Хэрэв та
sysinstall -д дургүй ба
албан ёсны
&os; CDROM-д хандах боломжтой бол
тушаалын мөрөөс эхийг бас суулгаж болно:
&prompt.root; mount /cdrom
&prompt.root; mkdir -p /usr/src/sys
&prompt.root; ln -s /usr/src/sys /sys
&prompt.root; cat /cdrom/src/ssys.[a-d]* | tar -xzvf -
&prompt.root; cat /cdrom/src/sbase.[a-d]* | tar -xzvf -
Дараа нь arch/conf
сан уруу шилжээд GENERIC тохиргооны файлыг та өөрийн цөмдөө өгөх
нэр уруу хуул. Жишээ нь:
&prompt.root; cd /usr/src/sys/i386/conf
&prompt.root; cp GENERIC MYKERNEL
Уламжлалаар бол энэ нэр нь бүгд том үсгээр байдаг, хэрэв та олон өөр өөр төрлийн &os;
машинуудын ажиллагааг хянадаг бол машинуудынхаа нэрээр нэрлэх нь зохимжтой юм.
Бид энэ жишээнийхээ зорилгоор MYKERNEL гэж нэрлэе.
Өөрийн цөмийн тохиргооны файлаа шууд /usr/src
доор хадгалах нь буруу байж болох юм. Хэрэв та асуудлуудтай тулгарч байгаа бол
/usr/src -ийг устгаад л дахиж эхлэх нь зоригтой
алхам байж болох юм. Гэхдээ үүнийг хийгээд хэдэн секундын дараа л та өөрийн
өөрчлөн тохируулсан цөмийн тохиргооны файлаа устгасан болохоо мэдэх болно.
Мөн GENERIC файлыг шууд засварлах хэрэггүй бөгөөд
дараагийн удаа өөрийн эх модыг шинэчлэх
үйлдлийг хийхэд дарагдан хуулагдаж таны цөмийн өөрчлөлт алдагдаж магадгүй.
Та цөмийн тохиргооны файлаа өөр газар хадгалж дараа нь
i386 сан дахь
файл уруу тэмдэгт холбоос үүсгэж болно.
Жишээ нь:
&prompt.root; cd /usr/src/sys/i386/conf
&prompt.root; mkdir /root/kernels
&prompt.root; cp GENERIC /root/kernels/MYKERNEL
&prompt.root; ln -s /root/kernels/MYKERNEL
Одоо MYKERNEL-ийг өөрийн дуртай текст засварлагч дээр
засаарай. Хэрэв та дөнгөж эхэлж байгаа бол байгаа цорын ганц засварлагч нь
vi байж болох бөгөөд түүнийг энд тайлбарлахад хэтэрхий
төвөгтэй боловч номын жагсаалтад
байгаа өөр олон номнуудад бичсэн байгаа. Гэхдээ &os; нь ee
гэдэг хялбар засварлагчийг санал болгодог бөгөөд хэрэв та эхлэн сурагч бол энэ нь
таны сонгох засварлагч байх болно. Өөрийн тохиргоог тусгах эсвэл GENERIC
файлаас өөрийн хийсэн өөрчлөлтүүдээс ялгахын тулд дээд хэсэгт байгаа мөрүүдийг
чөлөөтэй өөрчлөөрэй.
SunOS
Хэрэв та &sunos; эсвэл өөр BSD үйлдлийн системийн доор цөм бүтээж байсан бол
энэ файлын ихэнх хэсэг нь маш танил байх болно. Хэрэв та DOS зэрэг өөр үйлдлийн
системээс ирж байгаа бол нөгөө талаасаа GENERIC
тохиргооны файл төвөгтэй юм шиг санагдаж болох бөгөөд
Тохиргооны файл хэсгийн
тайлбаруудыг удаан нухацтай дагаарай.
Хэрэв та &os; төслийн хамгийн сүүлийн эхээр өөрийн эх модоо сүүлийн үеийн хэлбэрт авчирсан бол
шинэчлэх шатуудаа хэрэгжүүлж эхлэхээсээ өмнө /usr/src/UPDATING
файлыг үргэлж шалгаж байх нь чухал юм. Энэ файл нь шинэчилсэн эх код доторх тусгай
анхаарал шаардлагатай чухал асуудлууд эсвэл хэсгүүдийн талаар тайлбарладаг.
/usr/src/UPDATING нь үргэлж таны &os;
хувилбартай таардаг бөгөөд энэ гарын авлагаас илүү шинэ мэдээлэлтэй, сүүлийн үеийнх
байдаг.
Та цөмд зориулан эх кодоо хөрвүүлэх шаардлагатай.
Цөмийг бүтээх нь
/usr/src сан уруу орно:
&prompt.root; cd /usr/src
Цөмийг хөрвүүлнэ:
&prompt.root; make buildkernel KERNCONF=MYKERNEL
Шинэ цөмийг суулгана:
&prompt.root; make installkernel KERNCONF=MYKERNEL
Цөмийг бүтээхэд гүйцэд &os;-ийн эх мод байх шаардлагатай.
Анхдагчаар өөрчлөн тохируулсан цөмийг бүтээхэд бүх
цөмийн модулиуд бас бүтээгдэнэ. Хэрэв та цөмийг хурдан шинэчлэхийг
эсвэл зөвхөн өөрчлөн тохируулсан модулиудыг бүтээхийг хүсэж байгаа бол цөмийг бүтээж
эхлэхээсээ өмнө /etc/make.conf файлыг засварлах
хэрэгтэй:
MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs
Энэ хувьсагч нь бүгдийг биш бүтээх модулиудын жагсаалтыг тодорхойлдог.
WITHOUT_MODULES = linux acpi sound/sound sound/driver/ds1 ntfs
Энэ хувьсагч нь бүтээх процессод оруулахгүй байх модулиудын жагсаалтыг
тодорхойлдог. Цөмийг бүтээх процессийн явцад танд хэрэг болохуйц бусад
хувьсагчуудын тухайд &man.make.conf.5; гарын авлагын хуудсанд хандаж
үзнэ үү.
/boot/kernel.old
Шинэ цөм /boot/kernel санд
/boot/kernel/kernel нэрээр хуулагдах бөгөөд
хуучин цөм нь /boot/kernel.old/kernel уруу хуулагдана.
Одоо системийг унтраагаад шинэ цөмийг ашиглан дахин ачаал. Хэрэв ямар нэг юм болохгүй болбол
энэ бүлгийн төгсгөлд байгаа алдааг олж засварлах
заавар танд хэрэгтэй байж болох юм. Таны шинэ цөм ачаалахгүй тохиолдолд хэрхэн сэргээх
талаар тайлбарласан хэсгийг заавал уншаарай.
Ачаалах &man.loader.8; ба тохиргоо зэрэг ачаалах процесстой холбоотой бусад файлууд
/boot -д хадгалагдана. Гуравдагч этгээдийн
эсвэл өөрчлөн тохируулсан модулиуд /boot/kernel-д
байрлах бөгөөд гэхдээ модулиудыг хөрвүүлсэн цөмийн адил сүүлийн үеийн хэлбэрт байлгах нь маш чухал гэдгийг
хэрэглэгчид мэдэх шаардлагатай. Хөрвүүлсэн цөмтэй хамт ажиллуулахааргүй модулиуд нь
тогтворгүй байдал эсвэл буруу ажиллагаанд хүргэж болзошгүй юм.
Жоэл
Даль
&os; 6.X -д зориулан шинэчилсэн
Тохиргооны файл
цөм
ТЭМДЭГЛЭЛҮҮД
ТЭМДЭГЛЭЛҮҮД
цөм
тохиргооны файл
Тохиргооны файлын ерөнхий хэлбэр нь маш энгийн билээ.
Мөр болгон түлхүүр үг бөгөөд нэг болон хэд хэдэн нэмэлт өгөгдлөөс тогтоно.
Амархан болгох үүднээс ихэнх мөрүүд нь зөвхөн нэг нэмэлт өгөгдөлтэй байна.
# тэмдэгтийн ард байгаа зүйлс тайлбар бөгөөд
хаягдаж тооцогдоно. Дараах хэсэгт түлхүүр үг болгоныг GENERIC -д
жагсаасан дарааллаар нь тайлбарлаж байна.
Архитектураас хамааралтай
тохируулгууд болон төхөөрөмжийн ядраамаар жагсаалтын талаар
GENERIC файл байгаа сангийн нэгэн адил санд байрлах
NOTES файлаас үзнэ үү.
Архитектураас хамааралгүй тохируулгуудын талаар
/usr/src/sys/conf/NOTES файлаас үзнэ үү.
&os; 5.0-с эхлэн тохиргооны файлуудад ашиглах боломжтой
шинэ include тохируулга бий болсон. Энэ нь
өөр нэг тохиргооны файлыг тухайн тохиргооны файлд оруулах
боломжийг бүрдүүлэх бөгөөд ингэснээр тухайн файлын хувьд
харьцангуй бага өөрчлөлтүүдийг арчлах боломжтой болгодог.
Жишээ нь хэрэв танд цөөн тооны нэмэлт тохируулга эсвэл
драйверуудтай GENERIC цөм шаардлагатай бол
энэ нь GENERIC-ийн хувьд цөөн өөрчлөлтийг арчлах боломжийг
танд олгоно:
include GENERIC
ident MYKERNEL
options IPFIREWALL
options DUMMYNET
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT
Энэ загвар нь тохиргооны файлуудыг эхнээс нь бичих
уламжлалт аргын хажууд хамаагүй илүү боломжийг олгодог гэдэгтэй
ихэнх админинстраторууд санал нэг байдаг: локал тохиргооны
файл нь зөвхөн GENERIC цөмөөс ялгаатай
локал өөрчлөлтүүдийг харуулах бөгөөд шинэчлэлт хийгдэхэд
GENERIC-д нэмэгдсэн шинэ боломжууд нь
nooptions эсвэл nodevice тохируулгуудаар
тусгайлан заагдаагүй л бол локал цөмд нэмэгддэг. Энэ бүлгийн
үлдсэн хэсэг ердийн тохиргооны файлын агуулга ба төрөл бүрийн тохируулгын
үүрэг болон ажиллах төхөөрөмжүүдийг тайлбарлах болно.
Тест хийх зорилгоор ихэнхдээ бүх байгаа тохируулгууд агуулсан файлыг бүтээхдээ
дараах тушаалыг root эрхээр ажиллуулна:
&prompt.root; cd /usr/src/sys/i386/conf && make LINT
цөм
тохиргооны файл
Дараах жишээ нь шаардлагатай бол тодотгох зорилгоор оруулсан төрөл бүрийн нэмэлт тайлбар бүхий
GENERIC цөмийн тохиргооны файл юм. Энэ жишээ нь
таны /usr/src/sys/i386/conf/GENERIC
дахь хуулбартай их ойрхон таарах ёстой.
цөмийн тохируулгууд
machine
machine i386
Энэ нь машины архитектур юм. Энэ нь
alpha, amd64,
i386, ia64,
pc98, powerpc, эсвэл
sparc64 -ийн аль нэг байх ёстой.
цөмийн тохируулгууд
cpu
cpu I486_CPU
cpu I586_CPU
cpu I686_CPU
Дараах тохируулга нь таны системд байгаа CPU-ийн төрлийг заана.
Та олон CPU мөртэй байж болох боловч (хэрэв, жишээ нь та
I586_CPU эсвэл I686_CPU
хоёрын алийг ашиглахаа сайн мэдэхгүй байгаа бол) өөрчлөн тохируулсан
цөмийн хувьд зөвхөн байгаа CPU-гээ заах нь зүйтэй юм. Хэрэв та өөрийн
CPU-ийн төрлийг сайн мэдэхгүй байгаа бол /var/run/dmesg.boot
файлыг шалгаж ачаалах үеийн мэдээллүүдийг үзэж болно.
цөмийн тохируулгууд
ident
ident GENERIC
Энэ нь цөмийг тодорхойлох нэр юм. Хэрэв та
түрүүний жишээнүүдэд дурдсан заавруудыг дагасан бол өөрийн цөмийг нэрлэсэн
шигээ өөрөөр хэлбэл MYKERNEL хэмээн өөрчлөх
хэрэгтэй. ident мөрд оруулсан утга нь таныг цөмийг ачаалах
үед хэвлэгдэн гарах учир та өөрийн ердийн цөмөөс шинэ цөмөө тусад нь хадгалахыг хүсвэл
шинэ цөмдөө өөр нэр өгөх нь ашигтай байдаг (өөрөөр хэлбэл та туршилтын цөм бүтээхийг
хүсвэл).
#To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.
&man.device.hints.5; нь төхөөрөмжүүдийн драйверуудын тохируулгуудыг
хийхэд ашиглагдана. &man.loader.8;-ийн ачаалах үе шалгах анхдагч байрлал нь
/boot/device.hints байна.
hints тохируулгыг ашиглаад та эдгээр зөвлөгөөнүүдийг
статикаар хөрвүүлж болно. Тэгэхэд /boot дотор
device.hints файл үүсгэх шаардлагагүй
болох юм.
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
&os; -г бүтээх ердийн процесс нь дибаг (debug) хийх мэдээллийг агуулдаг
бөгөөд цөмийг бүтээх үед тохируулгыг &man.gcc.1;
уруу өгснөөр дибаг (debug) хийх мэдээлэл идэвхждэг.
options SCHED_4BSD # 4BSD scheduler
&os; -ийн уламжлалт, анхдагч системийн төлөвлөгч/хуваарилагч. Үүнийг үлдээ.
options PREEMPTION # Enable kernel thread preemption
Цөм дэх урсгалуудыг (thread) өөр илүү өндөр давуу эрхтэй урсгалуудаар
солих боломжийг бүрдүүлнэ. Энэ нь харилцан ажиллах болон таслах урсгалуудыг
(interrupt threads) хүлээлгэлгүйгээр аль болох түргэн ажиллуулахад тусалдаг.
options INET # InterNETworking
Сүлжээний дэмжлэг. Сүлжээнд холбогдохгүй ч гэсэн энэ тохиргоог үлдээгээрэй.
Ихэнх програмууд эргэн холбогдох (loopback буюу өөрөөр хэлбэл өөрийн PC
дотор сүлжээний холболт хийх) сүлжээг шаарддаг учир энэ нь үндсэндээ зайлшгүй
шаардлагатай.
options INET6 # IPv6 communications protocols
Энэ нь IPv6 холбооны протоколуудыг идэвхжүүлдэг.
options FFS # Berkeley Fast Filesystem
Энэ нь энгийн хатуу дискний файлын систем. Энэ тохируулгыг хатуу дискнээс
ачаалах бол үлдээгээрэй.
options SOFTUPDATES # Enable FFS Soft Updates support
Энэ тохируулга нь Зөөлөн Шинэчлэлүүдийг цөм идэвхжүүлдэг бөгөөд
диск уруу бичих хандалтыг хурдасгахад тусалдаг. Хэдийгээр энэ боломжийг
цөмөөр хангадаг боловч диск дээр идэвхжүүлэх шаардлагатай.
Таны системийн дискнүүд дээр Зөөлөн Шинэчлэлүүд идэвхжсэн эсэхийг
&man.mount.8; -ийн үр дүнгээр хянаарай. Хэрэв та soft-updates
тохируулгыг олж харахгүй байгаа бол &man.tunefs.8; (одоо байгаа системийн хувьд)
эсвэл &man.newfs.8; (шинэ файлын системийн хувьд) ашиглан идэвхжүүлэх хэрэгтэй.
options UFS_ACL # Support for access control lists
Энэ тохируулга нь хандалтыг хянах жагсаалтын дэмжлэгийг цөмд идэвхжүүлдэг.
Энэ нь өргөтгөсөн шинж чанарууд ба UFS2-ийг ашиглахад
тулгуурлаж байгаа бөгөөд энэ боломжийн талаар дээр
дэлгэрэнгүй тайлбарласан байдаг. ACL-үүд эхэндээ
идэвхжүүлсэн байдаг бөгөөд хэрэв урьд нь файлын систем дээр ашиглагдаж байсан
бол хандалтыг хянах жагсаалтыг устгаж файлуудыг хамгаалсан аргыг урьдчилан тааж
болшгүй байдалт хүргэдэг учир энэ тохируулгыг хааж болохгүй.
options UFS_DIRHASH # Improve performance on big directories
Энэ тохируулга нь нэмэгдэл санах ойг зарлагадаж том сангуудад хийх дискний
үйлдлүүдийг хурдасгах ажиллагааг оруулдаг. Та том сервер эсвэл харилцан ажиллах
ажлын станцад зориулж энэ тохируулгыг ерөнхийдөө хадгалах хэрэгтэй бөгөөд
хэрэв та &os;-г санах ой чухал жижиг систем ба дискний хандалтын хурдны ач
холбогдол багатай галт хана мэтийн систем дээр ашиглаж байгаа бол устгаарай.
options MD_ROOT # MD is a potential root device
Энэ тохируулга нь санах ой дээр тулгуурласан, root төхөөрөмж болж ашиглагдах
виртуал дискний дэмжлэгийг идэвхжүүлдэг.
цөмийн тохируулгууд
NFS
цөмийн тохируулгууд
NFS_ROOT
options NFSCLIENT # Network Filesystem Client
options NFSSERVER # Network Filesystem Server
options NFS_ROOT # NFS usable as /, requires NFSCLIENT
Сүлжээний файлын систем. Хэрэв та TCP/IP-аар &unix; файлын серверээс
хуваалтыг холболт хийх төлөвлөгөөгүй бол эдгээрийг тайлбар болгон хааж болно.
цөмийн тохируулгууд
MSDOSFS
options MSDOSFS # MSDOS Filesystem
&ms-dos; файлын систем. Хэрэв та DOS хэлбэржүүлсэн хатуу дискний хуваалтыг
ачаалах үед холболт хийх төлөвлөгөөгүй бол үүнийг айлгүйгээр тайлбар болгон хааж болно.
Энэ нь дээр тайлбарласны дагуу эхний удаа DOS хуваалтыг холболт хийхэд автоматаар ачаалагдах
болно. Мөн маш сайн emulators/mtools
програм хангамж нь холболт болон салгалт хийлгүйгээр DOS уян дискнүүдэд хандах боломжийг
бүрдүүлдэг (энэ нь MSDOSFS-ийг огт шаарддаггүй).
options CD9660 # ISO 9660 Filesystem
CDROM-уудад зориулсан ISO 9660 файлын систем. Хэрэв та CDROM хөтлөгч
байхгүй эсвэл CD-ээс өгөгдлийг хааяа холболт хийдэг бол (таныг анх өгөгдлийн CD-г
холболт хийх үед динамикаар ачаалагддаг учраас) тайлбар болгож хааж болно.
Дууны CD-үүд энэ файлын системийг хэрэглэдэггүй.
options PROCFS # Process filesystem (requires PSEUDOFS)
Процессийн файлын систем. Энэ нь &man.ps.1; шиг програмууд процессуудын
ажиллаж байгаа талаар дэлгэрэнгүй мэдээлэл танд өгөх боломжийг бүрдүүлдэг
/proc дээр холболт хийгдсэн хуурамч
файлын систем юм. Ихэнх дибаг хийх ба монитор хийх хэрэгслүүд
PROCFS -гүйгээр ажиллахаар хийгдсэн байдаг:
суулгалтууд нь энэ файлын системийг анхдагчаар холболт хийхгүй, тиймээс
PROCFS-ийг ашиглах нь ихэнх тохиолдолд
шаардлагагүй байдаг.
options PSEUDOFS # Pseudo-filesystem framework
6.X цөмүүд PROCFS ашиглаж байгаа бол бас
PSEUDOFS дэмжлэгийг оруулах шаардлагатай.
options GEOM_GPT # GUID Partition Tables.
Энэ тохируулга нь нэг диск дээр их олон тооны хуваалт байх боломжийг
авчирна.
options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
4.3BSD-тэй нийцтэй байх. Үүнийг энэ чигээр орхи; хэрэв үүнийг тайлбар болгож
хаавал зарим програмууд сонин ажиллаж эхэлнэ.
options COMPAT_FREEBSD4 # Compatible with &os;4
Энэ тохируулга нь &os; 5.X &i386; ба Alpha системүүд дээр &os;-ийн хуучин
хувилбарууд дээр хөрвүүлэгдсэн, хуучин системийн дуудлагуудын интерфэйсүүдийг ашигладаг
програмуудыг дэмжихэд шаардлагатай. Энэ тохируулгыг хуучин програмууд ашиглаж болзошгүй
бүх &i386; болон Alpha системүүд дээр ашиглахыг зөвлөж байна; ia64 ба &sparc64;
зэрэг 5.X дээр зөвхөн дэмжлэг хийгдсэн тавцангууд энэ тохируулгыг шаарддаггүй.
options COMPAT_FREEBSD5 # Compatible with &os;5
Энэ тохируулга нь &os; 5.X системийн дуудлагын интерфэйсүүдийг ашигладаг,
&os; 5.X хувилбарууд дээр эмхэтгэгдсэн програмуудыг &os; 6.X болон
түүнээс дараа үеийн хувилбарууд дээр дэмжихэд шаардлагатай.
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
Энэ нь цөмийг SCSI төхөөрөмжүүдийг шалгаж эхлэхээс өмнө 5 секунд түр зогсооно. Хэрэв
та зөвхөн IDE хатуу дисктэй бол үүнийг орхиж болно, эсрэг тохиолдолд ачаалалтыг хурдасгахын
тулд энэ тоог багасгаж болно. Мэдээж та үүнийг хийгээд &os; таны SCSI төхөөрөмжүүдийг
танихгүй бол та дахин үүнийг ихэсгэж болно.
options KTRACE # ktrace(1) support
Энэ нь дибаг хийхэд ашигтай, цөмийн процессийг дагах боломжийг идэвхжүүлдэг.
options SYSVSHM # SYSV-style shared memory
Энэ тохируулга нь System V хуваалцсан санах ойн боломж бүрдүүлдэг. Энэ боломжийн
өргөн хэрэглээнүүдийн нэг нь X дэх XSHM өргөтгөл бөгөөд үүнийг график их шаарддаг олон програмууд
автоматаар илүү хурд авахын тулд ашигладаг. Хэрэв та X ашигладаг бол үүнийг заавал оруулахыг
хүсэх болно.
options SYSVMSG # SYSV-style message queues
System V мэдээллүүдийн дэмжлэг. Энэ тохируулга нь зөвхөн хэдхэн зуун байтыг
цөмд нэмдэг.
options SYSVSEM # SYSV-style semaphores
System V семафорын дэмжлэг. Нэг их өргөн ашиглагддаггүй боловч
хэдхэн зуун байтыг цөмд нэмдэг.
&man.ipcs.1; тушаалын тохируулга нь эдгээр
System V боломж бүрийг ашигласан процессуудыг жагсаадаг.
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
Жинхэнэ-хугацааны (real-time) өргөтгөлүүд 1993 оны &posix;-д нэмэгдсэн.Портуудын
цуглуулгаас зарим програмууд эдгээрийг ашигладаг (&staroffice;).
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
Энэ тохируулга нь гарын төхөөрөмжийн цэгийг /dev-д үүсгэх боломжийг
олгоход шаардлагатай байдаг.
options ADAPTIVE_GIANT # Giant mutex is adaptive.
Giant гэдэг нь харилцан нэгийгээ оруулахгүй байх зарчмын (унтах мутекс) нэр бөгөөд
энэ нь цөмийн их эх үүсвэрүүдийг хамгаалдаг. Өнөөдөр энэ нь үйл ажиллагааны саатаж
байгаа хүлээн авах боломжгүй хэсэг бөгөөд үүнийг эх үүсвэр бүрийг хамгаалах цоожуудаар
идэвхтэйгээр сольж байгаа билээ. ADAPTIVE_GIANT тохируулга нь
хэсэг бүлэг мутексуудад Giant-ийг адаптиваар эргэхээр оруулдаг. Энэ нь урсгал (thread)
Giant мутексийг цоожлохыг хүсэж байх үед, гэхдээ энэ нь өөр CPU дээр урсгалаар цоожлогдсон
байна, эхний урсгал цоож сулрахыг хүлээн ажилласаар байна. Хэвийн үед урсгал унтаа байдалд
эргэж орох бөгөөд өөрийн дараагийн ажиллах боломжийг хүлээнэ. Та итгэлгүй байгаа бол
үүнийг орхино уу.
&os; 8.0-CURRENT болон түүнээс хожуу үеийн хувилбаруудад бүх
мутексууд нь NO_ADAPTIVE_MUTEXES тохируулгатайгаар
бүтээгдэж зохицох чадваргүй гэж тохируулагдаагүй л бол анхдагчаар адаптив буюу
зохицох чадвартай байдаг. Иймээс одоо Giant нь зохицох чадвартай
бөгөөд ADAPTIVE_GIANT тохируулга нь цөмийн тохиргооноос
хасагдсан юм.
цөмийн тохируулгууд
SMP
device apic # I/O APIC
apic төхөөрөмж нь I/O APIC-ийг тасалдал хүргэхэд ашиглах боломжийг нээдэг.
apic төхөөрөмж нь UP болон SMP цөмүүдэд хоёуланд нь ашиглагдаж болох бөгөөд
гэхдээ SMP цөмд зайлшгүй шаардлагатай. options SMP
мөрийг нэмж олон процессорын дэмжлэгийг оруулна уу.
apic төхөөрөмж нь зөвхөн i386 архитектур дээр байдаг бөгөөд
энэ тохиргооны мөрийг бусад архитектурууд дээр
ашиглах ёсгүй юм.
device eisa
Хэрэв та EISA эх хавтантай бол үүнийг оруулаарай. Энэ нь EISA шугамын бүх
төхөөрөмжүүдийн хувьд автомат илрүүлэлт болон тохиргооны дэмжлэгийг нээж өгдөг.
device pci
Хэрэв та PCI эх хавтантай бол үүнийг оруулаарай. Энэ нь PCI картуудыг автомат
илрүүлэлт болон PCI-аас ISA шугам уруу гарах дэмжлэгийг нээж өгдөг.
# Floppy drives
device fdc
Энэ нь уян диск хөтлөгчийн хянагч.
# ATA and ATAPI devices
device ata
Энэ драйвер бүх ATA болон ATAPI төхөөрөмжүүдийг дэмждэг. Орчин үеийн машинуудын
бүх PCI ATA/ATAPI төхөөрөмжүүдийг илрүүлэхийн тулд зөвхөн нэг
device ata мөр таны цөмд хэрэгтэй.
device atadisk # ATA disk drives
Энэ нь device ata мөртэй цуг ATA дискний
төхөөрөмжүүдэд хэрэгтэй.
device ataraid # ATA RAID drives
Энэ нь device ata мөртэй цуг ATA RAID
хөтлөгчүүдэд хэрэгтэй.
device atapicd # ATAPI CDROM drives
Энэ нь device ata мөртэй цуг ATA CDROM
хөтлөгчүүдэд хэрэгтэй.
device atapifd # ATAPI floppy drives
Энэ нь device ata мөртэй цуг ATA уян дискний
хөтлөгчүүдэд хэрэгтэй.
device atapist # ATAPI tape drives
Энэ нь device ata мөртэй цуг ATA соронзон хальсны
хөтлөгчүүдэд хэрэгтэй.
options ATA_STATIC_ID # Static device numbering
Энэ нь хянагчийн дугаарыг статик болгох бөгөөд энэнгүйгээр
төхөөрөмжийн дугаарууд динамикаар өгөгддөг.
# SCSI Controllers
device ahb # EISA AHA1742 family
device ahc # AHA2940 and onboard AIC7xxx devices
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~128k to driver.
device ahd # AHA39320/29320 and onboard AIC79xx devices
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~215k to driver.
device amd # AMD 53C974 (Teckram DC-390(T))
device isp # Qlogic family
#device ispfw # Firmware for QLogic HBAs- normally a module
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
SCSI хянагчууд. Таны системд байхгүй байгааг тайлбар болгон хаана уу.
Хэрэв та зөвхөн IDE системтэй бол эдгээр мөрүүдийг бүгдийг устгаж болно.
*_REG_PRETTY_PRINT мөрүүд нь өөр өөрийнхөө тохирох
драйверуудад зориулагдсан дибаг хийх тохируулгууд юм.
# SCSI peripherals
device scbus # SCSI bus (required for SCSI)
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)
SCSI захын төхөөрөмжүүд. Дахин хэлэхэд таны системд байхгүй байгааг тайлбар
болгон хаагаарай эсвэл та зөвхөн IDE тоног төхөөрөмжтэй бол эдгээр мөрүүдийг
бүгдийг устгаж болно.
USB &man.umass.4; драйвер болон бусад цөөн хэдэн драйверууд жинхэнэ
SCSI төхөөрөмжүүд биш боловч SCSI дэд системийг ашигладаг. Тийм болохоор
хэрэв цөмийн тохиргоонд тийм драйверууд орсон байвал SCSI дэмжлэгийг устгаагүй
эсэхээ шалгаарай.
# RAID controllers interfaced to the SCSI subsystem
device amr # AMI MegaRAID
device arcmsr # Areca SATA II RAID
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 hptmv # Highpoint RocketRAID 182x
device rr232x # Highpoint RocketRAID 232x
device iir # Intel Integrated RAID
device ips # IBM (Adaptec) ServeRAID
device mly # Mylex AcceleRAID/eXtremeRAID
device twa # 3ware 9000 series PATA/SATA RAID
# RAID controllers
device aac # Adaptec FSA RAID
device aacp # SCSI passthrough for aac (requires CAM)
device ida # Compaq Smart RAID
device mfi # LSI MegaRAID SAS
device mlx # Mylex DAC960 family
device pst # Promise Supertrak SX6000
device twe # 3ware ATA RAID
Дэмжигдсэн RAID хянагчууд. Хэрэв танд эдгээрээс нэг нь ч байхгүй бол
тайлбар болгон хааж эсвэл устгаж болно.
# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controller
Гарын хянагч (atkbdc) AT гар ба PS/2 загварын заагч
төхөөрөмжүүдэд I/O үйлчилгээнүүдийг хангадаг. Энэ хянагчийг гарын драйвер
(atkbd) болон PS/2 заагч төхөөрөмжийн драйвер
(psm) шаарддаг.
device atkbd # AT keyboard
atkbd драйвер нь atkbdc
хянагчтай цуг AT гарын хянагчид залгасан AT 84 гар болон AT өргөжүүлсэн
гаруудад хандах боломж олгодог.
device psm # PS/2 mouse
Хэрэв таны хулгана PS/2 порт уруу залгагдаж байгаа бол энэ төхөөрөмжийг
ашиглана уу.
device kbdmux # keyboard multiplexer
Олон гар залгах боломжийн анхны дэмжлэг.
Хэрэв та систем дээрээ нэгээс олон гар ашиглахгүй бол энэ мөрийг аюулгүйгээр
устгаж болно.
device vga # VGA video card driver
Видео картын драйвер.
device splash # Splash screen and screen saver support
Эхлэх үе дэх хоромхон зуур гарах дэлгэц! Дэлгэц амраагчид нь үүнийг бас шаарддаг.
# syscons is the default console driver, resembling an SCO console
device sc
sc нь анхдагч консолийн драйвер бөгөөд SCO консолыг дуурайдаг.
Ихэнх бүрэн дэлгэцийн програмууд консол уруу termcap зэрэг
терминалийн өгөгдлийн баазын сангийн тусламжтайгаар ханддаг бөгөөд үүнийг ашиглах эсэх эсвэл
VT220-тай нийцтэй консол драйвер болох vt-ийг
ашиглах эсэх нь хамаагүй юм. Та нэвтэрсний дараа бүрэн дэлгэцийн програмууд энэ консол дээр ажиллахдаа
асуудалтай байвал өөрийн TERM хувьсагчаа scoansi
болгоорой.
# Enable this for the pcvt (VT220 compatible) console driver
#device vt
#options XSERVER # support for X server on a vt console
#options FAT_CURSOR # start with block cursor
Энэ нь VT100/102-той арагшаагаа нийцтэй, VT220-той нийцтэй консол драйвер юм.
Энэ нь sc-тэй нийцгүй зарим зөөврийн компьютер дээр сайн
ажилладаг. Та нэвтэрсний дараа өөрийн TERM хувьсагчаа
vt100 эсвэл vt220 болгоорой.
Мөн энэ драйвер нь sc төхөөрөмжүүдэд зориулсан
termcap эсвэл terminfo
оруулгууд ихэнхдээ байхгүй байдаг асар олон тооны өөр өөр машинууд уруу сүлжээгээр
дамжин холбогдох үед ашигтай байж болно — vt100
нь виртуалаар дурын тавцан дээр байх ёстой.
device agp
Хэрэв та систем дээрээ AGP карттай бол үүнийг оруулна уу. Энэ нь AGP болон AGP GART-ийн
дэмжлэгийг эдгээр боломжуудаас тогтсон хавтанд зориулж нээнэ.
APM
# Power management support (see NOTES for more options)
#device apm
Тэжээлийн Нарийн Удирдлагын дэмжлэг. Зөөврийн компьютеруудад ашигтай,
гэхдээ энэ нь GENERIC-д
анхдагчаар хаалттай байдаг.
# Add suspend/resume support for the i8254.
device pmtimer
APM болон ACPI зэрэг тэжээл удирдах үйл явцуудад зориулсан таймер
төхөөрөмжийн драйвер.
# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device cbb # cardbus (yenta) bridge
device pccard # PC Card (16-bit) bus
device cardbus # CardBus (32-bit) bus
PCMCIA дэмжлэг. Зөөврийн компьютер ашиглаж байгаа
бол энэ танд хэрэгтэй.
# Serial (COM) ports
device sio # 8250, 16[45]50 based serial ports
Эдгээр нь &ms-dos;/&windows; ертөнцөд
COM портууд хэмээгддэг сериал портууд юм .
Хэрэв та COM4 дээр дотуур модемтой бөгөөд
COM2 дээр сериал порттой бол &os; -ээс хандахын
тулд та модемийн IRQ-г 2 (ойлгоход амаргүй техникийн шалтгаанаар, IRQ2 = IRQ 9)
болгож өөрчлөх хэрэгтэй. Хэрэв та олон порттой сериал карттай бол өөрийн
/boot/device.hints файлд нэмэх зөв утгуудын
талаар дэлгэрэнгүй мэдээллийг &man.sio.4; гарын авлагаас шалгаарай.
Зарим видео картууд (S3 бичил схем дээр үндэслэснүүдийг дурдаж болно)
0x*2e8 хэлбэртэй IO хаягуудыг ашигладаг бөгөөд
олон хямд сериал картууд 16-бит хаягийн зайг бүрэн декод хийж чаддаггүй учир
энэ нь тэдгээр карттай зөрчилдөж COM4 портыг
бараг л ашиглах боломжгүй болгодог.
Сериал порт болгон бусдаас ялгаатай IRQ -тай байх (хуваалцсан тасалдал
ашиглахыг дэмждэг олон порттой картуудын нэгийг ашиглаж байгаагаас бусад тохиолдолд)
шаардлагатай учир COM3 болон
COM4-ийн анхдагч IRQ-үүдийг ашиглаж болохгүй.
# Parallel port
device ppc
Энэ нь ISA-шугамын параллел порт интерфэйс юм.
device ppbus # Parallel port bus (required)
Параллел портын шугамын дэмжлэгийг хангадаг.
device lpt # Printer
Параллел порт хэвлэгчүүдийн дэмжлэг.
Параллел хэвлэгчийн дэмжлэгийг нээхэд дээрх гурав гурвуулаа
шаардлагатай.
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
zip drive
Энэ нь Iomega Zip хөтлөгчид зориулагдсан юм. scbus болон
da дэмжлэгийг шаарддаг. EPP 1.9 горимд байгаа
портуудын тусламжтай хамгийн сайн ажиллагаанд хүрдэг.
#device puc
Хэрэв та &man.puc.4; цавуу драйвераар дэмжигддэг дүлий
сериал эсвэл параллел PCI карттай бол энэ төхөөрөмжийг тайлбар болгосныг
болиулаарай.
# PCI Ethernet NICs.
device de # DEC/Intel DC21x4x (Tulip
)
device em # Intel PRO/1000 adapter Gigabit Ethernet Card
device ixgb # Intel PRO/10GbE Ethernet Card
device txp # 3Com 3cR990 (Typhoon
)
device vx # 3Com 3c590, 3c595 (Vortex
)
Төрөл бүрийн PCI сүлжээний картуудын драйверууд. Эдгээрээс таны системд байхгүйг
тайлбар болгон хааж эсвэл устгаарай.
# 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
MII шугамын дэмжлэг нь зарим PCI 10/100 Ethernet NIC-үүдэд шаардлагатай
бөгөөд тухайлбал MII-д нийцтэй дамжуулагч-хүлээн авагчууд эсвэл MII-тэй адил
ажилладаг дамжуулагч-хүлээн авагчийн хяналтын интерфэйсүүдийг дурдаж болно.
device miibus мөрийг цөмийн тохиргоонд нэмснээр
ердийн miibus API болон тусдаа драйвераар дэмжигдээгүй PHY-уудад зориулсан
ердийн драйвер зэрэг бүх PHY драйверуудын дэмжлэгийг оруулах болно.
device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device bfe # Broadcom BCM440x 10/100 Ethernet
device bge # Broadcom BCM570xx Gigabit Ethernet
device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device lge # Level 1 LXT1001 gigabit ethernet
device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
device nge # NatSemi DP83820 gigabit ethernet
device nve # nVidia nForce MCP on-board Ethernet Networking
device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
device re # RealTek 8139C+/8169/8169S/8110S
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 & SK-982x gigabit Ethernet
device ste # Sundance ST201 (D-Link DFE-550TX)
device stge # Sundance/Tamarack TC9021 gigabit Ethernet
device ti # Alteon Networks Tigon I/II gigabit Ethernet
device tl # Texas Instruments ThunderLAN
device tx # SMC EtherPower II (83c170 EPIC
)
device vge # VIA VT612x gigabit ethernet
device vr # VIA Rhine, Rhine II
device wb # Winbond W89C840F
device xl # 3Com 3c90x (Boomerang
, Cyclone
)
MII шугамын хянагчийн кодыг ашигладаг драйверууд.
# ISA Ethernet NICs. pccard NICs included.
device cs # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device ex # Intel EtherExpress Pro/10 and Pro/10+
device ep # Etherlink III based cards
device fe # Fujitsu MB8696x based cards
device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc.
device lnc # NE2100, NE32-VL Lance Ethernet cards
device sn # SMC's 9000 series of Ethernet chips
device xe # Xircom pccard Ethernet
# ISA devices that use the old ISA shims
#device le
ISA Ethernet драйверууд. Аль картууд аль драйвераар дэмжигддэг талаар дэлгэрэнгүйг
/usr/src/sys/i386/conf/NOTES-ээс
харна уу.
# Wireless NIC cards
device wlan # 802.11 support
802.11-ийн ерөнхий дэмжлэг. Энэ мөр нь утасгүй сүлжээнд
шаардлагатай.
device wlan_wep # 802.11 WEP support
device wlan_ccmp # 802.11 CCMP support
device wlan_tkip # 802.11 TKIP support
802.11 төхөөрөмжүүдэд зориулагдсан криптограф дэмжлэг.
Хэрэв та шифрлэлт болон 802.11i нууцлалын протоколуудыг
ашиглахаар шийдсэн бол эдгээр мөрүүд шаардлагатай.
device an # Aironet 4500/4800 802.11 wireless NICs.
device ath # Atheros pci/cardbus NIC's
device ath_hal # Atheros HAL (Hardware Access Layer)
device ath_rate_sample # SampleRate tx rate control for ath
device awi # BayStack 660 and others
device ral # Ralink Technology RT2500 wireless NICs.
device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device wl # Older non 802.11 Wavelan wireless NIC.
Төрөл бүрийн утасгүй сүлжээний картуудын дэмжлэг.
# Pseudo devices
device loop # Network loopback
Энэ нь TCP/IP-д зориулсан өөртөө эргэн холбогдох ерөнхий төхөөрөмж юм.
Хэрэв та localhost (өөрөөр бас 127.0.0.1) уруу telnet эсвэл FTP хийвэл
энэ нь тань уруу энэ төхөөрөмжөөр эргэж ирнэ.Энэ нь
зайлшгүй шаардлагатай.
device random # Entropy device
Шифрлэлтийн хувьд аюулгүй дурын тоо үүсгэгч.
device ether # Ethernet support
Танд Ethernet карт байгаа тохиолдолд зөвхөн ether хэрэгтэй.
Энэ нь ерөнхий Ethernet протоколын кодыг агуулдаг.
device sl # Kernel SLIP
sl нь SLIP-ийн дэмжлэг юм. Энэ нь хялбар
суулгаж тохируулдаг, модемоос модем уруу холболт хийхэд илүү зохицсон, илүү
чадалтай PPP-ээр бараг бүхэлдээ солигдсон юм.
device ppp # Kernel PPP
Энэ нь дайл-ап холболтын цөм дэх PPP дэмжлэгт зориулагдсан. Мөн
tun-ийг ашиглаж илүү уян хатан чанар болон шаардлагаар
залгах зэрэг боломжууд бүхий PPP-ийн хэрэглэгчийн талбарын програм маягаар
хийгдсэн хувилбар ч бас байдаг.
device tun # Packet tunnel.
Энэ хэрэглэгчийн талбарын PPP програм хангамжид ашиглагддаг.
Дэлгэрэнгүй мэдээллийг энэ номын PPP
хэсгээс үзнэ үү.
device pty # Pseudo-ttys (telnet etc)
Энэ нь псевдо-терминал
эсвэл жинхэнэ биш (simulated) нэвтрэх порт юм.
Энэ нь ирж байгаа telnet болон
rlogin сессүүд, xterm,
болон Emacs зэрэг бусад програмуудад
ашиглагддаг.
device md # Memory disks
Санах ойн диск псевдо-төхөөрөмжүүд.
device gif # IPv6 and IPv4 tunneling
Энэ нь IPv4 дээгүүрх IPv6, IPv6 дээгүүрх IPv4,
IPv4 дээгүүрх IPv4, болон IPv6 дээгүүрх IPv6 хоолойнуудыг хийдэг.
gif төхөөрөмж нь авто-клон
хийх чадвартай бөгөөд төхөөрөмжийн цэгүүдийг хэрэгцээгээрээ үүсгэдэг.
device faith # IPv6-to-IPv4 relaying (translation)
Энэ псевдо-төхөөрөмж нь түүн уруу илгээсэн пакетуудыг барьж аваад
IPv4/IPv6 хувиргагч дэмон уруу замыг өөрчлөн явуулдаг.
# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device bpf # Berkeley packet filter
Энэ нь Беркли Пакет Шүүгч юм. Энэ псевдо-төхөөрөмж нь
цацаж байгаа сүлжээн (өөрөөр хэлбэл Ethernet) дэх бүх пакетуудыг барьж авдаг,
бүгдийг сонсох горимд сүлжээний интерфэйсүүдийг шилжүүлэх боломж олгодог.
Эдгээр пакетуудыг дискэнд хадгалах болон эсвэл &man.tcpdump.1; програмаар
шалгаж болно.
Анхдагч чиглүүлэгчийн (гарц) болон бусад IP хаягийг
&man.dhclient.8; олж авахад &man.bpf.4; төхөөрөмжийг бас ашигладаг.
Хэрэв та DHCP ашиглаж байгаа бол үүнийг тайлбар болголгүй орхиорой.
# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device ehci # EHCI PCI->USB interface (USB 2.0)
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 ural # Ralink Technology RT2500USB wireless NICs
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 cdce # Generic USB over Ethernet
device cue # CATC USB Ethernet
device kue # Kawasaki LSI USB Ethernet
device rue # RealTek RTL8150 USB Ethernet
Төрөл бүрийн USB төхөөрөмжүүдийн дэмжлэг.
# FireWire support
device firewire # FireWire bus code
device sbp # SCSI over FireWire (Requires scbus and da)
device fwe # Ethernet over FireWire (non-standard!)
Төрөл бүрийн Firewire төхөөрөмжүүдийн дэмжлэг.
&os;-ийн дэмждэг нэмэлт төхөөрөмжүүдийн талаар дэлгэрэнгүй мэдээллийг
/usr/src/sys/i386/conf/NOTES
файлаас үзнэ үү.
Том санах ойн тохируулгууд (PAE)
Физик хаягийн өргөтгөлүүд
(PAE)
том санах ой
Том санах ой бүхий машинууд Хэрэглэгч+Цөмийн Виртуал хаягийн зайн
(KVA) 4 гигабайт хязгаараас их уруу хандах
шаардлагатай байдаг. Энэ хязгаараас болоод Интел &pentium; Pro болон
сүүлийн үеийн CPU-үүдэд 36 битийн физик хаягийн зайд хандах дэмжлэгийг нэмсэн.
&intel; &pentium; Pro болон сүүлийн үеийн CPU-үүдийн
Физик Хаягийн Өргөтгөл (PAE) боломж нь 64 гигабайт хүртэлх
санах ойн тохиргоог зөвшөөрдөг. &os; нь энэхүү боломжийг &os;-ийн
одоо байгаа бүх гаргасан хувилбаруудын цөмийн тохиргооны
тохируулгаар дэмждэг. Интелийн санах ойн
архитектурын хязгаараас болж 4 гигабайтаас дээш болон доош санах
ойн ялгаа байхгүй. 4 гигабайтаас дээшхи санах ой нь ашиглаж болох
санах ойн санд нэмэгддэг.
PAE дэмжлэгийг цөмд нээхдээ
цөмийн тохиргооны файлд дараах мөрийг нэмнэ:
options PAE
&os; дэх PAE дэмжлэг зөвхөн
&intel; IA-32 процессоруудад байдаг. Мөн &os; дэх
PAE дэмжлэг нь өргөн шалгагдаагүй бөгөөд
&os;-ийн бусад тогтвортой боломжуудтай харьцуулахад бета чанарынхад
тооцогддог.
&os; дэх PAE дэмжлэг нь цөөн хэдэн хязгааруудтай:
VM зайн 4 гигабайтаас илүүд процесс хандаж чадахгүй.
&man.bus.dma.9; интерфэйс ашигладаггүй төхөөрөмжийн драйверууд
PAE-г идэвхжүүлсэн цөм дээр өгөгдлийн эвдрэлийг
үүсгэх бөгөөд ашиглахыг зөвлөдөггүй юм. Ийм учраас PAE-г
идэвхжүүлсэн цөм дээр ажилладаггүй бүх драйверуудыг оруулаагүй
PAE цөмийн тохиргооны файл &os;-д байдаг.
Зарим нэг тохируулгууд санах ойн эх үүсвэрийн хэрэглээг физик санах ойн
хэмжээгээр тодорхойлдог. Эдгээр тохируулгууд нь PAE
системийн их санах ойгоос болж хэрэгцээгүй илүү санах ойг гаргадаг.
Тийм нэг жишээнүүдийн нэг нь sysctl-ийн
тохируулга бөгөөд энэ нь цөм дэх хамгийн их байж болох vnode-уудын тоог хянадаг.
Энэ болон бусад тохируулгуудын утгыг боломжийн утгаар тааруулахыг зөвлөж байна.
Магадгүй цөмийн виртуал хаягийн (KVA) зайг ихэсгэх
эсвэл KVA-ийн шавхалтад хүргэхгүйн тулд байнга их ашиглагддаг
(дээр дурдсаныг харна уу) цөмийн эх үүсвэрийн хэмжээг багасгах шаардлагатай
байж болох юм. цөмийн тохируулга нь
KVA зайг ихэсгэхэд ашиглагдаж болно.
Ажиллагаа болон тогтвортой байдлыг хангах үүднээс &man.tuning.7; гарын
авлагатай танилцахыг зөвлөж байна. &man.pae.4; гарын авлага нь
&os;-ийн PAE дэмжлэгийн тухай хамгийн сүүлийн
үеийн мэдээллийг агуулдаг.
Хэрэв ямар нэг юм буруутвал
Өөрчлөн тохируулсан цөмийг бүтээж байх үед 4 төрлийн асуудал гарч
болзошгүй байдаг. Тэдгээр нь:
config амжилтгүй болох:
Хэрэв таныг цөмийн тайлбарыг &man.config.8;-т өгөхөд тушаал
амжилтгүй болбол та хаа нэгтээ энгийн алдаа хийсэн болов уу.
Аз болоход &man.config.8; асуудалтай байгаа мөрийн дугаарыг
хэвлэх учир та алдаатай мөрийг хурдан олох болно. Жишээ нь,
хэрэв та доор дурдсаныг харвал:
config: line 17: syntax error
Түлхүүр үг зөв бичигдсэн эсэхийг GENERIC
цөм болон бусад баримтаас харьцуулан шалгаж үзээрэй.
make амжилтгүй болох:
Хэрэв make тушаал амжилтгүй болбол
энэ ихэвчлэн цөмийн тайлбар дахь &man.config.8;-ийн олж
чадахааргүй тийм ч ноцтой бус алдааг дохиолдог. Дахин хэлэхэд,
өөрийн тохиргоог нягтлаарай, тэгээд хэрэв та асуудлыг шийдэж чадахгүй
бол &a.questions; уруу өөрийн цөмийн тохиргоотой цахим захидал
илгээгээрэй, ингэхэд хурдан шинжилгээ хийгдэх болно.
Цөм ачаалахгүй байх:
Хэрэв таны шинэ цөм ачаалахгүй бол эсвэл таны төхөөрөмжүүдийг танихгүй
байгаа бол бүү цочирд! Аз болоход &os; нийцгүй цөмүүдээс сэргэхэд
зориулсан маш сайн механизмтай байдаг. Ердөө л &os;-ийн ачаалагчаас
ачаалах цөмөө сонгоно. Системийн ачаалах меню гарч ирэх үед та үүнд
хандах боломжтой болно. Escape to a loader prompt
тохируулга 6-ын тоог сонго. Тушаал хүлээх мөрөн дээр unload kernel
гэж бичээд boot /boot/kernel.old/kernel
эсвэл зөв ачаалах өөр бусад цөмийн файлын нэрийг бичээрэй. Цөмийг дахин
тохируулах явцдаа ажилладаг цөмийг гарын дор хадгалж байх нь үргэлж
ухаалаг санаа байдаг.
Сайн цөмийг ачаалсныхаа дараа та өөрийн тохиргооны файлаа дахин шалгаж
цөмөө дахин бүтээхээр оролдоорой. Нэг тус дэм болох эх үүсвэр бол
бусад зүйлсээс гадна амжилттай ачаалалт бүр дэх цөмийн бүх мэдээллүүдийн
бичлэгийг хийдэг /var/log/messages файл юм.
Мөн &man.dmesg.8; тушаал нь сүүлийн ачаалалт дахь цөмийн мэдээллүүдийг
хэвлэдэг.
Хэрэв та цөмийг бүтээхэд асуудалтай байгаа бол
GENERIC болон өөр бусад ажилладаг
цөмийг дараагийн бүтээх явцад устгагдахааргүй өөр нэртэйгээр
гарын дор хадгалж байгаарай. Та kernel.old
-д найдаж болохгүй, учир нь шинэ цөмийг суулгах явцад
kernel.old нь хамгийн сүүлд
суулгагдсан бөгөөд магадгүй ажиллагаагүй тийм цөмөөр дарагдан
бичигддэг. Ажилладаг цөмийг зөв /boot/kernel
байр уруу аль болох хурдан шилжүүлээрэй, эсвэл &man.ps.1; зэрэг
тушаалууд зөв ажиллахгүй байж магадгүй юм. Ингэхийн тулд
сайн цөм байгаа сангийн нэрийг өөрчлөөрэй:
&prompt.root; mv /boot/kernel /boot/kernel.bad
&prompt.root; mv /boot/kernel.good /boot/kernel
Цөм ажиллах боловч &man.ps.1; ажиллахгүй болох:
Хэрэв та системийн хэрэгслүүд бүтээсэн хувилбараас өөр цөмийн хувилбарыг
суулгасан бол, жишээ нь -RELEASE дээр -CURRENT цөм бүтээсэн бол
системийн төлвийн тушаалууд болох &man.ps.1; болон &man.vmstat.8;
зэрэг нь ажиллахаа больно. Та өөрийн цөмтэйгөө адил хувилбарын эх модтой
бүтээгдсэн ертөнцийг дахин хөрвүүлж суулгах
хэрэгтэй. Энэ нь нэг шалтгаан бөгөөд ерөнхийдөө үйлдлийн системийн бусад
зүйлсээс өөр хувилбарын цөмийг ашиглах нь тийм ч сайн санаа биш юм.