Linux nüv sinin kompilyasiyası ə



Yüklə 149,36 Kb.
Pdf görüntüsü
tarix01.09.2018
ölçüsü149,36 Kb.
#66252
növüQaydalar


  Linux nüv sinin kompilyasiyası

ə

Aşağıdakı mətndə Linux nüvəsinin kompilyasiyası və sistemin yeni nüvə 

ilə yüklənməsi qaydaları izah olunur.

 Linux nüvəsi açıq kodlu olduğundan onun istənilən versiyasının mənbə 

kodlarını kernel.org saytından endirməklə kompilyasiya etmək olar.

Bunun üçün aşağıdakı əməliyyatları yerinə yetirmək tələb olunur:

 

  1. Linuxu endirmək 



 Əvvəlcə kernel.org saytından Linux nüvəsinin istədiyiniz 

buraxılışını endiririk(linux-xxx.tar.gz faylı). 

Məsləhət: konfiqurasiya və yüklənmə zamanı problem yaşamamaq üçün 

hal-hazırda istifadə etdiyiniz nüvənin versiyasına uyğun və ya ona 

yaxın versiyanı endirmək məsləhətdir. Hal-hazırda istifadə etdiyiniz 

nüvənin versiyasını uname -r əmri ilə örgənə bilərsiniz.

    

  2. Genişləndirmək 



Endirdiyimiz faylı genişləndiririk. Bunun üçün terminaldan linux-

xxx.tar.gz fayl yerləşən qovluğa daxil olub     tar -xvvf linux-

xxx.tar.gz əmrini daxil edirik

   tar -xvvf linux-xxx.tar.gz 

Nəticədə linux-xxx adlı qovluq yaranacaq. Bu qovluqda linuxun mənbə 

kodları yerləşir. Genişlənmə nəticəsində yaranmış qovluğa daxil 

oluruq:


    cd linux-xxx

 3. Kanfiqurasiya

 Linux nüvəsi xalis nüvə faylından(özək) və nüvəyə sonradan (icra 

zamanı) yüklənə bilən modullardan ibarət olur. Modullar nüvənin bir 

hissəsi sayılır və birbaşa nüvəyə, ya da ayrı kompilyasiya oluna 

bilər. Kompilyasiya prosesinə başlamazdan öncə nüvə konfiqurasiya 

olunmalıdır. Bu mərhələdə kompilyasiya etmək istədiyimiz nüvəyə hansı 

imkanları əlavə etməyimiz, hansı imkanları ləğv etməyimiz, hansı 

hissələrin modul, hansılarının isə özəyə daxil olunması v.s. kimi 

suallara cavab veririk. Nüvəni hər-dəfə kompilyasiya etməzdən qabaq 

konfiqurasiya etmək tələb olunmur. Lakin ilk dəfə kompilyasiya zamanı 




bunu mütləq etməliyik. 

Nüvəni konfiqurasiya etmək üçün müxtəlif əmrlər mövcuddur, hər biri 

nüvəni müxtəlif üsulla konfiqurasiya etməyə imkan verir. Misal üçün 

make defconfig susmaya görə, make menuconfig qrafik konfiqurasiya 

(ncurses kitabxanası tələb edir), make oldconfig hazırki istifadə 

olunan nüvəyə uyğun konfiqurasiya edir. Yeni başlayanlar üçün sonuncu 

daha məsləhətdir. Beləliklə nüvəni konfiqurasiya etmək üçün aşağıdakı 

əmri daxil edirik:



  make oldconfiq

Nəticədə nüvə konfiqurasiya olunancaq və .config faylı yaradılacaq. 



 4. Kompilyasiya 

Nüvəni konfiqurasiya etdikdən sonra onu kompilyasiya etmək olar. 

Bunun üçün make əmrini daxil etməliyik. Birinci dəfə bunu etmək 

vacibdir. Çünki bu zaman həm nüvənin özəyi(bzİmage faylı), həm də 

modullar kompilyasiya olunancaq. Yeni nüvənin quraşdırılması zamanı 

modullar tələb olunur. Lakin növbəti kompilyasiyalar zamanı isə 

modulları hər-dəfə kompilyasiya etməyə ehtiyac yoxdur. Beləliklə nüvə 

və modulları kompilyasiya etmək üçün make əmrini daxil edirik:



  make

Nəticədə nüvənin və modulların kompilyasiyasından ibarət uzun bir 

proses başlamış olacaq. Qeyd edim ki, nüvənin buraxılışından asılı 

olaraq sizə gcc kompilyatorunu quraşdırma tələb olunur. İlk dəfə 

bütün modullar kompilyasiya olunduğuna görə proses xeyli vaxt apara 

bilər, lakin sonralar kompüterinizin imkanlarından asılı olaraq 

kompilyasiya 5-10 dəq vaxt aparır. Kompiklyasiya uğurla bitərsə yeni 

nüvə faylı arch/x86/boot/bzImage faylına yazılır.  

İndi qalır sistemi yeni nüvə ilə yükləmək.

 5. Quraşdırma 

 Yeni nüvəni sistemə tanıtmaq üçün make install əmrini daxil edirik. 

Qeyd edim ki, bu əmr sizdən inzibatçı səlahiyyətləri tələb edə bilər. 

  make install

 6. Yenidən yükləmə

  Artıq yeni nüvə və modullar tələb olunan qovluqlara köçürülüb və 

sistemin yüklənmə skriptinə lazımi dəyişiklər quraşdırma skripti 

tərəfindən edilmişdir. Yeni nüvəni test etmək üçün kompüteri yenidən 




yükləmək və nüvə seçimi zamanı yeni nüvəni seçmək lazımdır. Sistemi 

adi qayada yenidən yükləyə bilərik, ya da terminaldan reboot əmrini 

daxil edə bilərik:

  reboot

Nəticədə komüter yenidən yüklənəcək, GRUB -un (butloader) təqdim 

etdiyi nüvələr siyahısından yeni nüvəmizi seçirik və yükləmə 

prosesini davam etdiririk. Müxtəlif səbəblərdən yeni nüvənin 

yüklənməsində problemlər yarana bilər. Misal üçün tələb olunan 

drayverləri nüvə tapa bilmir, konfiqurasiya xətası v.s. Etiraf edək 

ki, nüvəni kompilyasiya etmək və sistemi yeni nüvə ilə yükləmək bir 

balaca çətinliyi artırılmış işlərdən hesab olunur və bu işi yerinə 

yetirəndən müvafiq təcrübə tələb edir. İstənilən halda sitemi yeni 

nüvə ilə uğurlu yükləməyə nail olsanız sizə həqiqətən də alqış düşür. 

Sistemin hansı nüvə ilə işlədyini yoxlamaq üçün onun buraxılışını 

uname -r əmri ilə örgənə bilərsiniz.

   

  Qeydlər:

Adətən Linuxu sisten inzibatçıları və nüvəni örgənmək istəyən gənc 

sistem proqramçılar kompilyasiya edir. Hər-iki halda nüvəni dəfələrlə 

kompilyasiya etmək tələb olunur. Adi istifadəçi proqramlarından 

fərqli olaraq nüvəni test etmək üçün kompüteri yenidən yükləmək tələb 

olunduğundan hətta sürətli kompüterlərdə belə bu örgənmə prosesini 

xeyli dərəcədə ləngidir. Bundan əlavə test nüvədə hər-hansı xəta 

fayllar sistemini zədələyə bilər. Bu isə sizin lazımlı fayllarınızın 

itirilməsi v.s. fəsadlarla nəticələnə bilər. Buna görə yeni nüvəni 

ayrı kopüterdə test etməyiniz məsləhətdir. Lakin adətən ikinci 

kompüter təşkil etməyə elə də imkan olmur, ya da masa üzərində 

narahatlıq yaradır. Buna görə sistem proqramçılar virtual maşından 

istifadə edir. Mən burada virtual maşının nəcür  qurulduğunu və necə 

istifadə olunduğunu izah etməyəcəm. Linuxun kompilyasiyası ilə 

müqaisədə virtual maşınların quraşdırılması və istifadəsi çox 

sadədir. Burada sadəcə virtual maşınla yeni nüvəni necə test etməyə 

aid öz istifadə etdiyim qaydanı izah edəcəm. Əlbəttdə bunun üçün 

qaydalar çoxdur, lakin məqsəd birdir. Tələb olunan faylı, tələb 

olunan ünvana yerləşdirmək. 

Beləliklə bizə nə lazımdır:

  Virtual maşın simulyasiya proqramı. Mən VirtaulBox proqramını 

məsləhət görürəm. Hər-hansı linux distributivini virtual maşına 

yükləyirik. Həmin virtaul sistemin nüvəsinə uyğun linux nüvəsnini 

kernel.orq saytından endiririk və yuxarıda izah olunan qayda üzrə 

kompilyasiya edirik. İndi test  nüvəni virtual maşına yükləyib onu 



yenidən yükləməliyik. Bunun üçün host maşına appache veb serverini 

quraşdırıb, bzİmage faylını (arch/x86/boot)  /var/www/html qovluğuna 

köçürürük. Daha sonra virtaul maşından wget host_ip_ünvanı/bzImage 

əmrini daxil edirik.  Hostun ip ünvanın örgənmək üçün terminaldan 

ifconfig əmrini daxil edirik. Yeni nüvə (bzİmage faylı) virtual 

maşına yükləndikdən sonra onu tələb olunan yerə köçürməliyik. Adətən 

bu /boot/grub qovluğu olur. Bundan əlavə Grub butloaderin 

konfiqurasiya faylında da dəyişiklik etməliyik. Adətən bu menu.lst 

faylı olur. Həmin faylın əvvəlcə nüsxəsini saxlayırıq. Sonra həmin 

faylda hazırki nüvəyə uyğun menyunu olduğu kimi köçürürük və sadəcə 

nüvə faylının adını test nüvə faylının adı ilə dəyişirik(bzİmage). 

Virtual maşını yenidə yükləyirik.



Yüklə 149,36 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə