Bilgiler
Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.
Aktivasyon mailiniz gelmediyse buraya tıklayın.
25 Temmuz 2008
Saat: 22:56:43

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz
  Arama
  Istatistikler
40447 Mesaj 6914 Konu Gönderen: 513 Üye
Son üye: kamemel
  Kimler Online
  Siteler
  Linux Dünyasından
Lapis Wiki

Lapis Wiki


Lapis Wiki - Son değişiklikler [Tr]

Yapılan en son değişiklikleri bu sayfadan izleyin.

Son Mesajlar

Son Mesajlar
[DNS (Nameserver)] Dns hakkında kaynak :((( Gönderen: huseyin Bugün 19:36:43
[Debian / Knoppix ] Elimdeki Imajı Herhangi Bir Makineye Gönderen: LinuxDebian Bugün 17:06:25
[Debian / Knoppix ] Woody Sources.List Gönderen: LinuxDebian Bugün 17:05:39
[Debian / Knoppix ] İnternet'e bağlanmak için yapılması gerekenler Gönderen: LinuxDebian Bugün 15:02:21
[Debian / Knoppix ] Harici Harddiski Tanıtmak Gönderen: LinuxDebian Bugün 15:01:14
[Debian / Knoppix ] Film Partlarını Birleştirme Gönderen: heartsmagic Bugün 13:43:48
[Havadan Sudan] YellowPages.com.tr Gönderen: kamemel Bugün 10:01:42
[Ağ Genel] BRAS server Gönderen: e-diablo 24 Temmuz 2008
Saat: 22:43:45
Rastgele Ekran Görüntüsü
+  Lapis Forum
|-+  Linux Güvenlik
| |-+  Genel Güvenlik
| | |-+  Adım Adım 2.6.x Kernel Derleme-Güncellendi
0 Üye ve 1 Ziyaretçi konuyu incelemekte. « önceki sonraki »
Sayfa: [1] 2   Aşağı git Yazdır
Gönderen Konu: Adım Adım 2.6.x Kernel Derleme-Güncellendi  (Okunma Sayısı 8679 defa)
dropby23
Ziyaretçi
« : 20 Eylül 2005
Saat: 00:42:33 »

2.6.x Serisi İçin Kernel Derleme:

Kernel Neden Derlenir:

*Yüklediğiniz bir paket kernelin son stabil sürümüne ihtiyaç duyuyordur.
*Yeni kernel ile gelen bir sürücü desteği vardır.
*Gereksiz modülleri ve eklentileri kaldırıp sistemi optimal şekle sokmak istiyorsunuzdur.
*Yeni bir güvenlik açığı çıkmıştır sistemde yetki kazanan kişi bu açığı sömürerek en yetkili kişi yani root olabilmektedir.
*Kernel Derlemeyi öğrenmeye çalışıyorsunuzdur. Smiley

Bu yazıyı 2.6.x kernel serisi için yazıyorum 2.4.x serisi nin yeniden derlenme işlemi ile 2.6.x in  yeniden derlenme işlemi bir kaç kısımda farklılık göstermektedir şu anda www.kernel.org da en stabil sürüm 2.6.13.2 bu yazıyıda ona göre yazacağım.Bu işlemleri yaparak birden çok kernel imaj dosyasını barındırabilirsiniz böylece bir sorun olduğunda eski kerneller ile başlatabilirsiniz.Kesinlikle buradaki adımları sırayla ve anlatıldığı gibi yaparsanız bir sorunla karşılaşmazsınız aynı zmaanda bu işlemi başarıyla tamamlarsınız.


Kernelin Ana Görevleri:
Kernel genel olarak programlar ve donanımlarınız arasındaki bağlantıyı kurar linux işletim sisteminin kalbidir.Bütün programlar için bellek ayarlamasını gerçekleştirir ve işlem döngüsünü paylaştırır tabi kernele eklediğiniz seçeneklere göre yaptığı görevler artıp azalabilir.

Bu işlem için gerekli olanlar versiyonları ile şunlardır



Kod:
o  Gnu C                  2.95.3       # gcc --version
o  Gnu make               3.78         # make --version
o  binutils               2.12         # ld -v
o  util-linux             2.10o        # fdformat --version
o  module-init-tools      0.9.10       # depmod -V
o  e2fsprogs              1.29         # tune2fs
o  jfsutils               1.1.3        # fsck.jfs -V
o  reiserfsprogs          3.6.3        # reiserfsck -V 2>&1|grep reiserfsprogs
o  xfsprogs               2.1.0        # xfs_db -V
o  pcmcia-cs              3.1.21       # cardmgr -V
o  quota-tools            3.09         # quota -V
o  PPP                    2.4.0        # pppd --version
o  isdn4k-utils           3.1pre1      # isdnctrl 2>&1|grep version
o  nfs-utils              1.0.5        # showmount --version
o  procps                 3.1.13       # ps --version
o  oprofile               0.5.3        # oprofiled --version
Bunları gerekli rpm depolarından çekebilirsiniz.

Loadeble Modül Nedir
Bunlar kernele direk olarka bağlanmamış kernel kodlarıdır.İstenildiği zaman kernele sokulup yada çıkartılabilir.Çoğu popüler aygıt sürücüleri yüklenebilir kernel modüllerini içerir  PCMCIA sürücüleri gibi.Loadeble modül desteğini kullanmazsanız kernelinizi boyutu gerçekten çok büyük olur ve gereksiz modülleri istediğiniz zaman çıkartamazsınız.


Mevcut Donanımların Öğrenilmesi
Sistemimizle ilgili detaylı bilgi toplamalıyız işlemci kontrol kartları grafik kartı vs. bu sayede optimal ayarlar ile kernelin derlenmesini tamamlıyabilelim.
Kod:
/sbin/lspci
komutunu konsolda vererek donanımımız hakkında gerekli bilgiyi ekrana getiriyoruz
Kod:
[root@localhost ~]# /sbin/lspci
00:00.0 Host bridge: Intel Corporation 82845 845 (Brookdale) Chipset Host Bridge (rev 04)
00:01.0 PCI bridge: Intel Corporation 82845 845 (Brookdale) Chipset AGP Bridge (rev 04)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 05)
00:1f.0 ISA bridge: Intel Corporation 82801BA ISA Bridge (LPC) (rev 05)
00:1f.1 IDE interface: Intel Corporation 82801BA IDE U100 (rev 05)
00:1f.2 USB Controller: Intel Corporation 82801BA/BAM USB (Hub #1) (rev 05)
00:1f.3 SMBus: Intel Corporation 82801BA/BAM SMBus (rev 05)
00:1f.4 USB Controller: Intel Corporation 82801BA/BAM USB (Hub #2) (rev 05)
01:00.0 VGA compatible controller: nVidia Corporation NV18 [GeForce4 MX 440 AGP 8x] (rev a2)
02:05.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 50)
02:05.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 50)
02:05.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 51)
02:06.0 Ethernet controller: VIA Technologies, Inc. VT6105 [Rhine-III] (rev 8b)
02:0b.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 08)

Ekran kartı,Ses kartı,Sürücü kontrol kartları ile bilgilerin hepsi ekrana çıktı.Şimdide işlemcimizi öğrenelim hyper threading desteği varsa smp kernel desteğini açacağız

Kod:
cat /proc/cpuinfo
komutunu veriyoruz konsolda
Kod:

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 2
model name      : Intel(R) Pentium(R) 4 CPU 2.40GHz
stepping        : 7
cpu MHz         : 2424.306
cache size      : 512 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid xtpr
bogomips        : 4852.62
Böylece işlemcimizinde özelliklerini öğrendik.Eğer paket bir dağıtım kullanıyorsanız kerneli derlemeniz çok basit yum için yum update kernel çift işlemciler için yum update kernel-smp apt-get update kernel gibi ama biz burada kaynak kodundand erlemeyi göstericez.

2.4.x Kernelden 2.6.x e güncelleyeceklerin yapmaları gerekenler

Kod:
cd /usr/local/src/
wget http://www.kernel.org/pub/linux/kernel/people/rusty/modules/old/module-init-tools-3.0.tar.gz
tar -zxf module-init-tools-3.0.tar.gz
cd module-init-tools-3.0
./configure --prefix=""
make moveold
make install
./generate-modprobe.conf /etc/modprobe.conf

Kaynak Kodundan Yükleme
www.kernel.org sitesine girerek en son stabil 2.6 kerneli çekiceğiz
Kod:
cd /usr/src
yazarak /usr/src dizinine geçiyoruz wget komutuyla en son stabil kernelimizi sistemimize çekicez.Bzip formatlı şeklini tercih ederseniz indirirken size kolaylık olur en fazla sıkıştırılmış şeklidir.
Kod:
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.13.2.tar.bz2
komutuyla bzip dosyasını /usr/src dizinine çekiyoruz şimdi dosyayı açalım
Kod:
tar xfvj linux-2.6.13.2.tar.bz2

Kod:
cd linux-2.6.13.2
komutunu vererek linux-2.6.13.2 klasörüne giriyoruz daha sonra alttaki komutu veriyoruz
Kod:
make mrproper
bu komut eski ayarların temizlenmesini sağlamaktadır ayrıca bazı dosyalar yeniden derlenmeyeceği için bu komutu uygulamazsanız sorunlu kurulum yada hatalı kernele sebep olabilir.

Kernelin Konfigurasyonu
Bu aşama sisteminizi iyi tanımanız gereken bir aşamadır.Gerekli modülleri buradan ekleyip gereksizleri kaldırabilir gerekli sistemler için destek verip gereksizleri kaldırabilrisiniz.Şunudabelirtmek istiyorum kernelin ayarlanması aşamasında ayarlarla ilgili bir değişiklik yapmazsanızda sorunsuz olarak yeni kernel çalışacaktır o yüzden çok fazla karıştırmak istemiyorsanız olduğu gibi bırakın bir sorun yaşamazsınız.Static olarak ekleyeceğiniz özellikler daha hızlı çalışmasına karşın kernelinizin boyutları büyüyecektir dinamik olarak dahil edilen modüller ise birazdaha yavaş çalışmasına karşın kernelinizin boyutunun daha küçük kalmasını sağlayacaktır.

Kod:
make menuconfig
komutunu konsolda vererek konfigurasyon menusune geçiyoruz


Seçenekler:
Code maturity level options  :
Bu seçenek sayesidne alpha durumdaki sürücüleri ve yazılımları yüklemenizi sağlıyor stabil bir kernelimiz olacağı için bunun altındaki 2 seçeneği kapatıyoruz.

General Setup
Burdaki seçenekler ile sysctl.conf u aktif hale getirip .config desteği katarak kernele bir daha kerneli derleyeceğiniz zaman aynı confiği kullanmayı sağlayabilrisiniz.Burada benim işaretlediklerim.

Kod:
Support for paging of anonymous memory (swap)
System V IPC     
POSIX Message Queues 
BSD Process Accounting
Sysctl support
Auditing support
Kernel Userspace Events
Kernel .config support
Bunları Seçtikten Sorna Diğer Menuye Geliyoruz

Loadable module support
3. Parti Modüller kuracaksınız bunu açmanızı tavsiye ediyorum benim işaretlediğim seçimler şunlardır tabi siz kendi sisteminizi derleyeceğiniz için kendi gereksinimlerinizi daha iyi biliyorsunuzdur.
Kod:
Module unloading 
Source checksum for all modules
Module versioning support (EXPERIMENTAL) 
Automatic kernel module loading 
Diğer Bölüme Geçiyoruz

Processor type and features
Bu kısım en önemli kısım bu kısımla birlikte topladığımız bilgileri değerlendiricez cpu hakkında sistem hakkında çok cpu su bulunana sistemler bu desteği kernele buradan katıcak yada fazla ram i olanlar bu desteği buradan katıcak ben kendi sistemime göre seçtiklerimi size aktarıcam sizde kendi seçimlerinizi yapın üstünde m olanlar modül olarak kurulucaklar çoğu laptopda m seçeneği var onları kaldırabilrisiniz benim seçtiklerim
Kod:
Generic x86 support
HPET Timer Support
2 yada daha fazla işlemciniz varsa Symmetric multi-processing support  seçin
Machine Check Exception 
(M) /dev/cpu/microcode - Intel IA32 CPU microcode support m olarak yazdıklarım modül olarak seçtiklerimdir.
 <M> /dev/cpu/*/msr - Model-specific register support
<M> /dev/cpu/*/cpuid - CPU information support     
4 gb tan fazla raminiz varsa bu seçeneği seçin
[*] Allocate 3rd-level pagetables from highmem   
 [*] MTRR (Memory Type Range Register) support   
 [*] Use register arguments (EXPERIMENTAL)     
  [*] Enable seccomp to safely compute untrusted bytecode 
dğer menuye geçiyoruz
Power management options (ACPI, APM)
Bir server için bunları derliyorsanız bu desteğin bütün seçeneklerinin işaretini kaldırın ama benim gibi ev bilgisayarları için yapıyorsanız bir kaç seçenek işaretleyebiliriz.İşaretleyeceğim seçenekler.Bunları daha öncede belirtiğim gibi kendi gereksinimlerinize göre yapmalısınız.
ACPI and CPU  Frequency Scaling seçenekleri laptopların güç kullanımını arttırmaktadır.
Kod:

 [*] Power Management support
ACPI menüsü altından     
  [*] ACPI Support 
<*>   Fan 
 <*>   Processor
 <*>     Thermal Zone
 [*]   Power Management Timer Support 
APM menüsü altından
     <*> APM (Advanced Power Management) BIOS support             
  [*]   Make CPU Idle calls when idle   
    CPU Frequency scaling  --->       menüsünden amd ve laptop desteklerini kaldırdım gerekli bilgileri menude iken ? tuşuna basarak alabilrisiniz

Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->
ISA ve MCA destekleri yeni makinalarda kapatılabilir benim seçtiklerim
Kod:
[*] PCI support   
 [*]   Legacy /proc/pci interface
 [*]   PCI Express support    eski ekran kartım için

Executable file formats
Değişik binaryler kullanmıyorsanız elf desteği dışındkailer kapatılabilir.Kernelin bir çok binary ye desteklemesini sağlamaktadır burada olanlar benim seçtiklerim
Kod:
Kernel support for ELF binaries     

  Networking  --->   
Burada fazla birşeyi değiştirmenize gerek yok istemiyorsanız bluetooth desteğini filan kaldırabilirsiniz
Ben bu kısımı standart geldiği hal ile bıraktım.

Device Drivers
Gene aynı şekilde burda kullandığınız donanımlara göre işaretleyin bir sunucu için burdkailerin çoğu gereksiz
Sunucu için yapıcağınız ayar:
Kod:
Generic Driver Options -
-- Memory Technology Devices (MTD) - kapayım
-- Parallel port support - kapayın
-- Plug and Play support -kapayın
-- Block devices - kullanmayacağınız bütün aygıtları kaldırın flopy gibi sunucu için bu dediklerim tabiki
-- ATA/ATAPI/MFM/RLL support -SCSI disk kullanıyorsanız hepsini silin sata yada ide kullanıyorsanuz hepsi kalsın
-- SCSI device support - IDE kullanıyorsanız desteği kapatın sata içinde açık kalacak
-- Old CD-ROM drivers (not SCSI, not IDE) - kapatın
-- Multi-device support (RAID and LVM) - RAID kullanmıyorsanız kapatın
-- Fusion MPT device support - SCSI kullanıyorsanız seçili kalsın
-- IEEE 1394 (FireWire) support - Firmware desteği sunuculara gereksizdir kapatın
-- I2O device support - kapatın
-- Networking support - seçilenler olduğu gibi kalsın
---- IrDA (infrared) subsystem support - Sunucuda kızıl ötesine ihtiyacımız yok kapatın.
---- ARCnet devices - Kapatın
---- Token Ring devices - Kapatın
---- Wireless LAN (non-hamradio) - Kapatın
---- Wan interfaces - Kapatın
---- ATM drivers - Kapatın
---- FDDI driver support - Kapatın
---- PPP (point-to-point protocol) support - DSL de kullanılan protokoldür
-- ISDN subsystem - Kapatın isdn ciler açsın
-- Telephony Support - telefon desteği kapatın
-- Input device support - Alt menüsü
---- Joystick interface- Kapatın
---- Mice - Kapatın
--Character devices - Olduğu gibi kalsın
--Misc devices - Kapatın
-- Multimedia devices - Kapatın
-- Graphics support - Serverda GUI çalıştırmayacağız kapatın masaüstü için lazım
-- Sound - Sunucuda oyun oynamıcaz kapatın.Ev sistemleri için gerekli
-- USB support - Sunucuda usb desteği gereksiz ev sistemi için gerekli
-- MMC/SD Card support - Kapatın Sunucu için
Gördüğünüz gibi yukardaki değişiklikleri tamamen kendi hitiyaçlarınıza göre yapıcaksınız.

File systems
ev sistemleri için bu ayarlar olduğu gibi kalsın sunucu sistemleri için şu şekilde değiştirlebilirler.
Kod:
-- Minix fs support - Kapatın
-- ROM file system support - kapatın cdrom desteğine gerek yok sunucuda
-- CD-ROM/DVD Filesystems - cd/dvd desteğine gerek yok kapatın sunucuda
-- DOS/FAT/NT Filesystems - kapatın
-- Miscellaneous filesystems - Kapatın
-- Network File Systems- Kapatın
  Profiling support
Sunucu için kapayın ev bilgisayarları için şu seçenekler açık kalsın
Kod:
   [*] Profiling support (EXPERIMENTAL)                                       
 <M>   OProfile system profiling (EXPERIMENTAL)   
 

Kernel hacking
Sunucu bilgisyaarları için kkapatın ev bilgisayarları için şu seçeenkler açık kalabilir
Kod:
[*] Kernel debugging                                                         
  [*]   Magic SysRq key     
(17)  Kernel log buffer size (16 => 64KB, 17 => 128KB)
[*]   Spinlock debugging                                                             
 [*] Sleep-inside-spinlock checking 
 [*] Highmem debugging   
 [*]   Check for stack overflows 

Security options
Varsayılan değerler gayet iyi oldukları gibi kalsınlar.Sunucu bilgisayarları için selinux u kapatın centos upgrade lerinde sorun çıkartabiliyor 3.x den 4.x e
Cryptographic options
Varsayılan değerler iyi oldukları gibi kalsınlar
Library routines
Varsayılan değerler iyi oldukları gibi kalsınlar.
Exit dedikten sonra
Do you wish to save your new kernel configuration?
Sorusunu yes olarak cevapladıktan sonra ayar işlemini bitiriyoruz şimdi derlemesi kaldı

Kernelin Derlenmesi
konsolda sırayla şu komutları veriyoruz
Kod:
make bzImage
kurulum işlemi başlıyor bu işlem tamalandıktan sonra aşağıdkai komutu veriyoruz kosoldan üstteki komut ile kerneli oluşturduk make modules komutu ile yüklenebilen modülleri oluşturuyoruz.
Kod:
make modules
daha sonra alttaki komutu veriyoruz
Kod:
make modules_install

bu komut ile modüller /lib/modules/2.6.13.2 altına yükleniyor
şimdi Initial ramdisk oluşturucaz bunu oluşturmamızdaki sebep sürücülerin root dosya sistemini yüklemeleri gerekliliğidir fakat sürücüler root dosya siteminde olduğu için normal koşullarda yükleyemezler onun için ramdisk oluşturuyoruz.Ana sürücülerinizi modül olarak yüklemediyseniz bunu yapmanıza gerek yok ev bilgisayarlar için

aşağıdaki komutla bunu oluşturuyoruz
Kod:
mkinitrd /boot/initrd-2.6.13.2.img 2.6.13.2

şimdi kerneli oluştrduğumuza göre kullanım için hazırlıyalım

Kod:

 cp .config /boot/config-2.6.13.2
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.13.2
cp System.map /boot/System.map-2.6.13.2
ln -s /boot/System.map-2.6.13.2 /boot/System.map

/dev/mapper/control ile ilgili bir hata alırsanız bunu yapın
Kod:
rm -rf /boot/initrd-2.6.13.2.img
mkinitrd --omit-lvm-modules /boot/initrd-2.6.13.2.img 2.6.13.2

Bootloaderların ayarlanması LİLO , GRUB
sıra geldi bootloader ların ayarlanmasına ilk önce grub ile başlayalım

pico /etc/grub.conf yazarak ayar dosyasını açıyoruz

Kod:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You do not have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd0,5)
#          kernel /boot/vmlinuz-version ro root=/dev/hda6
#          initrd /boot/initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,5)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS-4 i386 (2.6.9-11.EL)
        root (hd0,5)
        kernel /boot/vmlinuz-2.6.9-11.EL ro root=LABEL=/ rhgb quiet
        initrd /boot/initrd-2.6.9-11.EL.img
title Other
        rootnoverify (hd0,0)
        chainloader +1
burda default 0 yazan kısım hangi kısım ile başlanacağını anlatıyor üstten alta doğru sayıyoruz
title CentOS-4 i386 (2.6.9-11.EL) bu 0 a denk geliyor
title Other buda 1 e denk geliyor
   root (hd0,5) yazan kısım o dosya sisteminin birinci harddiskin altıncı partititonunda olduğunu gösteriyor çünkü saymaya 0 ile başlıyoruz

title Other
        rootnoverify (hd0,0)
        chainloader +1
other ile gördüğünüz kısım windows yani 1 . harddiskin 1 inci partition u olduüunu gösteriyor

yeni kernelimizi listeye ekliyoruz görünümü

Kod:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You do not have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd0,5)
#          kernel /boot/vmlinuz-version ro root=/dev/hda6
#          initrd /boot/initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,5)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS-4 i386 (2.6.9-11.EL)
        root (hd0,5)
        kernel /boot/vmlinuz-2.6.9-11.EL ro root=LABEL=/ rhgb quiet
        initrd /boot/initrd-2.6.9-11.EL.img
title CentOS-4 i386 (2.6.13.2)
        root (hd0,5)
        kernel /boot/vmlinuz-2.6.13.2 ro root=LABEL=/ rhgb quiet
        initrd /boot/initrd-2.6.13.2.img
title Other
        rootnoverify (hd0,0)
        chainloader +1

gördüğünüz gibi default hala 0 yani standart olarak 2.6.9-11.El kerneli ile boot edilicek eğer oraya 1 yazarsak 2.6.13.2 ile 2 yazarsak windows ile şimdilik orası 0 kalsın çünkü biz sistemimizi bir kereye mahsus yeni kernelle başlatıcaz eğer başlamazsa orası dafault olarak eski kerneli gösterdiği için eski kernelle başlar böylece bir sorun yaşamadan gene sistemimiz açılır.Dosyayı kaydedip çıkın konsolda grub yazın
karşınıza çıkan menuye

Kod:
savedefault --default=1 --once
burdaki 1 değeri 2. sıradaki kernel ile bir kere başlaması gerektiğini söylemektedir 2. sıradkai kernelimiz yeni kernel olan title CentOS-4 i386 (2.6.13.2) dır.

sonra quit yazıp grub un menusundan çıkıyoruz ve boot sektöre yazılmasını bir kaç saniye bekliyoruz reboot yazıp yeniden başlatıyoruz eğer sorunsuz başlarsa
pico /etc/grub.conf yazıp ayar dosyasını tekrar açıyoruz Defaults yazan kısımdaki 0 değerini 1 ile değiştiyoruz böylece artık yeni kernelimiz ile başlıcak
konsolda tekrar grub yazıyoruz
gelen menuda quit yazıyoruz ve gerekli bilgilerin boot sektöre yazılmasını bir kaç saniye bekliyoruz  bekliyoruz sonra tekrar reboot yazıp yeni kernel ile bootlanmasını bekliyoruz standart olarak.

Kod:
[root@localhost /]# uname -a
Linux localhost.localdomain 2.6.13.2 #1 Sun Sep 18 23:56:01 EEST 2005 i686 i686 i386 GNU/Linux

Lilo nun Ayarlanması
pico /etc/lilo.conf komutu ile liloyu açıyoruz
liloyu editleyeceğim server başka bir server ama onada aynı kerneli kuruyorum işlemlerin mantığını anlarsanız hiç bir sorun yaşamazsınız zaten


Kod:
prompt
timeout=50
default=2.4.21-32.0.1.E
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
lba32

image=/boot/vmlinuz-2.4.21-32.0.1.EL
        label=linux
        initrd=/boot/initrd-2.4.21-32.0.1.EL.img
        read-only
        append="root=LABEL=/"
image=/boot/vmlinuz-2.4.21-27.EL
        label=linux-eski
        initrd=/boot/initrd-2.4.21-27.EL.img
        read-only
        append="root=LABEL=/"
burdaki default değeri gene diğerinde olduğu gibi hangi kernelle başlanacağını belirtiyor bu sunucu standart oalrak 2.4.21-32.0.1.EL kerneli ile boot ediliyor yani aslında redhat ın son stabil kerneli  biz bunu 2.6.13.2 ile boot edicez o yüzden şu şekilde dğeişiriyoruz.

Kod:

prompt
timeout=50
default=2.4.21-32.0.1.E
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
lba32

image=/boot/vmlinuz-2.6.13.2
        label=linux
        initrd=/boot/initrd-2.6.13.2.img
        read-only
        append="root=LABEL=/"
image=/boot/vmlinuz-2.4.21-32.0.1.EL
        label=linux-birazdahayeni
        initrd=/boot/initrd-2.4.21-32.0.1.EL.img
        read-only
        append="root=LABEL=/"
image=/boot/vmlinuz-2.4.21-27.EL
        label=linux-eski
        initrd=/boot/initrd-2.4.21-27.EL.img
        read-only
        append="root=LABEL=/"
dosyayı bu şekilde kaydediyoruz
Kod:
lilo -v -v
komutu ile boot sektöre yazıyoruz.
lilo -R 2.6.13.2 komutunu vererek bir kereye mahsus olarak 2.6.13.2 kerneli ile başatıyoruz eğer bir sorunla karşılaşılır başlamazsa eski kernel olan 2.4.21-32.0.1 ile başlayacak bu işlemide yaptıktan sonra reboot yazıp bekliyoruz eğer bir sorunla karşılaşmadan server o kernel ile başlarsa
tekrar pico /etc/lilo.conf yazarak ayar dosyasını açıyoruz

Kod:
default=2.4.21-32.0.1.E

yazan kısımı

Kod:
default=2.6.13.2

 ile değiştiriyoruz ve dosyayı kaydedip çıkıyoruz konsolda
tekrar lilo -v -v komutunu vererek boot sektöre yazmasını sağlıyoruz
bundan sonra bir daha reboot atın sorunsuz sistem başlayacaktır kernel derleme işlemide bu kadar.
bir dahaki yazıda 2.4* kernel e grsecurity kurulumunu anlatacağım
« Son Düzenleme: 20 Eylül 2005
Saat: 11:01:14 Gönderen: dropby23
»
Logged
dropby23
Ziyaretçi
« Yanıtla #1 : 20 Eylül 2005
Saat: 00:44:45 »

güncellendi
Logged
huseyin
*GURU* Penguen
*****

Toplam Puanım: +74/-21
Offline Offline

Mesaj Sayısı: 1432


Lapis Linux


« Yanıtla #2 : 20 Eylül 2005
Saat: 20:52:19 »

Eline saglik tesekkürler
(temizinden + verilir bu emege..)
Logged

Zamanim yok
xalphas
*GURU* Penguen
*****

Toplam Puanım: +130/-7
Offline Offline

Mesaj Sayısı: 1865


Archlinux - Ready - Set - Go


« Yanıtla #3 : 20 Eylül 2005
Saat: 21:10:31 »

evet artı + plus  Smiley
eline sağlık
Logged

"In a world without walls who need windows"


"Talk is cheap, Show me the code"
abducar1
Ziyaretçi
« Yanıtla #4 : 05 Ekim 2005
Saat: 12:41:21 »

merhaba yazıda belirtilenleri yapmaya çalıştım ancak "make menuconfig" aşamasında aşağıdaki mesajı aldım. ne yapmam gerekiyor? daha doğrusu Ncurses libraries nasıl bulabilirim?  Huh

debian:/usr/src/linux-2.6.13.2# make menuconfig
/usr/bin/ld: -lncurses bulunamadı
collect2: ld çıkış durumu 1 ile döndü

>> Unable to find the Ncurses libraries.
>>
>> You must install ncurses-devel in order
>> to use 'make menuconfig'

make[2]: *** [scripts/lxdialog/ncurses] Hata 1
make[1]: *** [menuconfig] Hata 2
make: *** [menuconfig] Hata 2
debian:/usr/src/linux-2.6.13.2#
Logged
dropby23
Ziyaretçi
« Yanıtla #5 : 05 Ekim 2005
Saat: 14:32:28 »

gerekli kütüphaneyi yüklemeyi deneyebilirsin make config make xconfig make oldconfig bunlaırn hepsini deniyebilirsin
Logged
abducar1
Ziyaretçi
« Yanıtla #6 : 05 Ekim 2005
Saat: 15:29:27 »

teşekkürler. hallettim. eline sağlık. iyi çalışmalar.
Logged
abducar1
Ziyaretçi
« Yanıtla #7 : 07 Ekim 2005
Saat: 13:05:55 »

merhaba. yine bir sorum olacak make menu ayarlarını yaptıktan sonra derleme sırasında make bzlmage komutunu verdiğim zaman :
make: ***hedef 'bzlmage' i derlemek için hiçbir kural yok. durdu
şeklinde bir uyarı alaıyorum. sebebi nedir acaba?
not: bilgisayar server tabanlı.
iyi çalışmalar. teşekkürler.
Logged
dropby23
Ziyaretçi
« Yanıtla #8 : 08 Ekim 2005
Saat: 18:18:40 »

sadece make komutunu kullan hepsinin yerine make Bzimage make modules make modules_install yerine
ayrıca bu komutu /usr/src/linux-2.6.13.2 klasörünün içinde veri,ceksin
Logged
abducar1
Ziyaretçi
« Yanıtla #9 : 09 Ekim 2005
Saat: 14:06:09 »

ben işe baştan tekrar başladım. ( kafam bayağı karıştıda.) make menuconfig ayarlarını yapıp değpişiklikleri kayet dediğimde :
***End of Linux Kernel configuration
***Execute 'make' tı build the kernel or try 'make help'.
mesajını alıyorum. anladığım kadarıyla yaptığım değişiklikleri make komutunu işletemediği için geçerli kılmadı. bun sorunu nasıl aşabilirim?  Huh
yardımlar için şimdiden teşekkürler.
Logged
abducar1
Ziyaretçi
« Yanıtla #10 : 09 Ekim 2005
Saat: 14:20:39 »

sadece make komutunu kullan hepsinin yerine make Bzimage make modules make modules_install yerine
ayrıca bu komutu /usr/src/linux-2.6.13.2 klasörünün içinde veri,ceksin



yukarıda anlatmaya çalıştığınızı biraz daha açabilirmisiniz? cümleden bir şey anlamadım. teşekkürler.
Logged
dropby23
Ziyaretçi
« Yanıtla #11 : 09 Ekim 2005
Saat: 17:27:30 »

sadece make momutunu dene diyorum yukardkai komutlar yerine ve bu komutu icra ederken gerekli dizinde ol
linux-2.6.13.2
Logged
beygirgucu
Ziyaretçi
« Yanıtla #12 : 19 Ekim 2005
Saat: 18:17:58 »

Merhaba,

intel srcu42x raid kartı olan bir hardware e red hat 8.0 kurdum. kernel derlemeye çalışıyorum. fakat

mkinitrd /boot/initrd-2.6.13.2.img 2.6.13.2

den sonra

No module megaraid found for kernel 2.6.13.2    şeklinde bir hata veriyor ve hiçbir işlem yapmıyor. sunucu üzerinde intel raid kartı var. make menuconfig de scsi driver olarak "scsi low level driver" dan LSI ile ilgili herşeyi seçtim.


[root@localhost lib]# find . -name scsi_mod.o
/lib/modules/2.4.18-14bigmem/kernel/drivers/scsi/scsi_mod.o
/lib/modules/2.4.18-14smp/kernel/drivers/scsi/scsi_mod.o
/lib/modules/2.4.18-14/kernel/drivers/scsi/scsi_mod.o
/lib/modules/2.4.20-28.8smp/kernel/drivers/scsi/scsi_mod.o
/lib/modules/2.4.20-28.8bigmem/kernel/drivers/scsi/scsi_mod.o
/lib/modules/2.4.20-28.8/kernel/drivers/scsi/scsi_mod.o


anladığım kadarıyla bazı şeyleri eksik yaptım. /lib/modules/2.6.13.2 altında  scsi_mod.o hiç bir yerde yok.

sebebi ne olabilir  Undecided

Teşekkürler.
Logged
dropby23
Ziyaretçi
« Yanıtla #13 : 19 Ekim 2005
Saat: 20:54:17 »

mkinitrd /boot/initrd-2.6.13.2.img 2.6.13.2 bu komutu modül desteği için kerneli derledikten sonra uygulayacaksın
make menuconfig den sonra
make komutunu kullanarak derle yada sırayla
make bzImage
make modules
make modules_install
komutlarını deniyebilirsin
çok eski bir dağıtım kullanıyorsun redhat 9 un altındakşi versiyonlar için patch desteğini kaldırmış duurmda ancak rpmfind rpmseek gibi sitelerden rpmleri bulabilirsin onun yerine sana centos 4.2 yi öneririm
Logged
beygirgucu
Ziyaretçi
« Yanıtla #14 : 19 Ekim 2005
Saat: 22:56:15 »

Dokumandaki sıraya göre yaptım aslında.  ben biraz daha araştırayim.
Logged
dropby23
Ziyaretçi
« Yanıtla #15 : 19 Ekim 2005
Saat: 23:16:59 »

modül olarak kurulacak şeyler için M harfini seçmelisin statik olan kurulacak eşyler içinse * ı
Logged
beygirgucu
Ziyaretçi
« Yanıtla #16 : 20 Ekim 2005
Saat: 20:13:05 »

modul olarak seçtim. derledim. bzimage tamam.
initrd yi oluştururken "No module found" gibi bir hata verdi.

megaraid.o dosyasını /usr/src/linux-2.6.13.2/drivers/scsi/ altında var ama
/lib/modules/2.6.13.2/kernel/drivers/scsi/  altında yoktu, kopyaladım. Ancak bu işlemden sonra initrd yi oluşturabildim. ama bu da pek sağlıklı olmadı heralde.

sistem açılırken

Loading megaraid module
No module found in object
insmod: error inserting /lib/megaraid.o : -1
invalid module format
ERROR /bin/insmod exited abnormaly


ve kernel panic  Smiley


evet ustalar bir yerde ciddi bir hata yapıyorum ama nedir bulamadım.
FreeBsd de kernel derlemeyi birkere beçermiştim ama redhat ta o şerefe erişemedim henüz
önerisi olan var mı?

İyi akşamlar.
Logged
abducar1
Ziyaretçi
« Yanıtla #17 : 23 Kasım 2005
Saat: 10:11:50 »

Benim bir sorum olacak.
Ben daha önce kurduğum (2 ay falan oluyor)  redora core4 te  kernel olarak  2.6.13-1.1532_FC4smp kullanıyordum. bu bilgisayarda 2 işlemci vardı hyper treding özelliğinden dolayı 4 işlemci gibi görülüyordu. sistem tüm işlemcileri stabil olarak kullanabiliyordu. (bunu htop ile görebiliyordum.)
Daha sonra test için başka bir fedora core4 linux makina kurdum ve yum update dediğimde kernel olarak 
2.6.14-1.1637_FC4smp'e yükseltti. fakat burada bir sorun var. şöyleki htop programı ile baktığımda sadece bir işlemciyi kullanıyor. acaba bunun sebebi kernel versiyonu olabilirmi? çünkü iki makinanında özellikleri aynı. ( bu makina yedek olduğu için istediğim gibi kullanabiliyorum.)
Sizler ne dersiniz?
Logged
dropby23
Ziyaretçi
« Yanıtla #18 : 23 Kasım 2005
Saat: 19:50:56 »

öncelikle irqbalance ın açık olmasına dikkat et
service irqbalance start
chkconfig --levels 345 irqbalance on yaz
eğer hyperthreading kapalıysa onu bios tan açmalısın remote port verdilerse bu şekilde yapabilirsin ht nin iyi mi kötü mü olduğuna şahsen ben karar veremedim performansı düşürdüğüne dair şu ana kadar bir çok makale okudum
http://blogs.msdn.com/slavao/archive/2005/11/12/492119.aspx
özellikle vreritabanı sunucuları için ht nin kapalı olması önerilir ve mysql cluster yapmanızı öneririrm
<