13.3. Ачаалагч Менежер болон Ачаалалтын шатууд

13.3.1. Ачаалагч Менежер

MBR эсвэл ачаалагч менежер дэх код нь заримдаа ачаалах процессийн тэг (0) шат гэж нэрлэгддэг. Энэ хэсэг нь хоёр ачаалагч менежерийг авч үзнэ: boot0 болон LILO.

boot0 Ачаалагч Менежер: FreeBSD-ийн суулгагч эсвэл boot0cfg(8)-р суулгагдсан MBR /boot/boot0 дээр тулгуурладаг. boot0-н хэмжээ болон боломж нь зүсмэлийн хүснэгт болон MBR-ийн төгсгөл дэх 0x55AA танигчаас болоод 446 байт байдаг. Хэрэв boot0 болон олон үйлдлийн системийг суулгасан бол ачаалах үед доор дурдсантай төсөөтэй дэлгэцийг харах болно:

Жишээ 13.1. boot0 дэлгэцийн агшин
F1 DOS F2 FreeBSD Default: F2

Бусад үйлдлийн системүүд ялангуяа Windows® нь FreeBSD-ийн дараа суусан бол байгаа MBR-ийг өөрийнхөөрөө дарж бичдэг. Хэрэв энэ тохиолдвол эсвэл та байгаа MBR-аа FreeBSD-ийн MBR-аар солихыг хүсвэл дараах тушаалыг ашиглана:

# fdisk -B -b /boot/boot0 device

Дээр бичигдсэн device нь эхний IDE дискний хувьд ad0, хоёр дахь IDE хянагч дээрх эхний IDE дискний хувьд ad2, эхний SCSI дискний хувьд da0 гэх зэрэг ачаалах диск байх юм. MBR-ийн өөрчлөн тохируулсан тохиргоог хүсэж байвал boot0cfg(8)-ийг ашигла.

LILO Ачаалагч Менежер: FreeBSD-г бас ачаалах энэ ачаалагч менежерийг суулгахын тулд Линукс эхлүүлээд дараах тохиргоог /etc/lilo.conf тохиргооны файлд нэмээрэй:

other=/dev/hdXY table=/dev/hdX loader=/boot/chain.b label=FreeBSD

Линуксийн тодорхойлогчдыг ашиглан X-г Линуксийн дискний үсгээр, Y-г Линуксийн анхдагч хуваалтын дугаараар сольж FreeBSD-ийн анхдагч хуваалт болон дискийг зааж өгнө. SCSI диск ашиглаж байвал /dev/hd/dev/sd болгон өөрчлөх хэрэгтэй. Хэрэв хоёр үйлдлийн систем хоёулаа нэг диск дээр байвал loader=/boot/chain.b мөр орхигдож болно. Дараа нь /sbin/lilo -v тушаалыг ажиллуулж шинэ өөрчлөлтийг системд оруулна. Зөв эсэхийг шалгахын тулд дэлгэц дээр гаргах мэдээллүүдийг хянан шалгах хэрэгтэй.

13.3.2. Нэгдүгээр шат /boot/boot1 болон Хоёрдугаар шат /boot/boot2

Ерөнхий төсөөллөөр бол эхний болон хоёр дахь шатууд нь дискний нэг талбар дахь нэг л програмын хэсэг юм. Зайнаас хамаараад тэдгээрийг хоёр хэсэг болгон хуваасан, гэхдээ үргэлж цугтаа суудаг. Тэдгээр нь нэгдсэн /boot/boot файлаас суулгагчаар эсвэл bsdlabel-р хуулагддаг.

Тэд файлын системүүдээс гадна ачаалах зүсмэлийн эхний зам дээр эхний сектороос эхлээд байрладаг. Энд л boot0 эсвэл өөр аль нэг ачаалагч менежер ачаалах процессийг үргэлжлүүлэх програмыг олно гэдэгт найдаж байдаг. Ашиглагдах секторуудын тоо /boot/boot-ийн хэмжээнээс амархнаар тодорхойлогдоно.

Зөвхөн 512 байт хэмжээтэй байдаг болохоор boot1 нь их энгийн хялбар бөгөөд boot2-ийг олж ажиллуулах, зүсмэлийн тухай мэдээллийг хадгалах, FreeBSD-ийн bsdlabel-ийн тухай хангалттай мэдээлэлтэй байдаг.

boot2 нь арай илүү төвөгтэй бөгөөд файлуудыг олоход хангалттай FreeBSD-ийн файлын системийг ойлгож цөм эсвэл дуудагчийг ажиллуулахыг сонгох маш энгийн интерфэйсээр хангаж чаддаг.

Дуудагч нь хамаагүй илүү төвөгтэй бөгөөд boot2-р ажилладаг ачаалалтын тохиргоотой байдаг.

Жишээ 13.2. boot2 дэлгэцийн агшин
>> FreeBSD/i386 BOOT Default: 0:ad(0,a)/boot/loader boot:

Суулгасан boot1 болон boot2 файлуудыг солиход bsdlabel(8)-ийг ашиглаж болно:

# bsdlabel -B diskslice

Дээр бичигдсэн diskslice нь эхний IDE диск дээрх эхний зүсмэлийн хувьд ad0s1 гэх мэтээр ачаалах диск болон зүсмэл юм.

Аюултайгаар Зориулагдсан Горим:

Хэрэв ad0 гэх мэтээр дискний нэрийг ашиглавал bsdlabel(8) нь зүсмэлүүдгүй аюултайгаар зориулагдсан диск үүсгэх болно. Энэ нь мэдээж хүсээгүй зүйл болохоор bsdlabel(8) тушаалыг Return дарж ажиллуулахаасаа өмнө түүнд дамжуулах diskslice-г дахин шалгаарай.

13.3.3. Гуравдугаар шат /boot/loader

Дуудагч нь гурван шаттай эхлүүлэгчийн төгсгөлийн шат бөгөөд файлын систем дээр гол төлөв /boot/loader гэж байрладаг.

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

13.3.3.1. Дуудагч програмын урсгал

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

Үүний дараа дуудагч нь хувьсагчуудын боломжийн анхдагчуудыг тохируулдаг /boot/defaults/loader.conf дотор байгааг анхдагчаар уншдаг /boot/loader.rc файлыг унших бөгөөд тэдгээр хувьсагчуудад хийх локал өөрчлөлтүүдэд зориулсан /boot/loader.conf файлыг мөн уншдаг. Дараа нь loader.rc аль модулиуд болон цөмийг сонгосон тэдгээрийг дуудан эдгээр хувьсагчуудын дагуу ажилладаг.

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

13.3.3.2. Дуудагчид багтсан тушаалууд

Эдгээр нь хамгийн ихээр ашиглагддаг дуудагчийн тушаалууд юм. Байгаа бүх тушаалуудын тухай бүрэн хэлэлцүүлгийг loader(8)-с үзнэ үү.

autoboot seconds

Секундээр өгөгдсөн хугацаанд тасалдаагүй бол цөмийг ачаалахаар үргэлжлүүлдэг. Энэ нь тоолуур харуулах бөгөөд анхдагч хугацаа нь 10 секунд байна.

boot [-options] [kernelname]

Өгөгдсөн тохируулгууд эсвэл цөмийн нэртэйгээр цөмийг нэн даруй ачаалахаар үргэлжлүүлнэ. unload тушаалыг ажиллуулсны дараа зөвхөн тушаалын мөрөөс цөмийн нэрийг өгч болох бөгөөд хэрэв ингэхгүй бол өмнө нь дуудагдсан цөмийг ашиглах болно.

boot-conf

Ихэвчлэн kernel байх өгөгдсөн хувьсагчууд дээр үндэслэн модулиудын автомат тохиргоогоор орно. Зарим хувьсагчуудыг өөрчлөхөөсөө өмнө unload-г эхэлж ашиглавал энэ нь зөвхөн ач холбогдолтой байдаг.

help [topic]

/boot/loader.help файлаас тусламжийн мэдээллүүдийг үзүүлнэ. Хэрэв өгөгдсөн сэдэв нь индекс бол байгаа сэдвүүдийн жагсаалтыг үзүүлнэ.

include filename

Өгөгдсөн файлын нэртэй файлыг процесс хийнэ. Файл уншигдаж мөр мөрөөр хөрвүүлэгдэнэ. Алдаа гарвал include буюу оруулах тушаалыг нэн даруй зогсооно.

load [-t type] filename

Цөм, цөмийн модуль, эсвэл өгөгдсөн төрлийн файлыг нэртэй нь дуудна. filename-н дараах дурын нэмэлт өгөгдлүүд нь файлд дамжуулагдана.

ls [-l] [path]

Өгөгдсөн зам эсвэл зам өгөгдөөгүй бол root сан дахь файлуудын жагсаалтыг харуулна. Хэрэв -l өгөгдсөн бол файлын хэмжээнүүдийг бас харуулдаг.

lsdev [-v]

Модулиуд магадгүй дуудагдаж болох бүх төхөөрөмжүүдийг жагсаана. Хэрэв -v өгөгдсөн бол илүү дэлгэрэнгүй мэдээлэл хэвлэгдэнэ.

lsmod [-v]

Дуудагдсан модулиудыг харуулна. Хэрэв -v өгөгдсөн бол илүү дэлгэрэнгүй мэдээллийг үзүүлнэ.

more filename

LINES болгоныг харуулан түр зогсож өгөгдсөн файлуудыг үзүүлнэ.

reboot

Системийг нэн даруй дахин ачаална.

set variable, set variable=value

Дуудагчийн орчны хувьсагчуудыг тохируулна.

unload

Дуудагдсан модулиудыг арилгана.

13.3.3.3. Дуудагчийн жишээнүүд

Дуудагчийн хэрэглээний практик жишээнүүдийг энд дурдав:

  • өөрийн ердийн цөмийг ганц-хэрэглэгчийн горимд ачаалахдаа:

    boot -s
  • Ердийн цөм болон модулиудыг буулган болиулж дараа нь хуучин эсвэл өөр цөмийг дуудахдаа:

    unload load kernel.old

    kernel.GENERIC-г суулгацын дисктэй цуг ирсэн анхдагч цөмийг дуудахдаа ашиглаж болох бөгөөд эсвэл цөмийг шинэчилж тохируулахаасаа өмнө эсвэл системийн шинэчлэл хийхээсээ өмнө суулгасан цөмөө дуудахдаа kernel.old-г ашиглаж болно.

    Тэмдэглэл:

    Ердийн модулиудыг өөр цөмийн хамт дуудахдаа доор дурдсаныг ашигла:

    unload set kernel="kernel.old" boot-conf
  • Цөмийн автомат тохиргооны скриптийг дуудахдаа:

    load -t userconfig_script /boot/kernel.conf

13.3.3.4. Ачаалах үеийн дэлгэцийн зураг

Хувь нэмэр болгон оруулсан Жозеф Ж. Барбиш.

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

FreeBSD дээр үндсэн хоёр орчин байдаг. Эхнийх нь хуучны анхдагч виртуал консол тушаалын мөрний орчин юм. Систем ачаалж дууссаны дараа консолын нэвтрэлт хүлээх мөр харуулагддаг. Хоёр дахь орчин нь Xorg графикийн орчин юм. График дэлгэцийн менежер болон график нэвтрэх менежерийг суулгаж тохируулах талаарх дэлгэрэнгүй мэдээллийг зохих бүлгээс үзнэ үү.

13.3.3.4.1. Ачаалах үеийн дэлгэцийн функц

Ачаалах үеийн дэлгэцийн функц нь зөвхөн 256 өнгийн битмап (.bmp), ZSoft PCX (.pcx) эсвэл TheDraw (.bin) хэлбэрүүдийг дэмждэг. Зураг файлууд нь стандарт VGA адаптер дээр ажиллахын тулд 320-ийг харьцах 200 пикселийн нягтралтай байх ёстой.

1024-ийг харьцах 768 пикселийн максимум нягтрал хүртэлх илүү том зургийг ашиглахын тулд VESA модулийг систем ачаалах үед дуудах хэрэгтэй. өөрчлөн тохируулсан цөмийн хувьд VESA цөмийн тохиргоог нэмэх хэрэгтэй. VESA дэмжлэгийг дуудсанаар бүх дэлгэцийг бүрхэх ачаалах үеийн дэлгэцийн зургийг харуулах боломжийг хэрэглэгчид олгодог.

Ачаалах үеийн дэлгэцийг харуулагдаж байх үед гарын аль ч товчлуурыг дарж болиулж болно.

Ачаалах үеийн дэлгэцийн зураг нь анхдагчаар гаднах дэлгэц амраагч болдог. Ашиглаагүй тодорхой хугацааны дараа ачаалах үеийн дэлгэцийн зураг гарч тодоос бүр харанхуй болон дахин дахин солигдон эргэлдэх болно. Дэлгэцийн зургийн тохиргоог /etc/rc.conf файлд saver= мөрийг нэмэн өөрчилж болно. Хэд хэдэн сонгож болох дэлгэц амраагч байдаг бөгөөд splash(4) гарын авлагын хуудаснаас олж болно. saver= тохиргоо нь зөвхөн виртуал консолд хамаатай гэдгийг санаарай. Энэ нь график дэлгэцийн менежерүүдэд ямар ч нөлөөгүй болно.

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

Жишээ ачаалах үеийн дэлгэцийн файлуудыг http://artwork.freebsdgr.org хаяг дахь галерейгаас татаж авч болно. sysutils/bsd-splash-changer портыг суулгаснаар ачаалах үеийн дэлгэцийн зургийг ачаалах болгонд санамсаргүйгээр цуглуулгаас сонгож харуулах боломжтой болно.

13.3.3.4.2. Ачаалах үеийн дэлгэцийн функцыг идэвхжүүлэх

Ачаалах үеийн дэлгэцийн .bmp, .pcx эсвэл .bin файлыг root хуваалт дээр жишээ нь /boot санд байрлуулах ёстой.

Ачаалагчийн анхдагч дэлгэцийн 256 өнгө, 320-ийг харьцах 200 пиксел юм уу эсвэл түүнээс бага нягтралын хувьд /boot/loader.conf файл дараахийг агуулсан байхаар засварлах хэрэгтэй:

splash_bmp_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.bmp"

1024-ийг харьцах 768 пикселийн максимум хүртэлх илүү том видео нягтралуудын хувьд /boot/loader.conf файл дараахийг агуулсан байхаар засварлах хэрэгтэй:

vesa_load="YES" splash_bmp_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.bmp"

Дээрх нь /boot/splash.bmp-ийг ачаалах үеийн дэлгэцдээ ашиглахыг зааж өгч байна. PCX файл ашиглахын тулд дараах илэрхийллийг vesa_load="YES" мөрийн хамтаар нягтралаас хамааруулан ашиглана.

splash_pcx_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.pcx"

FreeBSD 8.3 хувилбараас эхлээд TheDraw хэлбэрийн ascii зураг ашиглах өөр нэг сонголт бий.

splash_txt="YES" bitmap_load="YES" bitmap_name="/boot/splash.bin"

Файлын нэр нь дээрх жишээ дээрх шиг заавал «splash» гэдгээр хязгаарлагдахгүй. splash_640x400.bmp эсвэл bluewave.pcx зэрэг дэмжигдсэн төрлийн байхад болох юм.

loader.conf-ийн бусад сонирхолтой тохиргоонуудыг дурдвал:

beastie_disable="YES"

Энэ нь ачаалагчийн тохиргооны цэсийг харуулахгүй болгоно. Гэхдээ секунд гүйсэн тушаал хүлээх мөрийг харуусан хэвээр байх болно. Ачаалагчийн тохиргооны цэсийг хаасан ч гэсэн секунд гүйсэн тушаал хүлээх мөрөнд сонгосон сонголтын дагуу систем ачаалах болно.

loader_logo="beastie"

Энэ нь ачаалагчийн тохиргооны цэсний баруун талд харуулагдах «FreeBSD» гэсэн анхдагч үгийг өнгөт чөтгөрийн логогоор солих болно.

Дэлгэрэнгүй мэдээллийг splash(4), loader.conf(5), болон vga(4) гарын авлагын хуудаснуудаас үзнэ үү.

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

FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай холбоо барихаасаа өмнө баримтыг уншина уу.

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

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