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

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

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

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

Жишээ 13-1. boot0 дэлгэцийн агшин

F1 DOS
F2 FreeBSD
F3 Linux
F4 ??
F5 Drive 1

Default: F2

Бусад үйлдлийн системүүд ялангуяа Windows® байгаа 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 дарахаасаа өмнө дахин шалгаарай.

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

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

help [topic]

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

include filename

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

load [-t type] 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. Ачаалах үеийн дэлгэцийн зураг

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

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

FreeBSD дээр үндсэн хоёр орчин байдаг. Эхнийх нь хуучны анхдагч виртуал консол тушаалын мөрний орчин юм. Систем ачаалж дууссаны дараа консолын нэвтрэлт хүлээх мөр харуулагддаг. Хоёр дахь орчин нь X11 ширээний графикийн орчин юм. X11 болон GNOME, KDE, эсвэл XFce зэрэг аль нэг ширээний орчнуудыг суулгасны дараа X11 ширээний орчныг startx тушаалыг ашиглан ажиллуулж болно.

Зарим хэрэглэгчид уламжлалт текст нэврэлт хүлээх мөрнөөс илүү X11 график нэвтрэлтийн дэлгэцийг илүүд үздэг. Xorg-д зориулсан XDM, GNOME-д зориулсан gdm болон KDE-д зориулсан kdm (болон портын цуглуулга дахь бусад) нь консол нэвтрэлт хүлээх мөрний оронд график нэвтрэх дэлгэцийн боломжийг үндсэндээ бүрдүүлдэг. Амжилттай нэвтэрсний дараа хэрэглэгчид график ширээний орчинг харуулдаг.

Тушаалын мөрний орчинд ачаалах үеийн дэлгэц нь нэвтрэлт хүлээх мөрийг үзүүлэхээсээ өмнө ачаалах үеийн бүх мэдэгдлүүд болон эхлүүлэлтийн мэдэгдлүүдийг нуух болно. X11 орчинд хэрэглэгчид нь тэдний танил (Microsoft® Windows эсвэл unix биш төрлийн) системийн эхлэлийг харах болно.

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

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

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

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

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

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

Жишээ ачаалах үеийн дэлгэцийн файлуудыг 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"

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> хаягаар цахим захидал явуулна уу.