2008-02-01

Хэрхэн Linux kernel compile, configure хийх вэ?

Нэгэнт би Линукс гэж системийн их бага хэмжээгээр ашигладаг болон багахан ч гэсэн мэддэг болсон болхоор энэ талаар блогтоо бичсээр байгаа билээ. Би сүлжээний чиглэлээр сурч бас энэ чиглэлээрээ ажиллаж байгаа тул ер нь аливаа байгууллагын сүлжээний инженер хүн гэдэг ашиглаж байгаа системийнхээ талаар багагүй мэдлэгтэй байх хэрэгтэй юм байна гэж би боддог. Анх ажилд орохдоо би систем админ гэж орсон юм. Одоо бол байгууллагын сүлжээ тогвтортой ажиллаж байна. Систем дээр алдаа гарахгүй ямар нэгэн асуудал гарахгүй байгаа болхоор өөрийгөө хөгжүүлэх болон хичээл ном, дипломаа бичих ажилд нэлээд цаг зарцуулахаар төлөвлөж байна. Бас VoIP-н талаар нэг жижхэн ном орчуулж эхэж байгаа удахгүй блогтоо тавих санаатай байгаа. Линукс системийнхээ цөмийг хэрхэн шинэчлэх талаар бичлээ.

Та өөрийн
Linux цөмийг шинэчилж суулгаснаар илүү их системийн боломжуудыг мэдрэх болно.

Цөмийг суулгах дараалал

-> 1 шинэ цөмийг татаж авах.

-> 2 дэд хэсгүүдийг бэлдэх.

-> 3 цөмийг тохируулах.

-> 4 цөмийг компайл хийж модулийг угсрах.

-> 5 цөмийг өөрчлөх.

-> 6 lilo суулгах болон тохируулах.

Хэвийн явагдаж дууссан бол энэ бүхэн маш энгийн байх болно.

1. цөмийг хэрхэн олох вэ:

Хэрвээ та хамгийн сүүлийн хувилбарыг татаж авах бол дараах ftp://ftp.kernel.org (эсвэл бусад толин серверээс татаж болно). Цөмийг дараах директороос татаж авна.

/pub/linux/. Татсан цөмөө /usr/src суулгана. Энд цөмийн файлууд болон каталогууд сууна (

linux-2.X.X, где 2.X.X - версия нового ядра) mkdir linux-2.X.X. командаар шинэ директор үүсгээд дараа нь дараах командаар linux (ln -s linux-2.X.X linux) ямар цөм байгааг харна

2. каталоги бэлдэж дууссан бол цөмөө суулана.

Дараах командаар файлаа задална.

Дараах 2 файл байх хэрэгтэй linux-2.X.X.tar.gz ба linux-2.X.X.tar.bz2.

linux-2.X.X.tar.gz:

tar xzvf linux-2.X.X.tar.gz

linux-2.X.X.tar.bz2:

bzcat linux-2.X.X.tar.bz2 | tar xv

Энэ команд файлуудыг өөр өөрийн каталогид нь задална.
Documentation
гэсэн хавтаст цөмийн талаарх мэдээлэл агуулагдаж байдаг.

Дараах командаар цөмөө компайл хийнэ:

make mrproper
хэсэг хугацаанд хүлээх хэрэгтэй

3. configure kernel.

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

Шинэ цөмийг суулгахад 3 алхамтай :

1 make config

2 make menuconfig

3 make xconfig

make config – энэ нь тохиргоог хийх эхлэл болдог.
make menuconfig –
суулгах нэг арга
make xconfig –
цөмийн . энэ нь X Window системийн зүрх нь болдог.
Энд
3 төрлийн параметр байдаг: y,m,n.

y(yes) – цөмийг суулгахыг зөвшөөрөх.

m(module) – модуль сууж дууссаны дараа системийг дахин ачаалахгүйгээр ажиллуулах.

n(no) - суулгахгүй.
Ингээд ерөхийдөө дууслаа

4. цөмийг компиляц хийх ба модул суулгах.

Энэ нь дараах алхамтай:

1 бэлдэх
-> make dep

-> make clean

2 цөмийн суулгах арга

-> make bzImage|bzdisk|bzlilo

3 модулийг бэлдэх болон суулгах

-> make modules

-> make modules_install

make bzImage - стандарт оператор, үүгээр л цөмийг удирдана. Дараах директорт сууна /usr/src/linux/arch/i386/boot.

bzImage lilo|grub нь системийг таниж ачааллана

make bzdisk – энэ нь bzImage ямар даалгавар өгхийг шийддэг, компайл хийсний дараа энэ нь автоматаар хийгддэг

make bzlilo – энэ нь шинэ цөмийн хийж чадах тодорхойлогдсон хэлбэр байх ба lilo-г бэлддэг

Гурав дахь алхам нь цөмийн модулийг суулгах

Энэ ажиллагаа нь дараах 2 командаар явагдана make modules ба

make modules_install.

Команд make modules_install нь цөмийг өөрийн каталогийн хэсэгт суулгадаг.

/lib/modules//kernel/. Модулийн төрөл

() каталогийн нэр

5. цөмийг өөрчилж дуусгах.

Суулгаж дуусгахад таньд цөөхөн алхам үлдлээ.

System.map файлын /boot каталогт цөмийн хувилбарын дугаар байна:

cp System.map /boot/System.map-2.X.X

дараах файлыг хуулна:

cp arch/i386/boot/bzImage /boot/bzImage-2.X.X

бүх ажиллагаа алдаагүй болсон бол шинэ цөм сууж дууслаа.

6. lilo засварлах.

/etc/lilo.conf файлын сүүлийн 6 мөрөнд дараах өөрчлөлтийг хийнэ

image = /boot/< өмнө нь систем дээр байсан цөм >

lable = linux

root = /dev/hda1

vga = 274

read-only

append = "debug=2 noapic nosmp"

lilo.conf өмнөх хэлбэр нь

image = /boot/<өмнө нь систем дээр байсан цөм>

lable = linux.orig

root = /dev/hda1

vga = 274

read-only

append = "debug=2 noapic nosmp"

image = /boot/<шинэ цөм>

lable = linux

root = /dev/hda1

vga = 274

read-only

append = "debug=2 noapic nosmp"

энэ бүхэн дууссан боло дараах командаар дуусгана:

# lilo

Added linux *

Added linux.orig

1 comment:

batbayar said...

c shell гэж юу вэ? яг яаадаг, юу хийдэг юм бол? жаахан ч хамаагүй мэгддэг зүйлээсээ хуваалцаач please