> For the complete documentation index, see [llms.txt](https://linux-yonetimi.veriteknik.net.tr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://linux-yonetimi.veriteknik.net.tr/kernel-boot/cekirdegin-yueklenmesi-ve-boot-secenekleri.md).

# Çekirdeğin Yüklenmesi ve Boot Seçenekleri

Önyükleyici (bootloader), firmware'den kontrolü aldıktan sonraki ana görevi, işletim sistemi çekirdeğini (kernel) ve başlangıç için gerekli olan başlangıç RAM dosya sistemini (initramfs) belleğe yüklemektir.

## Çekirdek İmajı (Kernel Image)

* **Konum:** Linux çekirdeği, genellikle `/boot` dizini altında sıkıştırılmış bir dosya olarak bulunur. Dosya adı dağıtıma ve sürüme göre değişir, ancak yaygın isimler `vmlinuz-<sürüm>` veya `bzImage-<sürüm>` şeklindedir (örn. `/boot/vmlinuz-6.1.0-18-amd64`).
* **İşlevi:** Çekirdek, işletim sisteminin kalbidir. Donanımı yönetir, işlemleri zamanlar, belleği yönetir ve sistem çağrıları aracılığıyla kullanıcı alanı (user space) programlarına hizmet verir. Önyükleyici tarafından belleğe yüklenir ve çalıştırılır.

## Başlangıç RAM Dosya Sistemi (initrd / initramfs)

* **Konum:** Çekirdek imajı gibi, genellikle `/boot` dizini altında bulunur. Dosya adı `initrd.img-<sürüm>` veya `initramfs-<sürüm>.img` gibi olabilir (örn. `/boot/initramfs-6.1.0-18-amd64.img`).
* **İşlevi:** Çekirdek başlatıldıktan hemen sonra, ancak gerçek kök dosya sistemi (`/`) bağlanmadan önce, bellekte (RAM) geçici bir kök dosya sistemi olarak kullanılır. Temel amacı, gerçek kök dosya sistemini bağlamak için gerekli olan modülleri ve araçları içermektir. Bunlar şunları içerebilir:
  * Disk denetleyici sürücüleri (SATA, NVMe, SCSI vb.).
  * Dosya sistemi sürücüleri (ext4, xfs, btrfs vb.).
  * Mantıksal Birim Yönetimi (LVM) veya yazılımsal RAID araçları ve modülleri.
  * Şifreli diskleri açmak için gerekli araçlar (cryptsetup).
  * Ağ sürücüleri (ağ üzerinden boot yapılıyorsa).
* **Oluşturulması:** Initramfs, genellikle çekirdek kurulduğunda veya güncellendiğinde otomatik olarak sisteme özgü olarak oluşturulur. Bu işlemi yapan araçlar dağıtıma göre değişir:
  * `mkinitrd` (Eski RHEL/CentOS)
  * `dracut` (Modern RHEL/CentOS/Fedora)
  * `mkinitcpio` (Arch Linux)
  * `update-initramfs` (Debian/Ubuntu)
* **initrd vs initramfs:** `initrd` (initial RAM disk) daha eski bir yöntemdi ve sıkıştırılmış bir dosya sistemi imajı (örn. ext2) olarak yüklenirdi. `initramfs` (initial RAM filesystem) ise daha modern bir yöntemdir ve sıkıştırılmış bir `cpio` arşivi olarak yüklenir. Daha esnektir ve genellikle daha az bellek kullanır. Günümüzdeki çoğu sistem `initramfs` kullanır.

## Önyükleyici Yapılandırması ve Menüsü

Önyükleyici (örn. GRUB, systemd-boot), hangi çekirdek ve initramfs dosyasını yükleyeceğini, hangi çekirdek parametrelerini geçeceğini yapılandırma dosyasından okur.

* **GRUB 2:** Ana yapılandırma `/boot/grub/grub.cfg` dosyasındadır. Bu dosya genellikle `update-grub` veya `grub-mkconfig -o /boot/grub/grub.cfg` komutları tarafından `/etc/default/grub` ve `/etc/grub.d/` altındaki betikler kullanılarak otomatik olarak oluşturulur.
* **systemd-boot:** Yapılandırma EFI Sistem Bölümü (ESP) içindedir. `/boot/loader/loader.conf` genel ayarları, `/boot/loader/entries/` altındaki `.conf` dosyaları ise her bir önyükleme girdisini (çekirdek, initramfs, parametreler) tanımlar.

Sistem açılırken, önyükleyici genellikle bir menü gösterir. Bu menü şunları sağlar:

* Farklı işletim sistemleri veya çekirdek sürümleri arasında seçim yapma.
* Belirli bir önyükleme girdisi için çekirdek parametrelerini geçici olarak düzenleme (örn. tek kullanıcı moduna geçmek için `single` veya `init=/bin/bash` eklemek).
* Belirli bir süre (timeout) sonunda varsayılan girdiyi otomatik olarak başlatma.

## Yükleme Süreci

1. Önyükleyici, yapılandırmasına göre seçilen (veya varsayılan) çekirdek imajını ve ilgili initramfs dosyasını diskten okuyarak belleğe (RAM) yükler.
2. Önyükleyici, yapılandırmada tanımlanan veya menüden eklenen çekirdek parametrelerini hazırlar.
3. Önyükleyici, kontrolü belleğe yüklediği çekirdeğin başlangıç noktasına devreder ve çekirdek parametrelerini iletir.
4. Çekirdek çalışmaya başlar, initramfs'i bağlar ve init sürecini başlatmak için gerekli adımları atar.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://linux-yonetimi.veriteknik.net.tr/kernel-boot/cekirdegin-yueklenmesi-ve-boot-secenekleri.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
