Çekirdeğin Derlenmesi

Next: Çekirdek Konfigürasyonu Up: Linux Sistem Yönetimi Previous: Sistemin Güncellenmesi

# Çekirdeğin Derlenmesi

Bu bölümde, çekirdeğin konfigürasyonu ve derlenmesi için gerekli bilgiler vardır. Çekirdek derleme uzun ve zahmetli bir işlemdir. Derleme aşamasını en kısa zamanda ve en uygun yoldan gerçekleştirmek gerekir. Derleme işlemi, kullanıcının önüne kafasını karıştıracak kadar çok seçenek sunar.

Genel anlamda çekirdek, yazılımın ve donanımın arasında bekleyerek iletişimi sağlayan bir arabirimdir. Çalışan tüm programların ve süreçlerin hafıza ile olan ilişkilerini düzenler. İşlemcinin gücünün tüm bu programlar arasında adil bir şekilde dağıtımını üzerine alır. Bu işlemleri kullanıcının haberi olmadan her an durmaksızın yapar.

Çekirdek kaynak dosyaları diskte hatırı sayılır bir alan tutar. Örneğin sürüm 2.0.20 yaklaşık 6Mb disk alanı kaplar. Açıldığı zaman ise toplam kapladığı alan 24 Mb olur. Derleme aşamasından sonra bu rakam 30 Mb'yi geçer. Her eklenen aygıt sürücü desteği çekirdekten bir miktar daha yer alır.

Kullandığınız sisteme göre çekirdeğin derlenme süresi değişkenlik gösterir. 32 Mb Pentium 200MMX makinasında, 5 dosya sistemi desteği, ağ desteği ve ses kartı sürücüsü ile yaklaşık 5 dakika sürer. Aynı konfigürasyonu içeren çekirdeğin derlenmesi ise daha güçsüz bir makina olan 8Mb 386DX/40 altında 1.5 saati bulur. Derlerken gidip çayınızı için, biraz televizyon seyredin. Makinaniz 386 ise bir banyo alıp dışarı çıkın, alışveriş yapın. Çok ümitsiz bir durumdaysanız, yapılacak en iyi şey en yakın bilgisayar satıcısına uğrayarak yeni fiyatları sormak.

Çekirdek kaynak kodu , ftp://ftp.metu.edu.tr/pub/tsx/sources/systemODTÜ'deki adresinden veya tsx-11.mit.edu adresinin yansısını tutan herhangi bir adresten alınabilir. Bu dizin altındaki Linux sürümlerinin bir tanesini (v2.0, v2.1 gibi) seçtikten sonra altındaki dosyayı alabilirsiniz. Dosyanın ismi linux-x.y.z.tar.gz yapısındadır.

Aşağıdaki örnekte ODTÜ ftp arşivinden 2.0.20 sürümünün alınışı gösterilmektedir:

    $ ftp ftp.metu.edu.tr
    Connected to ephesus.cc.metu.edu.tr.
    220-
    220-Welcome to METU Ftp Site !
    220-
    220-All logins and transfers are logged with your hostname.
    220-If you do not agree with this policy, please cancel now.
    220-
    220 ephesus FTP server (Version wu-2.4(5) Wed Jan 10 18:06:56 EET 1996) ready.
    Name (ftp.metu.edu.tr:gorkem): ftp
    331 Guest login ok, send your complete e-mail address as password.
    Password:
    230-##########################################################################
    230-##    Welcome to the Middle East Technical University Ftp Archive       ##
    230-##########################################################################
    230-
    230-
    230-Hello ftp@compclup.ceng.metu.edu.tr !
    230-You are the 19. anonymous user.
    230-Maximum number of users allowed is 100.
    230-Local Time is Tue Nov  5 12:19:41 1996.
    230-
    230-Mirrored sites are placed under the directory /pub
    230-This archive is maintained by ftpload@ftp.metu.edu.tr
    230-You can reach this archive via FSP at port 21.
    230-
    230-You can reach public directories via "cd dirname"
    230-command independent of your current location;
    230-e.g. "cd linux" instead of "cd /pub/linux"
    230-
    230 Guest login ok, access restrictions apply.
    ftp> cd /pub/linux/tsx/sources/system/
    250-Please read the file README
    250-  it was last modified on Mon Sep 16 11:36:00 1996 - 50 days ago
    250 CWD command successful.
    ftp> dir
    200 PORT command successful.
    150 Opening ASCII mode data connection for /bin/ls.
    total 66
    -rw-r--r--  1 ftpload  ftp-adm     36981 Sep 16 12:36 CREDITS
    drwxr-xr-x  3 ftpload  ftp-adm       512 Oct 13 15:59 Historic
    -rw-r--r--  1 ftpload  ftp-adm     12056 Sep 16 12:36 README
    drwxr-xr-x  2 ftpload  ftp-adm       512 Oct 14 11:47 SillySounds
    drwxr-xr-x  2 ftpload  ftp-adm       512 Oct 13 18:17 testing
    drwxr-xr-x  2 ftpload  ftp-adm       512 Oct 14 11:47 v1.0
    drwxr-xr-x  2 ftpload  ftp-adm      2048 Oct 31 21:55 v1.1
    drwxr-xr-x  2 ftpload  ftp-adm      1024 Jun 25 11:34 v1.2
    drwxr-xr-x  2 ftpload  ftp-adm      6656 Sep 27 04:24 v1.3
    drwxr-xr-x  2 ftpload  ftp-adm      1536 Nov  2 00:05 v2.0
    drwxr-xr-x  2 ftpload  ftp-adm       512 Nov  2 21:33 v2.1
    226 Transfer complete.
    ftp> cd v2.0
    250 CWD command successful.
    ftp> bin
    200 Type set to I.
    ftp> dir linux*
    200 PORT command successful.
    150 Opening ASCII mode data connection for /bin/ls.
    total 141009
    -rw-r--r--  1 ftpload  ftp-adm   5859566 Jul  3 11:22 linux-2.0.1.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5940281 Jul 27 06:39 linux-2.0.10.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5952403 Aug  5 03:01 linux-2.0.11.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5954278 Aug  9 12:53 linux-2.0.12.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5981780 Aug 16 06:19 linux-2.0.13.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5984960 Aug 20 11:52 linux-2.0.14.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5986368 Aug 25 06:20 linux-2.0.15.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5990228 Aug 31 14:03 linux-2.0.16.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5991606 Sep  2 06:37 linux-2.0.17.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5993351 Sep  5 10:38 linux-2.0.18.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5997342 Sep 11 10:21 linux-2.0.19.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5861789 Jul  5 12:09 linux-2.0.2.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5997693 Sep 13 08:53 linux-2.0.20.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5999162 Sep 20 09:51 linux-2.0.21.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   6009488 Oct  8 13:02 linux-2.0.22.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   6010694 Oct 18 08:20 linux-2.0.23.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5931967 Jul  6 07:53 linux-2.0.3.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5926911 Jul  8 08:48 linux-2.0.4.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5927899 Jul 10 08:23 linux-2.0.5.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5929807 Jul 12 07:22 linux-2.0.6.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5931378 Jul 15 07:38 linux-2.0.7.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5936467 Jul 20 02:52 linux-2.0.8.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5939510 Jul 26 04:09 linux-2.0.9.tar.gz
    -rw-r--r--  1 ftpload  ftp-adm   5843677 Jun  9 23:36 linux-2.0.tar.gz
    226 Transfer complete.
    ftp> get linux-2.0.20.tar.gz
    200 PORT command successful.
    150 Opening BINARY mode data connection for linux-2.0.20.tar.gz (5997693 bytes).
    226 Transfer complete.
    5997693 bytes received in 136 secs (43 Kbytes/sec)
    ftp> quit
    221 Goodbye.

Sisteme root olarak giriş yapın ve `/usr/src` dizinine geçin. Linux'un kurulması aşamasında çekirdekleri de kurmuş iseniz bu dizinde 'linux' isminde ve eski çekirdeğin kaynak kodlarını kapsayan bir alt dizin göreceksiniz. Genellikle her kullanıcının yaptığı, bu dizinin ismini o an çalışan çekirdeğin sürümüne göre değiştirmektir. Çekirdek sürümünü bulmak için ise `uname -r` komutunu kullanabilirsiniz.

    $ uname -r
      2.0.23

Bu komuttan çekirdeğin 2.0.23 sürümü olduğunu anlayabiliriz.

Çekirdek kodunu içeren paketi açmadan önce `/usr/src` dizinine kopyalayın, ve açmadan önce bu dizinde 'linux' isimli bir dizinin olmadığına emin olun. Şimdi `/usr/src` içinde iken sıkıştırılmış çekirdek kodunu 'tar' komutu yardımıyla açın.

    # tar -zxf linux-x.y.z.tar.gz

Komutun işletimi bitince ``linux'' dizini oluşur. Bir sonraki aşamaya geçebiliriz.

- Çekirdek Konfigürasyonu
- Temizlik
- Çekirdeğin Kurulması
- Çekirdeğin Yamanması (patch)
- Çıkabilecek Sorunlar

Next: Çekirdek Konfigürasyonu Up: Linux Sistem Yönetimi Previous: Sistemin Güncellenmesi