FreeBSD гарын авлага
Prev | Chapter 8 FreeBSD цөмийг тохируулах нь | Next

# 8.5 Өөрчлөн тохируулсан цөмийг бүтээх ба суулгах нь

Эхлээд цөм бүтээх сангаар аялая. Дурдсан бүх сангуудаас гол нь `/usr/src/sys` сан байх бөгөөд `/sys` гэсэн замаар бас хандах боломжтой. Энд байгаа хэд хэдэн дэд сангууд цөмийн өөр өөр хэсгүүдийг илэрхийлэх бөгөөд бидний зорилгод хамгийн чухал нь таны өөрчлөн тохируулах цөмийн тохиргоог засварлах ``arch`/conf` сангууд болон таны цөм бүтээгдэх шатны талбар `compile` сан юм. `arch` нь `i386`, `alpha`, `amd64`, `ia64`, `powerpc`, `sparc64`, эсвэл `pc98` (Японд их ашиглагддаг PC тоног төхөөрөмжийн өөр нэг хөгжүүлэлтийн салбар) зэргийг төлөөлдөг. Тухайн архитектурын сан доторх код зөвхөн тэр архитектуртай холбоотой; бусад кодын хэсэг нь FreeBSD порт хийгдэх боломж бүхий бүх тавцангуудын хувьд адил машинаас чөлөөт код байна. Сангийн бүтцийн логик зохион байгуулалт нь дэмжлэг хийгдсэн төхөөрөмж, файлын систем болон өөрийн дэд санд байгаа тохируулга бүртэй хамт байгааг харж болно.

Энэ бүлэг жишээн дээр таныг i386 архитектур ашиглаж байгаа гэж авч үзнэ. Хэрэв энэ нь таны хувьд өөр байх юм бол та өөрийн системийн архитектурын хувьд замуудын нэрнүүддээ тохирох өөрчлөлтүүдийг хийгээрэй.

> Note: Хэрэв таны систем дээр `/usr/src/sys` сан байхгүй бол цөмийн эх суугаагүй байна. Үүнийг хамгийн хялбар аргаар хийхийн тулд `root` эрхээр `sysinstall` ажиллуулж Configure сонгоод, дараа нь Distributions сонгоод, src сонгоод, дараа нь base болон sys-г сонгож татаж авна. Хэрэв та sysinstall -д дургүй ба “албан ёсны” FreeBSD CDROM-д хандах боломжтой бол тушаалын мөрөөс эхийг бас суулгаж болно:

>     # mount /cdrom
>     # mkdir -p /usr/src/sys
>     # ln -s /usr/src/sys /sys
>     # cat /cdrom/src/ssys.[a-d]* | tar -xzvf -
>     # cat /cdrom/src/sbase.[a-d]* | tar -xzvf -

Дараа нь ``arch`/conf` сан уруу шилжээд `GENERIC` тохиргооны файлыг та өөрийн цөмдөө өгөх нэр уруу хуул. Жишээ нь:

    # cd /usr/src/sys/i386/conf
    # cp GENERIC MYKERNEL

Уламжлалаар бол энэ нэр нь бүгд том үсгээр байдаг, хэрэв та олон өөр өөр төрлийн FreeBSD машинуудын ажиллагааг хянадаг бол машинуудынхаа нэрээр нэрлэх нь зохимжтой юм. Бид энэ жишээнийхээ зорилгоор ``MYKERNEL`` гэж нэрлэе.

> Tip: Өөрийн цөмийн тохиргооны файлаа шууд `/usr/src` доор хадгалах нь буруу байж болох юм. Хэрэв та асуудлуудтай тулгарч байгаа бол `/usr/src` -ийг устгаад л дахиж эхлэх нь зоригтой алхам байж болох юм. Гэхдээ үүнийг хийгээд хэдэн секундын дараа л та өөрийн өөрчлөн тохируулсан цөмийн тохиргооны файлаа устгасан болохоо мэдэх болно. Мөн `GENERIC` файлыг шууд засварлах хэрэггүй бөгөөд дараагийн удаа өөрийн эх модыг шинэчлэх үйлдлийг хийхэд дарагдан хуулагдаж таны цөмийн өөрчлөлт алдагдаж магадгүй.

> Та цөмийн тохиргооны файлаа өөр газар хадгалж дараа нь ``i386`` сан дахь файл уруу тэмдэгт холбоос үүсгэж болно.

> Жишээ нь:

>     # cd /usr/src/sys/i386/conf
>     # mkdir /root/kernels
>     # cp GENERIC /root/kernels/MYKERNEL
>     # ln -s /root/kernels/MYKERNEL

Одоо ``MYKERNEL``-ийг өөрийн дуртай текст засварлагч дээр засаарай. Хэрэв та дөнгөж эхэлж байгаа бол байгаа цорын ганц засварлагч нь vi байж болох бөгөөд түүнийг энд тайлбарлахад хэтэрхий төвөгтэй боловч номын жагсаалтад байгаа өөр олон номнуудад бичсэн байгаа. Гэхдээ FreeBSD нь ee гэдэг хялбар засварлагчийг санал болгодог бөгөөд хэрэв та эхлэн сурагч бол энэ нь таны сонгох засварлагч байх болно. Өөрийн тохиргоог тусгах эсвэл `GENERIC` файлаас өөрийн хийсэн өөрчлөлтүүдээс ялгахын тулд дээд хэсэгт байгаа мөрүүдийг чөлөөтэй өөрчлөөрэй.

Хэрэв та SunOS™ эсвэл өөр BSD үйлдлийн системийн доор цөм бүтээж байсан бол энэ файлын ихэнх хэсэг нь маш танил байх болно. Хэрэв та DOS зэрэг өөр үйлдлийн системээс ирж байгаа бол нөгөө талаасаа `GENERIC` тохиргооны файл төвөгтэй юм шиг санагдаж болох бөгөөд Тохиргооны файл хэсгийн тайлбаруудыг удаан нухацтай дагаарай.

> Note: Хэрэв та FreeBSD төслийн хамгийн сүүлийн эхээр өөрийн эх модоо сүүлийн үеийн хэлбэрт авчирсан бол шинэчлэх шатуудаа хэрэгжүүлж эхлэхээсээ өмнө `/usr/src/UPDATING` файлыг үргэлж шалгаж байх нь чухал юм. Энэ файл нь шинэчилсэн эх код доторх тусгай анхаарал шаардлагатай чухал асуудлууд эсвэл хэсгүүдийн талаар тайлбарладаг. `/usr/src/UPDATING` нь үргэлж таны FreeBSD хувилбартай таардаг бөгөөд энэ гарын авлагаас илүү шинэ мэдээлэлтэй, сүүлийн үеийнх байдаг.

Та цөмд зориулан эх кодоо хөрвүүлэх шаардлагатай.

Цөмийг бүтээх нь

1. `/usr/src` сан уруу орно:

       # cd /usr/src

2. Цөмийг хөрвүүлнэ:

       # make buildkernel KERNCONF=MYKERNEL

3. Шинэ цөмийг суулгана:

       # make installkernel KERNCONF=MYKERNEL

> Note: Цөмийг бүтээхэд гүйцэд FreeBSD-ийн эх мод байх шаардлагатай.

> Tip: Анхдагчаар өөрчлөн тохируулсан цөмийг бүтээхэд бүх цөмийн модулиуд бас бүтээгдэнэ. Хэрэв та цөмийг хурдан шинэчлэхийг эсвэл зөвхөн өөрчлөн тохируулсан модулиудыг бүтээхийг хүсэж байгаа бол цөмийг бүтээж эхлэхээсээ өмнө `/etc/make.conf` файлыг засварлах хэрэгтэй:

>     MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs

> Энэ хувьсагч нь бүгдийг биш бүтээх модулиудын жагсаалтыг тодорхойлдог.

>     WITHOUT_MODULES = linux acpi sound ntfs

> Энэ хувьсагч нь бүтээх процессод оруулахгүй байх дээд түвшний модулиудын жагсаалтыг тодорхойлдог. Цөмийг бүтээх процессийн явцад танд хэрэг болохуйц бусад хувьсагчуудын тухайд make.conf(5) гарын авлагын хуудсанд хандаж үзнэ үү.

Шинэ цөм `/boot/kernel` санд `/boot/kernel/kernel` нэрээр хуулагдах бөгөөд хуучин цөм нь `/boot/kernel.old/kernel` уруу хуулагдана. Одоо системийг унтраагаад шинэ цөмийг ашиглан дахин ачаал. Хэрэв ямар нэг юм болохгүй болбол энэ бүлгийн төгсгөлд байгаа алдааг олж засварлах заавар танд хэрэгтэй байж болох юм. Таны шинэ цөм ачаалахгүй тохиолдолд хэрхэн сэргээх талаар тайлбарласан хэсгийг заавал уншаарай.

> Note: Ачаалах loader(8) ба тохиргоо зэрэг ачаалах процесстой холбоотой бусад файлууд `/boot` -д хадгалагдана. Гуравдагч этгээдийн эсвэл өөрчлөн тохируулсан модулиуд `/boot/kernel`-д байрлах бөгөөд гэхдээ модулиудыг хөрвүүлсэн цөмийн адил сүүлийн үеийн хэлбэрт байлгах нь маш чухал гэдгийг хэрэглэгчид мэдэх шаардлагатай. Хөрвүүлсэн цөмтэй хамт ажиллуулахааргүй модулиуд нь тогтворгүй байдал эсвэл буруу ажиллагаанд хүргэж болзошгүй юм.

Prev | Home | Next
Цөмийн драйверууд, дэд системүүд, болон модулиуд | Up | Тохиргооны файл

Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.

FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал <admin@mnbsd.org> хаягаар цахим захидал явуулна уу.