Kernel (Türkçe) - ArchWiki

Jump to content

# Kernel (Türkçe)

From ArchWiki

Related articles

- /Arch build system
- /Traditional compilation
- Compile kernel module
- Kernel modules
- kernel-install
- sysctl

Wikipedia'ya göre:

  Linux çekirdeği (kernel), açık kaynaklı, monolitik, Unix benzeri bir bilgisayar işletim sistemi çekirdeğidir.

Arch Linux, Linux çekirdeğini temel alır. En son kararlı (stable) çekirdeğe ek olarak Arch Linux için çeşitli alternatif Linux çekirdekleri de mevcuttur. Bu makale, depolarda bulunan bazı seçenekleri ve her birinin kısa bir açıklamasını listelemektedir. Ayrıca sistemin çekirdeğine uygulanabilecek yamaların bir açıklaması da yer almaktadır. Makale, çeşitli yöntemlere bağlantılar içeren özel çekirdek derlemesine genel bir bakışla sona ermektedir.

Çekirdek paketleri `/usr/lib/modules/` yolu altına kurulur ve ardından vmlinuz yürütülebilir imajını `/boot/` dizinine kopyalamak için kullanılır. [1] Farklı bir çekirdek kurarken veya birden fazla çekirdek arasında geçiş yaparken, değişiklikleri yansıtacak şekilde önyükleyicinizi (boot loader) yapılandırmalısınız. Çekirdeği eski bir sürüme düşürmek için Paketleri eski sürüme düşürme#Çekirdeği eski sürüme düşürme bölümüne bakın.

## Resmi olarak desteklenen çekirdekler

Resmi olarak desteklenen çekirdekler için forumda topluluk desteği ve hata bildirimi mevcuttur.

- Stable (Kararlı) — Birkaç yama uygulanmış yalın (vanilla) Linux çekirdeği ve modülleri.

  https://www.kernel.org/ || linux

- Hardened (Katılaştırılmış) — Çekirdek ve kullanıcı alanı (userspace) açıklarını azaltmak için bir dizi katılaştırma yaması uygulayan, güvenliğe odaklanmış bir Linux çekirdeği. Ayrıca linux paketine kıyasla daha fazla yukarı akış (upstream) çekirdek katılaştırma özelliğini etkinleştirir.

  https://github.com/anthraxx/linux-hardened || linux-hardened

- Longterm (LTS) — Uzun süreli destek (LTS) Linux çekirdeği ve modülleri. En son kararlı çekirdekle uyumlu güncel sürümleri zamanında yayınlamayan ağaç dışı (out-of-tree) modülleri kullanırken kullanışlıdır.

  https://www.kernel.org/ || linux-lts

- Realtime (Gerçek Zamanlı Çekirdek) — Ingo Molnár liderliğindeki küçük bir çekirdek geliştiricisi grubu tarafından sürdürülmektedir. Bu yama, çok küçük birkaç kod bölgesi ("raw_spinlock kritik bölgeleri") hariç, çekirdeğin neredeyse tamamının kesintiye uğratılabilmesine (preempted) izin verir. Bu işlem, çoğu çekirdek spinlock yapısının öncelik kalıtımını (priority inheritance) destekleyen mutex'lerle değiştirilmesi ve tüm kesme (interrupt) ve yazılım kesmelerinin çekirdek iş parçacıklarına (kernel threads) taşınmasıyla yapılır.

  https://wiki.linuxfoundation.org/realtime/start || linux-rt, linux-rt-lts

- Zen Kernel — Günlük sistemler için mümkün olan en iyi Linux çekirdeğini sağlamak amacıyla çekirdek geliştiricilerinin ortak çabasının bir sonucudur. Daha fazla ayrıntı için SSS ve Detaylı Özellik Listesi sayfalarına bakın.

  https://github.com/zen-kernel/zen-kernel || linux-zen

## Derleme

Kendi çekirdeğinizi derlemek için aşağıdaki yöntemler kullanılabilir:

/Arch Build System
  Mevcut linux PKGBUILD dosyasının yüksek kalitesinden ve paket yönetiminin avantajlarından yararlanır.
Geleneksel derleme
  Kaynak kod arşivinin (tarball) manuel olarak indirilmesini ve ev dizininizde normal bir kullanıcı olarak derlenmesini içerir.

Warning

- Özel (custom) çekirdeklerin kullanılması, veri kaybı dahil her türlü kararlılık ve güvenilirlik sorununa neden olabilir. Yedek almanız şiddetle tavsiye edilir.
- Arch Linux yalnızca #Resmi olarak desteklenen çekirdekler için resmi desteğe sahiptir. Farklı bir çekirdek kullanırken, lütfen destek taleplerinizde bunu belirtin.

Tip

- Sisteminizin hızını artırmanın en iyi yolu, öncelikle çekirdek yapılandırmanızı mimarinize ve işlemci tipinize göre uyarlamaktır.
- Sahip olmadığınız veya kullanmadığınız şeylerin (örneğin Bluetooth, video4linux, 1000Mbit Ethernet vb.) desteğini dahil etmeyerek çekirdeğinizin boyutunu (ve dolayısıyla derleme süresini) azaltabilirsiniz.

Arch çekirdek paketlerinin `config` dosyaları, Arch paket kaynak dosyalarında bulunur (örneğin, linux sayfasından bağlantı verilen [2]). Eğer `CONFIG_IKCONFIG_PROC` çekirdek seçeneği etkinleştirilmişse, şu anda çalışan çekirdeğinizin `config` dosyası dosya sisteminizde `/proc/config.gz` adresinde de mevcut olabilir.

Listelenen bazı paketler, Resmi olmayan kullanıcı depoları aracılığıyla ikili (binary) paketler olarak da mevcut olabilir.

### kernel.org çekirdekleri

- Git — Linus Torvalds'ın Git deposundaki kaynaklar kullanılarak derlenen Linux çekirdeği ve modülleri.

  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git || linux-gitAUR

- Mainline — Tüm yeni özelliklerin tanıtıldığı, 2-3 ayda bir yayınlanan ana hat çekirdekleri.

  https://www.kernel.org/ || linux-mainlineAUR

- Next — Bir sonraki ana hat sürümüne dahil edilmeyi bekleyen özellikleri içeren, sınırları zorlayan (bleeding edge) çekirdekler.

  https://www.kernel.org/doc/man-pages/linux-next.html || linux-next-gitAUR

- DRM — En güncel, deneysel GPU sürücülerini içeren Linux çekirdeği.

  https://gitlab.freedesktop.org/drm || linux-drm-tip-gitAUR, linux-drm-next-gitAUR

- Longterm — Uzun süreli destek (LTS) Linux çekirdeği ve modülleri.

  https://www.kernel.org/ || linux-lts612AUR, linux-lts66AUR, linux-lts61AUR, linux-lts515AUR, linux-lts510AUR

### Resmi olmayan çekirdekler

- linux-cachyos — Linux SCHED-EXT + BORE + "Cachy sosu" içeren, diğer yamalar ve iyileştirmelerle donatılmış çekirdek ve modülleri.

  https://github.com/CachyOS/linux-cachyos || linux-cachyosAUR

- Libre — Mülki (proprietary) veya anlaşılmaz kılınmış donanım sürücüleri içermeyen özgür çekirdek.

  https://www.fsfla.org/ikiwiki/selibre/linux-libre/ || linux-libreAUR

- Liquorix — Debian odaklı yapılandırma ve Zen çekirdeği kaynakları kullanılarak oluşturulmuş alternatif çekirdek. Masaüstü, multimedya ve oyun yükleri için tasarlanmıştır; genellikle Debian Linux performans alternatif çekirdeği olarak kullanılır. Liquorix yama setinin yöneticisi olan Damentz, aynı zamanda Zen yama setinin de geliştiricisidir.

  https://liquorix.net || linux-lqxAUR

- pf-kernel — Ana hat çekirdeğe dahil edilmemiş birkaç harika özellik sunar. Bir çekirdek mühendisi tarafından sürdürülmektedir. Yeni çekirdekler için dahil edilen yamanın resmi portu yayınlanmadıysa, yama seti yeni çekirdekler için portlar sağlar ve destekler. linux-pf'nin şu anki en belirgin yamaları UKSM, DDCCI, v4l2loopback ve BBRv3'tür.

  https://pfkernel.natalenko.name || Paketler:
  - Depo, linux-pfAUR pf-kernel geliştiricisi post-factum tarafından sunulmaktadır.

- Project C — Alfred Chen'in Project C yama setini (BMQ ve PDS zamanlayıcıları) içeren çekirdek.

  https://gitlab.com/alfredchen/projectc || linux-prjcAUR

- Nitrous — Skylake ve daha yeni işlemciler için optimize edilmiş modifiye edilmiş Linux çekirdeği.

  https://gitlab.com/xdevs23/linux-nitrous || linux-nitrousAUR

- Tachyon — Intel'in Clear Linux projesinden alınan yamalar, Clear Linux projesinin bırakılmasının ardından artık yeni bir projeye çatallanmıştır (fork). Performans ve güvenlik optimizasyonları sağlar.

  https://git.staropensource.de/StarOpenSource/Linux-Tachyon || linux-tachyonAUR

- tkg — Daha iyi masaüstü ve oyun performansı hedefleyen bir dizi yama ve ince ayar sunan, son derece özelleştirilebilir bir çekirdek derleme sistemidir. Etienne Juvigny tarafından sürdürülmektedir. Diğer yamaların yanı sıra çeşitli CPU zamanlayıcıları sunar: CFS, Project C PDS, Project C BMQ, MuQSS ve CacULE.

  https://github.com/Frogging-Family/linux-tkg || chaotic-aur deposunda mevcuttur.

- VFIO — Bazı makinelerde KVM ile PCI Passthrough (Ekran kartı geçirme) yeteneğini etkinleştirmek için Alex Williamson tarafından yazılan birkaç yamayı (acs override ve i915) içeren Linux çekirdeği.

  https://lwn.net/Articles/499240/ || linux-vfioAUR, linux-vfio-ltsAUR

- XanMod — Yüksek performanslı iş istasyonlarında, oyun bilgisayarlarında, medya merkezlerinde ve diğer alanlarda tam avantaj sağlamayı amaçlayan; daha sağlam, duyarlı ve pürüzsüz bir masaüstü deneyimi sunmak için oluşturulmuş çekirdek. Bu çekirdek BFQ I/O zamanlayıcısını, TCP BBRv3 tıkanıklık kontrolünü, x86_64 gelişmiş komut seti desteğini, kısmi clear linux yama setini ve diğer varsayılan değişiklikleri kullanır.

  https://xanmod.org/ || linux-xanmodAUR, linux-xanmod-ltsAUR, linux-xanmod-rtAUR, linux-xanmod-boreAUR

Listelenen bu resmi olmayan çekirdeklerin birçoğu, manuel olarak etkinleştirilmesi gereken özellikler içerir. Yamaların kendi içindeki dökümantasyonu okumayı (çoğu çekirdek kaynağındaki `Documentation/` dizininde değişiklikler içerir) veya internette yama setinin adını aramayı deneyin.

## Sorun Giderme

### Kernel panics (Çekirdek Çökmeleri)

Linux çekirdeği kurtarılamaz bir hata durumuna girdiğinde bir kernel panic (çekirdek çökmesi) meydana gelir. Bu durum genellikle hatalı donanım sürücülerinden kaynaklanır ve makinenin kilitlenmesine, yanıt vermemesine yol açarak yeniden başlatma gerektirir. Kilitlenmeden hemen önce, şu bileşenlerden oluşan bir teşhis mesajı oluşturulur: hatanın meydana geldiği andaki makine durumu (machine state), hatayı tespit eden çekirdek fonksiyonuna giden bir çağrı takibi (call trace) ve o anda yüklü olan modüllerin listesi. Neyse ki, resmi depolardan sağlananlar gibi çekirdeğin ana hat (mainline) sürümlerini kullanırken çekirdek çökmeleri çok sık yaşanmaz; ancak yaşandığında, bunlarla nasıl başa çıkacağınızı bilmeniz gerekir.

Note Kernel panikler bazen oops veya kernel oops olarak da adlandırılır. Hem panikler hem de oops'lar bir hata durumunun sonucu olarak ortaya çıksa da, bir oops daha geneldir ve mutlaka kilitlenmiş bir makineyle sonuçlanmaz: bazen çekirdek, sorunlu görevi sonlandırarak (kill) bir oops durumundan kurtulabilir ve çalışmaya devam edebilir.
Tip Kurtarılabilir bir oops durumunu panik yaratmaya zorlamak için açılışta `oops=panic` çekirdek parametresini geçirin veya `/proc/sys/kernel/panic_on_oops` dosyasına `1` yazın. Oops kurtarmasından kaynaklanabilecek ve gelecekteki hataların teşhis edilmesini zorlaştırabilecek küçük sistem kararsızlığı risklerinden endişe ediyorsanız bu yöntem önerilir.

#### Panik mesajını inceleyin

Bir çekirdek çökmesi önyükleme (boot) sürecinin çok erken safhalarında meydana gelirse konsolda `Kernel panic - not syncing:` içeren bir mesaj görebilirsiniz; ancak systemd çalışmaya başladıktan sonra çekirdek mesajları genellikle yakalanır ve sistem günlüğüne (log) yazılır. Bununla birlikte, bir panik meydana geldiğinde çekirdek tarafından verilen teşhis mesajı diskteki günlük dosyasına neredeyse hiçbir zaman yazılamaz, çünkü `systemd-journald` bu fırsatı bulamadan makine kilitlenir.

1. 1. 1. 1. 1. Mavi ekranda QR kodu #####

linux 6.10 sürümünden beri (`drm_panic` sayesinde), çekirdek bir paniği mavi bir ekranda (varsayılan olarak) bir QR kodu olarak görüntüler. Yığın takibi (stack trace), QR kodu tarafından verilen URL'de görülebilir. Arch Linux için bu, https://panic.archlinux.org/panic_report adresine giden bir bağlantıdır. URL, sunucuya aktarılmayan (istemci tarafında işlenen) URL fragmanı içinde gzip ile sıkıştırılmış ve kodlanmış çeşitli bilgileri ve yığın takibini içerir.

Bağlantı ve ekran görüntüsü içeren örnek bir panik senaryosu bir forum gönderisinde görülebilir.

Yığın takibini konsolda görüntülemek eski davranışa dönmek için `drm` çekirdek modülüne `panic_screen=kmsg` parametresini (veya çekirdek parametresi olarak `drm.panic_screen=kmsg`) geçirebilirsiniz.

1. 1. 1. 1. 1. Konsol yöntemi #####

Çökmeyi gerçekleştiği anda konsolda görüntülemenin "eski" yöntemi hala mevcuttur (bir kdump crashkernel kurmaya gerek kalmadan). Aşağıdaki çekirdek parametreleriyle önyükleme yapın ve tty1 üzerinde paniği yeniden oluşturmayı deneyin:

     systemd.journald.forward_to_console=1 console=tty1

Tip Panik mesajının incelenemeyecek kadar hızlı kayması durumunda, açılışta `pause_on_oops=saniye` çekirdek parametresini geçirmeyi deneyin.

1. 1. 1. 1. 1. Örnek senaryo: hatalı modül #####

Teşhis mesajındaki bilgileri kullanarak hangi alt sistemin veya modülün paniğe neden olduğuna dair en iyi tahmini yapmak mümkündür. Bu senaryoda, önyükleme sırasında hayali bir makinede panik yaşıyoruz. **Kalın** olarak vurgulanan satırlara dikkat edin:

    kernel: BUG: unable to handle kernel NULL pointer dereference at (null) 1
    kernel: IP: fw_core_init+0x18/0x1000 [firewire_core] 2
    kernel: PGD 718d00067
    kernel: P4D 718d00067
    kernel: PUD 7b3611067
    kernel: PMD 0
    kernel:
    kernel: Oops: 0002 [#1] PREEMPT SMP
    kernel: Modules linked in: firewire_core(+) crc_itu_t cfg80211 rfkill ipt_REJECT nf_reject_ipv4 nf_log_ipv4 nf_log_common xt_LOG nf_conntrack_ipv4 ... 3
    kernel: CPU: 6 PID: 1438 Comm: modprobe Tainted: P         O    4.13.3-1-ARCH #1
    kernel: Hardware name: Gigabyte Technology Co., Ltd. H97-D3H/H97-D3H-CF, BIOS F5 06/26/2014
    kernel: task: ffff9c667abd9e00 task.stack: ffffb53b8db34000
    kernel: RIP: 0010:fw_core_init+0x18/0x1000 [firewire_core]
    kernel: RSP: 0018:ffffb53b8db37c68 EFLAGS: 00010246
    kernel: RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
    kernel: RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffffffffc16d3af4
    kernel: RBP: ffffb53b8db37c70 R08: 0000000000000000 R09: ffffffffae113e95
    kernel: R10: ffffe93edfdb9680 R11: 0000000000000000 R12: ffffffffc16d9000
    kernel: R13: ffff9c6729bf8f60 R14: ffffffffc16d5710 R15: ffff9c6736e55840
    kernel: FS:  00007f301fc80b80(0000) GS:ffff9c675dd80000(0000) knlGS:0000000000000000
    kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    kernel: CR2: 0000000000000000 CR3: 00000007c6456000 CR4: 00000000001406e0
    kernel: Call Trace:
    kernel:  do_one_initcall+0x50/0x190 4
    kernel:  ? do_init_module+0x27/0x1f2
    kernel:  do_init_module+0x5f/0x1f2
    kernel:  load_module+0x23f3/0x2be0
    kernel:  SYSC_init_module+0x16b/0x1a0
    kernel:  ? SYSC_init_module+0x16b/0x1a0
    kernel:  SyS_init_module+0xe/0x10
    kernel:  entry_SYSCALL_64_fastpath+0x1a/0xa5
    kernel: RIP: 0033:0x7f301f3a2a0a
    kernel: RSP: 002b:00007ffcabbd1998 EFLAGS: 00000246 ORIG_RAX: 00000000000000af
    kernel: RAX: ffffffffffffffda RBX: 0000000000c85a48 RCX: 00007f301f3a2a0a
    kernel: RDX: 000000000041aada RSI: 000000000001a738 RDI: 00007f301e7eb010
    kernel: RBP: 0000000000c8a520 R08: 0000000000000001 R09: 0000000000000085
    kernel: R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000c79208
    kernel: R13: 0000000000c8b4d8 R14: 00007f301e7fffff R15: 0000000000000030
    kernel: Code: <c7> 04 25 00 00 00 00 01 00 00 00 bb f4 ff ff ff e8 73 43 9c ec 48
    kernel: RIP: fw_core_init+0x18/0x1000 [firewire_core] RSP: ffffb53b8db37c68
    kernel: CR2: 0000000000000000
    kernel: ---[ end trace 71f4306ea1238f17 ]---
    kernel: Kernel panic - not syncing: Fatal exception 5
    kernel: Kernel Offset: 0x80000000 from 0xffffffff810000000 (relocation range: 0xffffffff800000000-0xfffffffffbffffffff
    kernel: ---[ end Kernel panic - not syncing: Fatal exception

1. Paniğe neden olan hatanın türünü gösterir. Bu durumda bir programcı hatasıdır.
2. Paniğin firewire_core modülündeki fw_core_init adlı fonksiyonda meydana geldiğini gösterir.
3. firewire_core modülünün yüklenen en son modül olduğunu gösterir.
4. fw_core_init fonksiyonunu çağıran fonksiyonun do_one_initcall olduğunu gösterir.
5. Bu oops mesajının aslında bir çekirdek çökmesi (kernel panic) olduğunu ve sistemin artık kilitlendiğini gösterir.

O halde, paniğin firewire_core modülünün yüklenmesi sırasındaki başlatma rutini sırasında meydana geldiğini tahmin edebiliriz. (Makinenin firewire donanımının, bir yazılımcı hatası nedeniyle firewire sürücü modülünün bu sürümüyle uyumsuz olduğunu varsayabiliriz ve yeni bir sürümün yayınlanmasını beklememiz gerekecektir.) Bu süreçte, makineyi tekrar çalışır duruma getirmenin en kolay yolu modülün yüklenmesini engellemektir. Bunu iki yoldan biriyle yapabiliriz:

- Modül initramfs yürütülmesi sırasında yükleniyorsa, `rd.blacklist=firewire_core` çekirdek parametresiyle yeniden başlatın.
- Aksi takdirde `module_blacklist=firewire_core` çekirdek parametresiyle yeniden başlatın.

#### Kök (root) kabuğuna geçerek sorunu düzeltin

This article or section is out of date.

Reason: `rd.rescue` ve `rd.emergency` parametreleri, initramfs içindeki root hesabı kilitli olduğundan çalışmayacaktır. (Discuss in Talk:Kernel (Türkçe))

The factual accuracy of this article or section is disputed.

Reason: Klavye `rd.emergency` içinde çalışmadığından kullanılamaz. (Discuss in Talk:Kernel (Türkçe))

Paniğin artık meydana gelmemesi için sistemde değişiklik yapmak üzere bir kök (root) kabuğuna ihtiyacınız olacaktır. Panik önyükleme sırasında meydana geliyorsa, makine kilitlenmeden önce bir root kabuğu elde etmek için birkaç strateji vardır:

- Kök dosya sistemi bağlandıktan ve `systemd` başlatıldıktan hemen sonra oturum açma istemi almak için `emergency`, `rd.emergency` veya `-b` çekirdek parametresiyle yeniden başlatın.

  Note Bu noktada kök dosya sistemi salt okunur (read-only) olarak bağlanacaktır. Değişiklik yapmak için root kullanıcısı olarak `mount -o remount,rw /` komutunu çalıştırın.

- Yerel dosya sistemleri bağlandıktan hemen sonra oturum açma istemi almak için `rescue`, `rd.rescue`, `single`, `s`, `S` veya `1` çekirdek parametresiyle yeniden başlatın.
- tty9 üzerinde çok erken bir root kabuğu elde etmek için `systemd.debug_shell` çekirdek parametresiyle yeniden başlatın. `Ctrl+Alt+F9` tuşlarına basarak bu kabuğa geçiş yapın.
- Paniğe neden olan çekirdek özelliğini devre dışı bırakmak için farklı çekirdek parametresi kümeleriyle yeniden başlatmayı deneyin. "Eski emektarlar" `acpi=off` ve `nolapic` parametrelerini deneyebilirsiniz.

  Tip Tüm çekirdek parametreleri için kernel-parameters.html sayfasına bakın.

- Son çare olarak, bir Arch Linux kurulum medyası ile başlatın, kök dosya sistemini `/mnt` üzerine bağlayın ve ardından root kullanıcısı olarak `arch-chroot /mnt` komutunu çalıştırın.
- Paniğe neden olan hizmeti veya programı devre dışı bırakın, hatalı bir güncellemeyi geri alın veya bir yapılandırma sorununu düzeltin.

Tip Orijinal imajın bozulması durumunda yeni bir initial ramdisk (initramfs) imajı oluşturmak gerekebilir. Bu durum, bir çekirdek güncellemesi yarıda kesildiğinde meydana gelebilir. Yeni bir tane oluşturmak için mkinitcpio bölümüne bakın.

### Regresyonların (Performans/Sistem Kayıpları) Hata Ayıklaması

Bkz. Genel sorun giderme#Regresyonların hata ayıklaması.

Sorunun yukarı akışta (upstream) zaten çözülüp çözülmediğini kontrol etmek için linux-mainlineAUR paketini deneyin. Sabitlenmiş yorum, halihazırda derlenmiş çekirdekleri içeren bir depodan da bahsetmektedir; bu nedenle donanımınıza bağlı olarak biraz zaman alabilen manuel derleme işlemini yapmanız gerekmeyebilir.

Yakın zamanda ortaya çıkmayan sorunları ayıklamak için LTS çekirdeğini (linux-lts) denemek de faydalı olabilir. LTS çekirdeğinin eski sürümleri Arch Linux Archive (Arch Arşivi) içinde bulunabilir.

Sorun hala devam ediyorsa, sorunun kaynağını belirlemek için linux-gitAUR çekirdeğini ikiye bölün (bisect).

Hata bildirimini, regresyonların bildirilmesine ilişkin çekirdek sürecine reporting regressions uygun olarak yapın. Tek bir commit'e kadar tam bir bisection yapmanın zorunlu olmadığını, bir aralık bildirmenin de kabul edilebilir olduğunu unutmayın; ancak ne kadar kesin olursanız hata raporunuz o kadar iyi işleme alınacaktır. MAINTAINERS dosyasındaki Bugtracker (`B:`) girişine bağlı olarak bu işlem; alt sistemlerin e-posta listeleri, Kernel Bugzilla veya DRM Gitlab gibi diğer sorun takipçileri aracılığıyla bir sorun açmayı gerektirir. Sorunun bunlarla ilgili olmadığından emin etmek için herhangi bir yama içermeyen "vanilla" sürümü denemek önemlidir. Eğer soruna bir yama neden oluyorsa, bunu yamanın yazarına bildirin.

Note Çekirdeği bisect etmek çok zaman alabilir çünkü birçok kez yeniden derlenmesi gerekebilir ve tipik bir derleme donanımınıza bağlı olarak birkaç saate kadar sürebilir. Ayrıca bkz. Git ile hataları bisect etme#Derlemeleri hızlandırma.

#### stable/linux

Varsayılan olarak linux-git paketinin Linus'un deposundan derlendiğini, ancak Arch resmi çekirdeğinin kararlı (stable) çekirdek deposundan derlendiğini unutmayın. Aynı etiketleri paylaşmazlar -- örneğin Linus'ta v5.17 vardır ancak v5.17.7 yoktur. Hangi çekirdek güncellemesinin hataya neden olduğunu biliyorsanız, kararlı depo üzerinde bisect yapmak daha kolay olabilir; çünkü etiketleri `linux` paketinin sürüm numaralarıyla eşleşir.

Bunu gerçekleştirmek için linux-gitAUR üzerindeki bisection talimatlarını uygulamadan önce şu dosyayı oluşturabilirsiniz:

    /etc/linux-git/remote

    REMOTE="stable/linux"
    COMMIT="vM.m.p"  # mevcut sürümü buraya yazın

Bu işlem, indirilen `linux-git/src/linux-torvalds` içeriğini seçtiğiniz sürümdeki `linux-stable` deposuna yönlendirecek ve bisection işleminizi buradan başlatabileceksiniz.

Eğer kararlı (stable) sürümde bir hata başarıyla tespit ederseniz, bunu bu şekilde bildirdiğinizden emin olun.

#### Daha küçük bir çekirdek derlemek

modprobed-db kullanarak veya `make localmodconfig` ile yalnızca yerel sistemin ihtiyaç duyduğu modülleri derleyerek çekirdek derleme sürelerini kısaltabilirsiniz. Elbette bir ağ sorununu ayıklamak için ses sürücüleri gibi alakasız sürücüleri tamamen devre dışı bırakabilirsiniz.

## Ayrıca bakınız

- O'Reilly - Linux Kernel in a Nutshell (Ücretsiz e-kitap)
- Hangi kararlı çekirdeği kullanmalıyüm? - Greg Kroah-Hartman
- Linux çekirdek dökümantasyonu

Categories:

- Kernel (Türkçe)
- Lists of software (Türkçe)

Hidden categories:

- Pages or sections flagged with Template:Out of date
- Pages or sections flagged with Template:Accuracy

Kernel (Türkçe)
Add topic