Ön sözler ve giriş

Öncelikle hepinize merhabalar! Geçen hafta içinde sırf eğlence olsun diye bilgisayarımdaki Arch ve Windows'un yanına KDE Gentoo kurdum.
İlk seferinde kurduktan hemen sonra sildim ve ertesi gün bu çok hoşuma gittiği için ikinci kez kurdum (Sanal makine değil kendi bilgisayarıma kurdum bu arada :D).
Şimdi Gentoo hakkında az çok bir bilgim var ve rehber hazırlamak istedim. Bu rehber olabildiğince minimal bir kurulum olacak (KDE ve Apps Meta dışında).

Kurulumda takip edebileceğiniz resmi kaynak bu site:

Evet, şimdi kuruluma geçebiliriz. İhtiyacımız olan kurulum ortamını indirmeliyiz.
Aşağıdaki menüden resmi ortamları indirebilirsiniz, başka bir distronun ortamıyla da indirilebiliyor ancak sitede belirttiği gibi bu bazı sorunlara yol açabiliyor.

Bölüm 1: ISO Dosyasını Yazdırmak

İndirdiğiniz 466 Megabyte boyutundaki kurlum medyasını BalenaEtcher yardımıyla yazdırabilirsiniz.

İşlem bittikten sonra Gentoo kurulum medyasını boot edin.

Bölüm 1.1: Türkçe Klavye

Ortamı ilk açtığınızda klavye Türkçe olmayacaktır. Çözümü basit :)
Kod:
loadkeys trq

Bölüm 2: Ağ Ayarları

Kurulum medyasına girdikten sonra yapmamız gereken ilk iş ağ ayarlarını yapmak olacaktır. İfconfig ile test ederek başlayalım.
Kod:
ifconfig

Ağ kurulumunu otomatik olarak yapmak için ise netsetup kullanabiliriz.
Kod:
net-setup
Kod:
ping www.gentoo.org

Bölüm 3: Disk biçimlendirme

Ağ ayarlarını tamamladıktan sonra kurulumun ilk aşamasının son adımını yapabiliriz.
Bu aşamada ben cgdisk kullanacağım, tamamen kişisel tercih.

lsblk komutuyla disklerinizi görebilirsiniz, bunu yapmayı unutmayın çünkü hangi diski biçimlendireceğimizi bilmek önemli.

Benim denememde bu "nvme0n1" ancak sda,sdx,sdb gibi isimler de olabilir. Sizinkini öğrendikten sonra devam edebilirsiniz.
Kod:
cgdisk /dev/nvme0n1

Burada alttaki menüden bazı seçenekleriniz olacak. Ok tuşları işinizi görecektir.
ꞏ Eğer başka bir işletim sisteminiz varsa önceden Gentoo için Free Space ayırmış olmanız gerekir.
ꞏ Ayırmadıysanız o bölümün üstüne gelerek delete yapabilirsiniz. Bu eski işletim sisteminizi yok edecektir.
ꞏ İlk olarak Free Space üzerine gelin ve New seçeneğini seçin.

Root Bölümü

İlk bölümümüz Gentoo bölümü olacak, birinci değeri boş bırakın.
İkinci değere işletim sisteminizin olmasını istediğiniz boyutu GB cinsinden yazın. Ben 300GB yazdım çünkü 300 GB olmasını istiyorum.
Üçüncü değeri boş bırakın, bu bölümü sonra halledeceğiz.
Dördüncü değere bölümün ismini yazacağız, bu size kalmış, ben Gentoo yazdım.

EFI Bölümü

Eğer UEFI Windows'un yanına Gentoo kuracaksanız EFI bölümünüz zaten vardır, ancak sisteminize sadece Gentoo kuracaksanız bir bölüm oluşturmanız gerekli.
Birinci değeri boş bırakın.
İkinci değere 1GB yazabilirsiniz.
Üçüncü değeri boş bırakın.
Dördüncü değere EFI yazdım, ancak bu şahsi tercih. İstediğinizi yazabilirsiniz.

SWAP Bölümü

4 GB boyutunda bir takas alanı oluşturmak isteyebilirsiniz.
Birinci değeri boş bırakın.
İkinci değere 4GB yazın.
Üçüncü değeri boş bırakın.
Dordüncü değer kişisel tercih. Swap yazabilirsiniz.

Buraya kadar yaptıktan sonra Write seçeneği ile tamamen diskinizi biçimlendirin. Ardından bölüntüleri biçimlendireceğiz.

Şimdi lsblk ile bölümlerinize bakın. Benim durumumda:
Kod:
nvme0n1p1: Gentoo Root Bölümü (300gb)
nvme0n1p2: Swap Bölümü (4gb)
nvme0n1p3: EFI bölümü (1.5gb)

Bundan yararlanarak diskleri şu şekilde biçimlendireceğim (Dual Boot yapacaksanız 3. adımı atlayın).
Kod:
mkfs.ext4 /dev/nvme0n1p1
Kod:
mkswap /dev/nvme0n1p2 ardından swapon /dev/nvme0n1p2
Kod:
mkfs.fat /dev/nvme0n1p3

Bölüm 4: Stage-3 Kurulumu

Yukarıdaki uzun bölümün ardından biraz daha kolay bir bölümle karşılaştınız.
Öncelikle root bölümümüzü mount edelim:
Kod:
mount /dev/nvme0n1p1 /mnt/gentoo
Kod:
cd /mnt/gentoo

Şimdi tarihi ayarlamamız gerekli:
Kod:
chronyd -q

veya

Kod:
date 100313162021
#Bu komut için format: Ay,Gün,Saat,Dakika,Yıl

Şimdi ise Stage-3 arşivini indirmek için links kullanmamız gerekli.
Kod:
links https://www.gentoo.org/downloads/
#Bu komut size komut satırında çalışan bir tarayıcı açacaktır.
#Stage-3 openrc versiyonunu seçip save seçeneğine basın.
#Systemd versiyonunu seçmemeye dikkat etmelisiniz.
#links'den çıkmak için q tuşuna basın

Arşiv indikten sonra bu komut ile ayıklayabilirsiniz:
Kod:
tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner

Bölüm 5: Portage Make.conf Ayarları

Sevgili paket yöneticimizi ayarlamaya başlayabiliriz.
Kod:
nano -w /etc/portage/make.conf

İlk adım olarak COMMON_FLAGS bölümüne tırnaksız olarak "-march=native" yazalım.

Ardından makeopts işlemini ayarlayalım. Dosyamızın en altına direkt olarak bunu yazabiliriz.
Kod:
MAKEOPTS="-j8"
#-j8 bizim işlemci çekirdek sayımızı belirtiyor.
#Kendi çekirdek sayınıza göre -j4 veya -j12 yazabilirsiniz.

Son olarak Lisans ayarlarımızı yapalım.
Kod:
ACCEPT_LICENSE="*"

Bu adımdan sonra dosyayı kaydedip çıkabilirsiniz.

Unutmadan Mirror seçimi yapalım:
Kod:
mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
#Bu komut size grafik arayüzlü bir mirror seçme aracı açacaktır.
#Türkiye mirroruna kadar kaydırın ve boşluk tuşuyla ikisini de seçin.
#Seçtikten sonra enter yaparak çıkın.
#Eğer hata veriyorsa tarihinizi kontrol edin (yanlış yapmış olabilirsiniz)

Bölüm 6: Base kurulum

Başlangıçta aşağıdakileri yazın.
Kod:
mkdir --parents /mnt/gentoo/etc/portage/repos.conf
Kod:
cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

Bir cat komutu ile doğru yapıp yapmadığınıza bakabilirsiniz.
Kod:
cat /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

Bu şekilde görünmeli:
Kod:
[DEFAULT]
main-repo = gentoo
 
[gentoo]
location = /var/db/repos/gentoo
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
auto-sync = yes
sync-rsync-verify-jobs = 1
sync-rsync-verify-metamanifest = yes
sync-rsync-verify-max-age = 24
sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
sync-openpgp-key-refresh-retry-count = 40
sync-openpgp-key-refresh-retry-overall-timeout = 1200
sync-openpgp-key-refresh-retry-delay-exp-base = 2
sync-openpgp-key-refresh-retry-delay-max = 60
sync-openpgp-key-refresh-retry-delay-mult = 4
sync-webrsync-verify-signature = yes
sync-git-verify-commit-signature = yes

DNS Özelliklerini kopyalayalım
Kod:
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/

Chroot yapmadan önceki son adıma geçtik, hepsini sırayla yazın:
Kod:
mount --types proc /proc /mnt/gentoo/proc
Kod:
mount --rbind /sys /mnt/gentoo/sys
Kod:
mount --make-rslave /mnt/gentoo/sys
Kod:
mount --rbind /dev /mnt/gentoo/dev
Kod:
mount --make-rslave /mnt/gentoo/dev
Kod:
mount --bind /run /mnt/gentoo/run
Kod:
mount --make-slave /mnt/gentoo/run

Chroot atalım:
Kod:
chroot /mnt/gentoo /bin/bash
Kod:
source /etc/profile
Kod:
export PS1="(chroot) ${PS1}"

Boot Bölümünü mount edelim:
Kod:
mkdir /efi
Kod:
mount /dev/nvme0n1p3 /efi

Legacy için:
Kod:
mount /dev/nvme0n1p3 /boot

Portage ayarlarımızı yapalım:
Kod:
emerge-webrsync
Kod:
emerge --sync

Profil Seçimi yapmamız gerekli, plasma kuracağımızı göz önünde bulundurursak /desktop/plasma seçeneğini seçmemiz gerekli.
Kod:
eselect profile list

Benim denememde Plasma profili 9 numara. Sizde farklı olabilir, seçerken dikkatli olun.
Kod:
eselect profile set 9

Son olarak @world güncellemesi yapalım, bazıları bunun uzun sürdüğünü söylüyor. Sakın inanmayın :D
Kod:
emerge --ask --verbose --update --deep --newuse @world

Bundan sonra make.conf üzerinde bazı değişiklikler daha yapmamız gerekecek:
Kod:
nano /etc/portage/make.conf

Kod:
USE="X -systemd"
#X'in başına çizgi koymayın!!
#Burada systemd ile alakalı herhangi bir paket kullanmak istemediğimizi belirttik.

Timezone ayarı:
Kod:
echo "Turkey" > /etc/timezone
Kod:
emerge --config sys-libs/timezone-data

Locale ayarı:
Kod:
nano /etc/locale.gen
Kod:
#Bu dosyanın içine şunu yazın:
tr_TR.UTF-8 UTF-8
Kod:
#locale güncelllemesini yapalım
locale-gen
Kod:
eselect locale list
#Bu komut locale listesi çıkaracaktır, az önce ayarladığınız locale'nin numarasını aklınzıda tutun
Kod:
eselect locale set 9
#9 yerine kendi ayarladığınız locale numarasını yazın

Son olarak Enviorment güncellemesi yapalım (Bu Türkçe karakterlerde bozulma yaratacaktır ama yine de yapın)
Kod:
env-update && source /etc/profile && export PS1="(chroot) ${PS1}"

Bölüm 7: Kernel konfigürasyonu

6. bölüm biraz uzun mu oldu dersiniz? Tam gaz devam ediyoruz!
Kod:
emerge --ask sys-kernel/gentoo-sources

Burada bir konuya değinmek isterim, genkernel kullanacağımız için bu işlemde bir sıkıntı yaşadım.
Bunu çözmek için inen kernel dosyası klasörünün ismini linux olarak değiştirdim.
Eğer siz de "kernel dosyası bulunamadı" ve benzeri bir hata alırsanız klasörün ismini linux olarak değiştirmeyi deneyebilirsiniz.

Manuel kernel konfigürasyonu yapmak isteyenler için şu kodları yazmak yeterli olacaktır:
Kod:
emerge --ask sys-apps/pciutils
Kod:
cd /usr/src/linux
Kod:
make menuconfig

Ancak biz genkernel kullanacağız.
Kod:
emerge --ask sys-kernel/genkernel

Genkernel kullanmadan önce Fstab dosyamızı düzenleyelim. Bu işlem biraz zor ancak oldukça önemli.
Kod:
nano /etc/fstab

Yukarıdaki komutu verdikten sonra örnek disklerle hazırlanmış bir fstab dosyası ile karşılaşacaksınız.
Boşlukları örneklere göre uygun olarak bırakmak için tab kullanabilirsiniz, bu önemli.

Benim durumumda şu şekilde oluyor:
Kod:
#Şimdilik boot bölümü yeterli, diğerlerini sonra yapacağız.
/dev/nvme0n1p3        /boot    vfat    defaults    0 2
#UEFI için bunu yazın
/dev/nvme0n1p3        /efi    vfat    defaults    0 2

Genkernel için önümüzde hiç engel kalmadı:
Kod:
genkernel all

Bu işlem tamamlandıktan sonra bir kontrol yapalım:
Kod:
ls /boot/vmlinu* /boot/initramfs*


Bölüm 8: Sistem Konfigürasyonu

Evet, daha önce söylediğim gibi bu dosyayı tekrar düzenleyeceğiz.
Kod:
nano /etc/fstab

Ben kendi sistemime göre ayarladım, siz bunu değiştirebilirsiniz.
Kod:
/dev/nvme0n1p1        /    ext4    noatime        0 1
/dev/nvme0n1p2        none    swap    sw        0 0

#SSD kullanıyorsanız ilk satırda noatime,discard yazabilirsiniz

Hostname seçimi:
Kod:
#Bilgisayar isminiz, terminalde kullanıcıadı@bilgisayarismi olarak gözükür.
nano /etc/conf.d
Kod:
#Ben aliaslan@Gentoo olarak gözüksün istiyorum, bu yüzden şunu yazacağım:
hostname="Gentoo"

Ufak bir ağ aracı yükleyelim
Kod:
emerge --ask --noreplace net-misc/netifrc

Şimdi ufak bir ağ ayarı yapmamız gerekli:
Kod:
nano /etc/conf.d/net
Kod:
#ifconfig komutunda gözüken değeri yazıyoruz, bu değer benim bilgisayarımda enp5s0.
#sizde farklı olabilir, ona göre yapın.
config_enp5s0="dhcp"

Ağ ayarlarını açılışta başlatma:
Kod:
cd /etc/init.d
Kod:
ln -s net.lo net.enp5s0
#Kendi değerinizi yazın
Kod:
rc-update add net.enp5s0 default

Hosts dosyamızı düzenleyelim:
Kod:
nano /etc/hosts
##Her iki localhost'un yanına görünmesini istediğiniz ismi yazabilirsiniz. (Benim için Gentoo)

Root şifremizi ayarlayalım, kurlumda sona yaklaşıyoruz.
Kod:
passwd

Klavye düzenini ayarlayalım:
Kod:
nano /etc/conf.d/keymaps
#US olarak gözüken değeri TRQ olarak değiştirin.


Bölüm 9: Sistem Araçlarını Yükleme

Sysklogd indirip RC sistemine ekleyelim:
Kod:
emerge --ask app-admin/sysklogd
Kod:
rc-update add sysklogd default

Dosya sistemi kontrolcülerini sistemimize yükleyelim:
Kod:
#Ext2,3,4 için:
emerge --ask e2fsprogs
Kod:
#Fat için:
emerge --ask dosfstools

Dhcpd kuralım:
Kod:
emerge --ask net-misc/dhcpcd

Kablosuz ağ kullancaksanız bunu da yapın:
Kod:
emerge --ask net-wireless/iw net-wireless/wpa_supplicant

Şu anda bu bölümün en önemli kısmına geldik: GRUB kurulumu!
Bu aşamada dikkatli olmanız yeterli, hiç zor değil.

UEFI için:
Kod:
echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf
Kod:
emerge --ask sys-boot/grub:2

BIOS için:
Kod:
emerge --ask --verbose sys-boot/grub:2


Eğer ilk adımda echo komutunu kullanmadan grub'u kurduysanız bunu yazın:
Kod:
emerge --ask --update --newuse --verbose sys-boot/grub:2

Grub konfigürasyonu:
Kod:
#BIOS için:
grub-install /dev/nvme0n1
Kod:
#UEFI için:
grub-install --target=x86_64-efi --efi-directory=/efi

Conf dosyası çıkarma:
Kod:
grub-mkconfig -o /boot/grub/grub.cfg

Yeni kurulumumuzu tamamlamak:
Kod:
exit
Kod:
cd
Kod:
umount -l /mnt/gentoo/dev{/shm,/pts,}
Kod:
umount -R /mnt/gentoo
Kod:
reboot

Bu işlemden sonra kurulum dosyasını bilgisayarınızdan çekin.
Kullanıcı adına root yazdıktan sonra belirlediğiniz şifreyi girerek Gentoo kurulumunuza girin.

Bölüm 10: Final ve Ek Özellikler

Kullanıcı oluşturalım:
Kod:
useradd -m -G users,wheel,audio -s /bin/bash tavuk
# Tavuk yerine kullanıcı adınızı yazın.
Kod:
passwd tavuk

Stage-3 arşivini silerek son noktayı koyun.
Kod:
rm /stage3-*.tar.*

Şu andan itibaren tamamen işlevsel bir Gentoo kurlumunuz var.
Ancak bir şey eksik, ne olabilir ki? Evet! Doğru bildiniz: KDE Plasma.


Kısım 2 Bölüm 1: KDE Plasma Kurulumu

Kod:
#Paketleri kontrol etmek için gentoolkit kuralım
#Format şu şekilde: equery list "*" | grep paketismi
emerge --ask gentoolkit

Elogind kuralım:
Kod:
#Eğer grep ile bulamadıysanız kurun, aksi halde gerek yok.
#Eğer kurmadıysanız 2. komut hata verecektir.
emerge --ask elogind
Kod:
rc-update add elogind boot

Udev:
Kod:
rc-update add udev sysinit

Dbus:
Kod:
rc-update add dbus default

Udisks:
Kod:
emerge --ask udisks

Lvm:
Kod:
rc-update add lvm boot

GPU tanıtımı:
Kod:
nano /etc/portage/make.conf
Kod:
#Aşağıdaki değeri ekleyin
#Tırnak arasına ekran kartı türünüzü yazmalısınız, (nvidia, amdgpu, qxl)
#Tüm kartlar için Gentoo sayfasına bakabilirsiniz.
VIDEO_CARDS=""

Xorg sürücü kontrolü:
Kod:
emerge --search xorg-drivers
Kod:
emerge --ask --verbose xorg-drivers

Video kontrolü:
Kod:
#tavuk kullanıcı isminiz (zaten biliyorsunuz)
gpasswd -a tavuk video

KDE Meta kurlumu:
Kod:
#Bu biraz uzun sürebilir benden söylemesi :D
emerge --ask kde-plasma/plasma-meta

KDE Apps Meta kurlumu:
Kod:
#Bu bir öncekinden 2 kat daha uzun sürecek.
emerge --ask kde-apps/kde-apps-meta


Kısım 2 Bölüm 2: Sudo Kurulumu

Kod:
emerge --ask sudo
Kod:
#Yüklendikten sonra konfigüre edelim:
visudo

Açılan dosyada "root ALL=(ALL) ALL" kısmının altına şunu ekleyelim:
Kod:
tavuk ALL=(ALL) ALL


Kısım 2 Bölüm 3: SDDM Kurulum ve Konfigürasyon

Kod:
#Grep ile kontrol ettikten sonra bulamazsanız yükleyin.
#Genelde yüklü oluyor.
emerge --ask x11-misc/sddm
Kod:
#Bazıları performans sorunalrı yaşayabilir.
#Bunun için user group ayarı yapalım:
usermod -a -G video sddm

Konfigürasyon ayarları:
Kod:
nano /etc/sddm.conf
Kod:
#Eklenecek değer:
[X11]
Display_Command=/etc/sddm/scripts/Xsetup

Referans gösterdiğimiz yolu oluşturalım:
Kod:
mkdir -p /etc/sddm/scripts
Kod:
nano /etc/sddm/scripts/Xsetup
Kod:
#Dosya içine yazılacak değer:
setxkbmap tr
Kod:
chmod a+x /etc/sddm/scripts/Xsetup

SDDM konfigürasyon finali:
Kod:
nano /etc/conf.d/xdm
Kod:
#Yazılacak değer:
DISPLAYMANAGER="sddm"

Kod:
nano /etc/conf.d/display-manager
Kod:
#Yazılacak değer:
DISPLAYMANAGER="sddm"

SDDM Başlatma:
Kod:
rc-update add xdm default
Kod:
/etc/init.d/xdm start

Bu adımdan sonra grafik arayüzlü login ekranı gelecektir.
Kurlumu burada tamamlamış oluyoruz.

Son Sözler

Bu rehberde en sadesinden stabil bir Gentoo kurlumu yaptım, okuduğunuz için çok çok teşekkür ediyorum :)
Bu rehber sanırım Gentoo kategorisinin de ilk konusu oluyor. İlk konunun Gentoo kurulumu olması da hoş oldu :D
Unutmayın, artık bir Gentoo kullanıcısınız, benim gibi Arch kullananlara zorbalık yapabilirsiniz.
Kendinize iyi bakın.
 
Son düzenleyen: Moderatör:
Arch kullananlar son kullanıcıdır. Windows ve Mac gibi bilgisayardan anlamayan tayfadandır. (Gentoo kullanıyorum bu arada.) Güzel içerik ancak sistemde kullansan daha iyi olurdu.
Systemd ile kurulum biraz daha uzun ve sıkıntılı geçiyor. Sadelik açısından rc tercih ettim.
 
Systemd ile kurulum biraz daha uzun ve sıkıntılı geçiyor. Sadelik açısından rc tercih ettim.
Bash:
cruslan@crusland ~ $ neofetch
         -/oyddmdhs+:.                cruslan@crusland
     -odNMMMMMMMMNNmhy+-`             ----------------
   -yNMMMMMMMMMMMNNNmmdhy+-           OS: Gentoo Linux x86_64
 `omMMMMMMMMMMMMNmdmmmmddhhy/`        Host: MS-7C56 2.0
 omMMMMMMMMMMMNhhyyyohmdddhhhdo`      Kernel: 6.6.8-gentoo-dist
.ydMMMMMMMMMMdhs++so/smdddhhhhdm+`    Uptime: 2 hours, 44 mins
 oyhdmNMMMMMMMNdyooydmddddhhhhyhNd.   Packages: 965 (emerge)
  :oyhhdNNMMMMMMMNNNmmdddhhhhhyymMh   Shell: bash 5.1.16
    .:+sydNMMMMMNNNmmmdddhhhhhhmMmy   Resolution: 1920x1080
       /mMMMMMMNNNmmmdddhhhhhmMNhs:   DE: Plasma 5.27.10
    `oNMMMMMMMNNNmmmddddhhdmMNhs+`    WM: kwin
  `sNMMMMMMMMNNNmmmdddddmNMmhs/.      Theme: [Plasma], Breeze [GTK2/3]
 /NMMMMMMMMNNNNmmmdddmNMNdso:`        Icons: [Plasma], breeze-dark [GTK2/3]
+MMMMMMMNNNNNmmmmdmNMNdso/-           Terminal: konsole
yMMNNNNNNNmmmmmNNMmhs+/-`             CPU: AMD Ryzen 5 5600 (12) @ 4.468GHz
/hMMNNNNNNNNMNdhs++/-`                GPU: AMD ATI Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT
`/ohdmmddhys+++/:.`                   Memory: 4944MiB / 15913MiB
  `-//////:--.
Yapmasam olmazdı. Ben kendi kurulumumda Systemd tercih ettim, diğer init sistemleri saç-baş yoldurur bence. :)
 
Rehberi okurken bile beynim kulaklarımdan aktı, Gentoo kuran hayatta her şeyi yapar. Ellerinize sağlık. Muck 💋