Basit Kurulum¶
Bu bölümde Ext4 dosya sistemine grub kullanarak kurulum anlatılacaktır. Anlatım boyunca /dev/sda diski üzerinden örnekleme yapılmıştır. Siz kendi diskinize göre düzenleyebilirsiniz.
Uefi - Legacy tespiti¶
/sys/firmware/efi dizini varsa uefi yoksa legacy sisteme sahipsinizdir. Eğer uefi ise ia32 veya x86_64 olup olmadığını anlamak için /sys/firmware/efi/fw_platform_size içeriğine bakın.
[[ -d /sys/firmware/efi/ ]] && echo UEFI || echo Legacy
[[ "64" == $(cat/sys/firmware/efi/fw_platform_size) ]] && echo x86_64 || echo ia32
Disk Bölümlendirme¶
Uefi kullananlar ayrı bir disk bölümüne ihtiyaç duyarlar. Bu bölümü fat32 olarak bölümlendirmeliler.
Bu anlatımda kurulum için /boot dizinini ayırmayı ve efi bölümü olarak aynı diski kullanmayı tercih edeceğiz.
Öncelikle cfdisk veya fdisk komutları ile diski bölümlendirelim.
$ cfdisk /dev/sda
Ardından boot bölümünü ve kök dizini formatlayalım.
$ mkfs.vfat /dev/sda1
$ mkfs.ext4 /dev/sda2
Not: ext4 dosya sistemi araçları e2fsprogs ile sağlanır.
Eğer /boot bölümünü ayırmayacaksanız grub yüklenirken unknown filesystem hatası almanız durumunda aşağıdaki yöntemi kullanabilirsiniz.
$ e2fsck -f /dev/sda2
$ tune2fs -O ^metadata_csum /dev/sda2
Dosya sistemini kopyalama¶
Kurulacak sistemin imajını bir dizine bağlayalım.
# /dev/loop0 bağlayalım
$ mount -o loop /dev/loop0 /source
Şimdi de bölümlerimizi bağlayalım.
# /target yoksa oluşturun.
$ mount -t ext4 /dev/sda2 /target
$ mkdir -p /target/boot
$ mount -t vfat /dev/sda1 /target/boot
Ardından dosyaları kopyalayalım.
# -p dosya izinlerini korur
# -r alt dizinlerle beraber kopyalar
# -f soru sormayı kapatır
# -v detaylı çıktıları gösterir
$ cp -prfv /source/* /target
Daha sonra diski senkronize edelim.
$ sync
Bootloader kurulumu¶
Sisteme ymp chroot komutu ile girelim.
$ ymp chroot /target
# Bunun yerine aşağıdaki gibi de girilebilir.
for dir in /dev /sys /proc /run /tmp ; do
mount -bind /$dir /target/$dir
done
$ chroot /target
Şimdi de eğer uefi kullanıyorsanız efivar bağlayalım.
$ mount -t efivarfs efivarfs /sys/firmware/efi/efivars
Grub paketini yükleyelim.
$ ymp install grub
Son olarak grub kurulumu yapalım.
# biz /boot ayırdığımız ve efi bölümü olarak kullanacağız.
# uefi kullanmayanlar --efi-directory belirtmemeliler.
# kurulu sistemden bağımsız çalışması için --removable kullanılır.
$ grub-install --removable --boot-directory=/boot --efi-directory=/boot /dev/sda
Grub yapılandırması¶
Öncelikle uuid değerimizi bulalım.
$ blkid | grep /dev/sda2
/dev/sda2: UUID="..." BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="..."
Şimdi aşağıdaki gibi bir yapılandırma dosyası yazalım ve /boot/grub/grub.cfg dosyasına kaydedelim. Burada uuid değerini ve çekirdek sürümünü düzenleyin.
search --fs-uuid --no-flopy --set=root <uuid-değeri>
linux /boot/vmlinuz-<çekirdek-sürümü> root=UUID=<uuid-değeri> rw quiet
initrd /boot/initrd.img-<çekirdek-sürümü>
boot
Ayrıca otomatik yapılandırma da oluşturabiliriz.
$ grub-mkconfig -o /boot/grub/grub.cfg
Fstab dosyası¶
Bu dosyayı doldurarak açılışta hangi disklerin bağlanacağını ayarlamalıyız. /etc/fstab dosyasını aşağıdakine uygun olarak doldurun.
# <fs> <mountpoint> <type> <opts> <dump/pass>
/dev/sda1 /boot vfat defaults,rw 0 1
/dev/sda2 / ext4 defaults,rw 0 1
Not: Disk bölümü konumu yerine UUID="<uuid-değeri>" şeklinde yazmanızı öneririm. Bölüm adları değişebilirken uuid değerleri değişmez.