diff --git a/lvm-test.sh b/lvm-test.sh index 7581222..e05f3e6 100644 --- a/lvm-test.sh +++ b/lvm-test.sh @@ -1,53 +1,167 @@ #!/bin/bash +# Terminus fontunu yükleme ve ayarlama (ilk işlem olarak) +echo "Terminus fontu yükleniyor..." +sudo pacman -S --noconfirm terminus-font + +# Biraz daha küçük boyutlu Terminus fontunu ayarlama (28pt) +setfont ter-v28b + # Klavye düzenini yükleme (Türkçe Q) loadkeys trq -# Wi-Fi arayüzü engellemesini kaldırma ve etkinleştirme -rfkill unblock wifi -ip link set wlan0 up +# UEFI ya da BIOS kontrolü +if [ -d /sys/firmware/efi ]; then + echo "UEFI sistemi tespit edildi. UEFI kurulumu başlatılıyor..." + BOOT_MODE="UEFI" +else + echo "MBR (BIOS) sistemi tespit edildi. BIOS kurulumu başlatılıyor..." + BOOT_MODE="BIOS" +fi + +# VirtualBox ortamında olup olmadığını kontrol etme +if grep -q "VirtualBox" /sys/class/dmi/id/product_name; then + echo "VirtualBox ortamı tespit edildi, Ethernet ile devam ediliyor..." + CONNECTION_TYPE="2" +else + # Kullanıcıya bağlantı türünü sorma + echo "Bağlantı türünü seçin:" + echo "1) Wi-Fi" + echo "2) Ethernet" + read -r CONNECTION_TYPE +fi + +if [ "$CONNECTION_TYPE" == "1" ]; then + # Wi-Fi arayüzü tespit etme + INTERFACE=$(iw dev | awk '$1=="Interface"{print $2}') + + if [ -z "$INTERFACE" ]; then + echo "Wi-Fi arayüzü bulunamadı! VirtualBox veya fiziksel cihazda çalıştığınızdan emin olun." + exit 1 + fi + + # Wi-Fi engellemesini kaldırma + rfkill unblock wifi + + # Wi-Fi arayüzünü etkinleştirme + ip link set "$INTERFACE" up -# Wi-Fi bağlantısını ayarlama -iwctl < /dev/null; then + echo "Reflector yüklü değil. Yükleniyor..." + pacman -S --noconfirm reflector +fi + +# Reflector ile en hızlı mirrorları bulma ve kaydetme +reflector --verbose --country 'Germany' -l 5 --sort rate --save /etc/pacman.d/mirrorlist + +# Sistemi kurma (Almanya için) pacstrap -K /mnt base base-devel linux-zen linux-zen-firmware intel-ucode cryptsetup lvm2 vim git iwd sbctl # fstab oluşturma @@ -88,18 +202,28 @@ cat < /etc/hosts 127.0.1.1 $HOSTNAME.localdomain $HOSTNAME EOL -systemctl enable iwd systemd-networkd systemd-resolved systemd-timesyncd +systemctl enable systemd-networkd systemd-resolved systemd-timesyncd rm /etc/resolv.conf ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf # Ağ ayarları yapılandırması -cat < /etc/systemd/network/wifi.network +if [ "$CONNECTION_TYPE" == "1" ]; then + cat < /etc/systemd/network/wifi.network +[Match] +Name=$INTERFACE +[Network] +DHCP=yes +IPv6PrivacyExtensions=true +EOL +else + cat < /etc/systemd/network/ethernet.network [Match] -Name=wlan0 +Name=$INTERFACE [Network] DHCP=yes IPv6PrivacyExtensions=true EOL +fi cat < /etc/systemd/resolved.conf DNS=1.1.1.1#cloudflare-dns.com 1.0.0.1#cloudflare-dns.com @@ -129,7 +253,12 @@ sbctl sign -s /efi/EFI/Linux/arch-linux-zen.efi sbctl sign -s /efi/EFI/Linux/arch-linux-zen-fallback.efi # Boot loader kurulumu -bootctl install --esp-path=/efi +if [ "$BOOT_MODE" == "UEFI" ]; then + bootctl install --esp-path=/efi +else + grub-install --target=i386-pc --recheck "$DISK" + grub-mkconfig -o /boot/grub/grub.cfg +fi # Çıkış ve disk senkronizasyonu exit