18.12.2018

Açılmayan Arch sorunu

Arch kurulumum aşağıdaki mesajlar sonrasında takılıp kalıyordu:

Warning: /lib/modules/4.19.8-arch1-1-ARCH/modules.devname not found -ignoring
starting version 239
ERROR: device 'UUID=.....' not found. Skipping fsck.
mount: /new_root: can't find 'UUID=....'.
You are now being dropped into an emergency shell.
sh: can't access tty; job control turned off
[rootfs ]#
Her ne kadar son gelinen nokta bir acil durum konsolu gibi gözükse de klavye çalışmıyor, öylece kalıyor. UUID ile gösterilen disk bölümü sağlam. Başka bir linux kurulumundan bu bölümü mount edip içeriği görebiliyorum.

Uzun uğraşlar sonucunda anladım ki olay pacman -Syu ile güncelleme yaparken güncellemenin yarım kalmasıyla yeni sürüm linux çekirdeğinin yüklenmesi ama initramfs'in yeniden oluşturulmasının gerçekleşmemesinden kaynaklanıyormuş.

USB sürücüsüne yazdığım archlinux ISO'su ile açtığım bilgisayarda ilk önce boot partition'ı /mnt'ye bağladım:
# mount /dev/sda3 /mnt
Ardından chroot ortamına geçtim:
# arch-chroot /mnt
Sonra gerek var mı, bilemiyorum ama arch forumlarında linux çekirdeği paketini tekrar yüklemem önerilmiş, onu yükledim (çünkü pacman -Qs linux ile mevcut sürümün yüklenmiş olduğunu görebiliyordum).
# pacman -S linux
Bundan sonra asıl işlem olarak initramfs'i tekrar oluşturdum:
# mkinitcpio -o linux
Grub'ı tekrar oluşturma adımını atladım, çünkü benim durumumda grub'ı başka bir linux kontrol ediyordu:
# grub2-mkconfig -o /boot/grub2/grub.cfg
Tekrar başlattığımda sorun giderilmişti.

Bu sorun ile şu adımların arkasından karşılaştım: 2 aya yakın bir süredir bu kurulumu açmamıştım. Açtıktan sonra pacman -Syu ile güncellemeleri kontrol etmek istedim, ama hiç güncelleme olmadığı mesajını aldım. Bu garip, çünkü 2 ay gibi bir süre zarfında arch linux gibi bir kurulumda mutlaka birkaç paket güncellemesi çıkardı. pacman -Syyu da fayda etmedi. Bunun üzerine güncelleme kaynaklarını tekrar oluşturmak istedim:
# reflector --verbose --latest 100 --sort rate --save /etc/pacman.d/mirrorlist
gibi bir komutla mirrorlist dosyasını tekrar oluşturdum. Sonrasında pacman -Syyu ile kontrol ettiğimde çok sayıda güncelleme buldum. Bunları yüklemeye çalıştım. Ama bir sebepten güncellemeler yarım kalmış. Bunun sonucunda da linux çekirdeği yüklenmiş, ama initramfs dosyası yeni sürüme uygun tekrar oluşturulmamş. Bunun sonucunda açılamayan bir sistem oluşmuş.

1.12.2018

Linux'ta çok yavaş açılış

Yeni kurulum yaptığım bir bilgisayardaki Fedora'nın çok yavaş açılışını incelemek için plymouth ekranında escape'e bastığımda şöyle bir satırda uzun süre beklediğini farkettim:

A startup job is running for dev-disk-by\....
Sorun nerden kaynaklanıyor diye aradığımda bu sorunun /etc/fstab'da yer alan ve UUID'si güncel olmayan bir disk bölümü ile ilgili olabileceğini okudum. Gerçekten de karşılaştırdığımda swap bölümü için UUID'nin güncel olmadığını gördüm.

$ sudo blkid /dev/sdaX
ile güncel UUID'yi öğrendim. Sonra da /etc/fstab'a girerek burayı güncelledim. Kendimden emin bir şekilde tekrar başlattığımda hatanın aynı yerde durduğunu farkettim. 90 saniye kadar bu işlemin hata vermesini bekiyordu. Daha başka nerde sorun olabilir diye düşünürken /boot/grub/grub.cfg dosyasında resume alanın da aynı UUID'yi içerdiğini gördüm. Bunu değiştirmek için /etc/default/grub dosyasına baktığımda GRUB_CMDLINE_LINUX bölümünde yine aynı UUID'nin olduğunu gördüm. Son olarak bu dosyayı da güncelledim ve sorun yine olduğu gibi duruyordu.

Sonra hatırladım ki, swap bölümünün UUID'sinin değişmesine sebep olan, dual boot archlinux kurulumumdu ve grub'ı arch yönetiyordu. Bunun için arch'ı açtım. Bu kurulumda /etc/fstab ile ilgili bir sorun yoktu. Aslında /etc/default/grub dosyasında da sorunlu UUID'nin izine rastlamadım. Sadece
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
ile grub'ı güncellemem yeterli oldu.