420 lines
		
	
	
	
		
			18 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			420 lines
		
	
	
	
		
			18 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/bash
 | |
| mv /usr/local/bin/progs/3progs.sh.desktop /etc/xdg/autostart/
 | |
| rm -rf /usr/lib/calamares
 | |
| rm -rf /usr/share/calamares
 | |
| rm -rf /usr/include/libcalamares
 | |
| rm -rf /usr/bin/calamares
 | |
| rm -rf /etc/calamares
 | |
| rm -rf /usr/share/applications/calamares.desktop
 | |
| rm -rf /etc/xdg/autostart/calamares.desktop
 | |
| ldconfig
 | |
| # GPU detektálás
 | |
| AMD_GPU=$(lspci -P | grep -iE "AMD|ATI" -c)
 | |
| NVIDIA_GPU=$(lspci -P | grep "NVIDIA" -c)
 | |
| # GPU driverek telepítése
 | |
| if [[ $AMD_GPU -gt 0 ]]; then
 | |
|     echo "AMD GPU észlelve, driverek telepítése..."
 | |
|     pacman -S mesa vulkan-radeon lib32-vulkan-radeon lib32-mesa xf86-video-amdgpu --noconfirm
 | |
| fi
 | |
| if [[ $NVIDIA_GPU -gt 0 ]]; then
 | |
|     echo "NVIDIA GPU észlelve, driverek telepítése..."
 | |
|     pacman -S nvidia-dkms nvidia-utils nvidia-settings egl-wayland lib32-nvidia-utils --noconfirm
 | |
|     sed -i 's/MODULES=()/MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf
 | |
|     echo "options nvidia_drm modeset=1 fbdev=1" > /etc/modprobe.d/nvidia.conf
 | |
|     mkinitcpio -P
 | |
| fi
 | |
| # Boot loader telepítése
 | |
| if [ -d "/sys/firmware/efi" ]; then
 | |
|     # UEFI rendszer
 | |
|     echo "UEFI rendszer észlelve, systemd-boot telepítése..."
 | |
|     
 | |
|     # LUKS titkosítás ellenőrzése
 | |
|     ROOT_DEVICE=$(findmnt -n -o SOURCE /)
 | |
|     ENCRYPTED=false
 | |
|     CRYPTDEVICE_UUID=""
 | |
|     CRYPTNAME="cryptroot"
 | |
|     
 | |
|     # Ellenőrizzük, van-e titkosított partíció
 | |
|     if [[ "$ROOT_DEVICE" == "/dev/mapper/"* ]]; then
 | |
|         ENCRYPTED=true
 | |
|         #LUKS_DEVICE=$(blkid -t TYPE=crypto_LUKS -o device | head -n1)
 | |
|         #CRYPTDEVICE_UUID=$(blkid -o value -s UUID "$LUKS_DEVICE")
 | |
|         
 | |
|         LUKS_DEVICE="/dev/$(sudo dmsetup deps -o devname cryptroot | grep -o '(.*)'| tr -d '()')"
 | |
|         CRYPTDEVICE_UUID=$(echo "$ROOT_DEVICE" | sed 's|/dev/mapper/luks-||')
 | |
|         
 | |
|         echo "LUKS titkosítás észlelve: $LUKS_DEVICE (UUID: $CRYPTDEVICE_UUID)"
 | |
|         
 | |
|         # A fájlrendszer típusának ellenőrzése
 | |
|         FS_TYPE=$(lsblk -no FSTYPE /dev/mapper/$CRYPTNAME 2>/dev/null || echo "")
 | |
|         
 | |
|         if [ -z "$FS_TYPE" ]; then
 | |
|             # Ha még nincs megnyitva a titkosított eszköz, próbáljuk megnyitni
 | |
|             echo "Titkosított eszköz nyitása ellenőrzéshez..."
 | |
|             if [ ! -e "/dev/mapper/$CRYPTNAME" ]; then
 | |
|                 # Próbáljuk meg kinyitni (jelszó nélkül nem fog működni, de megpróbáljuk)
 | |
|                 cryptsetup open "$LUKS_DEVICE" "$CRYPTNAME" || true
 | |
|             fi
 | |
|             
 | |
|             # Ellenőrizzük újra a fájlrendszert
 | |
|             FS_TYPE=$(lsblk -no FSTYPE /dev/mapper/$CRYPTNAME 2>/dev/null || echo "")
 | |
|             
 | |
|             if [ -z "$FS_TYPE" ]; then
 | |
|                 # Ha még mindig nem tudjuk meghatározni, feltételezzük, hogy ext4
 | |
|                 echo "Nem sikerült meghatározni a fájlrendszer típusát, ext4-et feltételezünk"
 | |
|                 FS_TYPE="ext4"
 | |
|             fi
 | |
|         fi
 | |
|         
 | |
|         echo "Fájlrendszer típusa: $FS_TYPE"
 | |
|         
 | |
|         # mkinitcpio.conf módosítása a szükséges modulokkal és hook-okkal
 | |
|         # Hozzáadjuk a dm-crypt és crypto modulokat
 | |
|         if ! grep -q "dm[-_]crypt" <<< "$(grep "^MODULES=" /etc/mkinitcpio.conf)"; then
 | |
|             echo "dm-crypt modul hozzáadása"
 | |
|             sed -i 's/MODULES=(/MODULES=(dm-crypt /' /etc/mkinitcpio.conf
 | |
|         fi
 | |
|         
 | |
|         if ! grep -q "crypto" <<< "$(grep "^MODULES=" /etc/mkinitcpio.conf)"; then
 | |
|             echo "crypto modul hozzáadása"
 | |
|             sed -i 's/MODULES=(/MODULES=(crypto /' /etc/mkinitcpio.conf
 | |
|         fi
 | |
|         
 | |
|         # Használjuk a systemd hookokat a jobb LUKS kezeléshez
 | |
|         if ! grep -q "sd-encrypt" <<< "$(grep "^HOOKS=" /etc/mkinitcpio.conf)"; then
 | |
|             echo "sd-encrypt hook hozzáadása"
 | |
|             sed -i 's/\(HOOKS=.*\)block/\1block sd-encrypt/' /etc/mkinitcpio.conf
 | |
|         fi
 | |
|         
 | |
|         # Biztosítsuk, hogy keyboard és keymap is legyen
 | |
|         if ! grep -q "keyboard" <<< "$(grep "^HOOKS=" /etc/mkinitcpio.conf)"; then
 | |
|             echo "keyboard hook hozzáadása"
 | |
|             sed -i 's/\(HOOKS=.*\)block/\1keyboard block/' /etc/mkinitcpio.conf
 | |
|         fi
 | |
|         
 | |
|         if ! grep -q "keymap" <<< "$(grep "^HOOKS=" /etc/mkinitcpio.conf)"; then
 | |
|             echo "keymap hook hozzáadása"
 | |
|             sed -i 's/\(HOOKS=.*keyboard\)/\1 keymap/' /etc/mkinitcpio.conf
 | |
|         fi
 | |
|         
 | |
|         # Hozzunk létre egy crypttab fájlt a titkosított eszköz kezeléséhez
 | |
|         echo "$CRYPTNAME UUID=$CRYPTDEVICE_UUID none luks,discard" > /etc/crypttab
 | |
|         echo "Crypttab létrehozva: $CRYPTNAME UUID=$CRYPTDEVICE_UUID"
 | |
|         
 | |
|         # Regeneráljuk az initramfs-t
 | |
|         echo "Initramfs újragenerálása..."
 | |
|         mkinitcpio -P
 | |
|     else
 | |
|         echo "Nem észleltünk LUKS titkosítást"
 | |
|     fi
 | |
|     
 | |
|     # Root UUID és fájlrendszer típus lekérése
 | |
|     ROOT_UUID=$(awk '$2=="/" {print $1}' /etc/fstab | grep -o 'UUID=.*' | cut -d'=' -f2)
 | |
|     FS_TYPE=$(awk '$2=="/" {print $3}' /etc/fstab)
 | |
|     
 | |
|     # CPU microcode detect és a változó beállítása
 | |
|     CPU=$(lscpu | grep "AMD" -c)
 | |
|     if [[ $CPU -gt 0 ]]; then
 | |
|         CPU_UCODE="initrd /amd-ucode.img"
 | |
| 	pacman -Rs intel-ucode --noconfirm
 | |
|     elif [[ $(lscpu | grep "Intel" -c) -gt 0 ]]; then
 | |
|         CPU_UCODE="initrd /intel-ucode.img"
 | |
| 	pacman -Rs amd-ucode --noconfirm
 | |
|     else
 | |
|         CPU_UCODE=""
 | |
|     fi
 | |
|     
 | |
|     # Systemd-boot konfiguráció
 | |
|     mkdir -p /boot/loader/entries
 | |
|     
 | |
|     # Időtúllépés és editor beállítása
 | |
|     cat > /boot/loader/loader.conf << EOF
 | |
| default raveos.conf
 | |
| timeout 5
 | |
| console-mode max
 | |
| editor yes
 | |
| EOF
 | |
|     
 | |
|     # Konfigurációs bejegyzések létrehozása
 | |
|     if [ "$ENCRYPTED" = true ]; then
 | |
|         if [ "$FS_TYPE" = "btrfs" ]; then
 | |
|             echo "BTRFS esetén csak a sima (nem titkosított) mód támogatott"
 | |
|             # Nem kezeljük a BTRFS + LUKS kombinációt, áttérünk a nem titkosított btrfs kezelésre
 | |
|             
 | |
|             cat > /boot/loader/entries/raveos.conf << EOF
 | |
| title RaveOS GNOME Gaming 1.1
 | |
| linux /vmlinuz-linux-zen
 | |
| $CPU_UCODE
 | |
| initrd /initramfs-linux-zen.img
 | |
| options root=UUID=$ROOT_UUID rootflags=subvol=@ rw rootfstype=btrfs quiet
 | |
| EOF
 | |
|         else
 | |
|             # Ez csak ext4 vagy más fájlrendszer + LUKS esetén fut le
 | |
|             echo "EXT4 + LUKS konfiguráció létrehozása"
 | |
|             cat > /boot/loader/entries/raveos.conf << EOF
 | |
| title RaveOS GNOME Gaming 1.1 - LUKS+EXT4
 | |
| linux /vmlinuz-linux-zen
 | |
| $CPU_UCODE
 | |
| initrd /initramfs-linux-zen.img
 | |
| options cryptdevice=UUID=$CRYPTDEVICE_UUID:$CRYPTNAME root=/dev/mapper/$CRYPTNAME rw rootfstype=ext4 quiet
 | |
| EOF
 | |
|         fi
 | |
|     else
 | |
|         # Nem titkosított rendszer esetén
 | |
|         if [ "$FS_TYPE" = "btrfs" ]; then
 | |
|             echo "BTRFS konfiguráció létrehozása (nem titkosított)"
 | |
|             cat > /boot/loader/entries/raveos.conf << EOF
 | |
| title RaveOS GNOME Gaming 1.1
 | |
| linux /vmlinuz-linux-zen
 | |
| $CPU_UCODE
 | |
| initrd /initramfs-linux-zen.img
 | |
| options root=UUID=$ROOT_UUID rootflags=subvol=@ rw rootfstype=btrfs quiet
 | |
| EOF
 | |
|         else
 | |
|             echo "Alapértelmezett konfiguráció létrehozása (nem titkosított)"
 | |
|             cat > /boot/loader/entries/raveos.conf << EOF
 | |
| title RaveOS GNOME Gaming 1.1
 | |
| linux /vmlinuz-linux-zen
 | |
| $CPU_UCODE
 | |
| initrd /initramfs-linux-zen.img
 | |
| options root=UUID=$ROOT_UUID rw quiet
 | |
| EOF
 | |
|         fi
 | |
|     fi
 | |
|     
 | |
|     # EFI partíció és a partíció száma
 | |
|     EFI_DISK=$(findmnt -n -o SOURCE /boot | sed 's/[0-9]*$//')
 | |
|     EFI_PART=$(findmnt -n -o SOURCE /boot | grep -o '[0-9]*$')
 | |
|     
 | |
|     # Bootentry létrehozása
 | |
|     echo "Bootentry létrehozása az EFI firmware-ben: $EFI_DISK, partíció: $EFI_PART"
 | |
|     efibootmgr --create --disk "$EFI_DISK" --part "$EFI_PART" \
 | |
|                --loader /EFI/systemd/systemd-bootx64.efi --label "RaveOS GNOME Gaming 1.1" \
 | |
|                --verbose
 | |
|     
 | |
|     echo "Systemd-boot telepítése sikeres"
 | |
| else
 | |
|     # BIOS rendszer
 | |
|     echo "BIOS rendszer észlelve, GRUB telepítése..."
 | |
|     
 | |
|     # LUKS titkosítás ellenőrzése
 | |
|     ROOT_DEVICE=$(findmnt -n -o SOURCE /)
 | |
|     LUKS_DEVICE=""
 | |
|     CRYPTDEVICE_UUID=""
 | |
|     CRYPTNAME="cryptroot"
 | |
|     
 | |
|     if [[ "$ROOT_DEVICE" == "/dev/mapper/"* ]]; then
 | |
|         #LUKS_DEVICE=$(blkid -t TYPE=crypto_LUKS -o device | head -n1)
 | |
|         #CRYPTDEVICE_UUID=$(blkid -o value -s UUID "$LUKS_DEVICE")
 | |
|         
 | |
|         LUKS_DEVICE="/dev/$(sudo dmsetup deps -o devname cryptroot | grep -o '(.*)'| tr -d '()')"
 | |
|         CRYPTDEVICE_UUID=$(echo "$ROOT_DEVICE" | sed 's|/dev/mapper/luks-||')
 | |
|         
 | |
|         echo "LUKS titkosítás észlelve: $LUKS_DEVICE (UUID: $CRYPTDEVICE_UUID)"
 | |
|         
 | |
|         # A fájlrendszer típusának ellenőrzése
 | |
|         FS_TYPE=$(lsblk -no FSTYPE /dev/mapper/$CRYPTNAME 2>/dev/null || echo "")
 | |
|         
 | |
|         if [ -z "$FS_TYPE" ]; then
 | |
|             # Ha még nincs megnyitva a titkosított eszköz, feltételezzük, hogy ext4
 | |
|             echo "Nem sikerült meghatározni a fájlrendszer típusát, ext4-et feltételezünk"
 | |
|             FS_TYPE="ext4"
 | |
|         fi
 | |
|         
 | |
|         echo "Fájlrendszer típusa: $FS_TYPE"
 | |
|         
 | |
|         # Modulok és hook-ok hozzáadása a mkinitcpio.conf-hoz
 | |
|         if ! grep -q "dm[-_]crypt" <<< "$(grep "^MODULES=" /etc/mkinitcpio.conf)"; then
 | |
|             echo "dm-crypt modul hozzáadása"
 | |
|             sed -i 's/MODULES=(/MODULES=(dm-crypt /' /etc/mkinitcpio.conf
 | |
|         fi
 | |
|         
 | |
|         if ! grep -q "crypto" <<< "$(grep "^MODULES=" /etc/mkinitcpio.conf)"; then
 | |
|             echo "crypto modul hozzáadása"
 | |
|             sed -i 's/MODULES=(/MODULES=(crypto /' /etc/mkinitcpio.conf
 | |
|         fi
 | |
|         
 | |
|         # Használjuk a hagyományos encrypt hookot GRUB esetén
 | |
|         if ! grep -q "encrypt" <<< "$(grep "^HOOKS=" /etc/mkinitcpio.conf)"; then
 | |
|             echo "encrypt hook hozzáadása"
 | |
|             sed -i 's/\(HOOKS=.*\)block/\1block encrypt/' /etc/mkinitcpio.conf
 | |
|         fi
 | |
|         
 | |
|         # Biztosítsuk, hogy keyboard és keymap is legyen
 | |
|         if ! grep -q "keyboard" <<< "$(grep "^HOOKS=" /etc/mkinitcpio.conf)"; then
 | |
|             echo "keyboard hook hozzáadása"
 | |
|             sed -i 's/\(HOOKS=.*\)block/\1keyboard block/' /etc/mkinitcpio.conf
 | |
|         fi
 | |
|         
 | |
|         if ! grep -q "keymap" <<< "$(grep "^HOOKS=" /etc/mkinitcpio.conf)"; then
 | |
|             echo "keymap hook hozzáadása"
 | |
|             sed -i 's/\(HOOKS=.*keyboard\)/\1 keymap/' /etc/mkinitcpio.conf
 | |
|         fi
 | |
|         
 | |
|         # Crypttab létrehozása
 | |
|         echo "$CRYPTNAME UUID=$CRYPTDEVICE_UUID none luks,discard" > /etc/crypttab
 | |
|         echo "Crypttab létrehozva: $CRYPTNAME UUID=$CRYPTDEVICE_UUID"
 | |
|         
 | |
|         # Regeneráljuk az initramfs-t
 | |
|         echo "Initramfs újragenerálása..."
 | |
|         mkinitcpio -P
 | |
|         
 | |
|         # GRUB konfiguráció módosítása
 | |
|         # Csak ext4 + LUKS kombinációt támogatunk
 | |
|         echo "GRUB konfiguráció frissítése alapértelmezett LUKS beállításokkal"
 | |
|         sed -i "s|^GRUB_CMDLINE_LINUX=\"\"|GRUB_CMDLINE_LINUX=\"cryptdevice=UUID=$CRYPTDEVICE_UUID:$CRYPTNAME root=/dev/mapper/$CRYPTNAME\"|" /etc/default/grub
 | |
|     else
 | |
|         # Fájlrendszer típus lekérése
 | |
|         ROOT_UUID=$(awk '$2=="/" {print $1}' /etc/fstab | grep -o 'UUID=.*' | cut -d'=' -f2)
 | |
|         FS_TYPE=$(awk '$2=="/" {print $3}' /etc/fstab)
 | |
|         
 | |
|         # btrfs esetén speciális kernel paraméterek hozzáadása
 | |
|         if [ "$FS_TYPE" = "btrfs" ]; then
 | |
|             echo "GRUB konfiguráció frissítése BTRFS beállításokkal"
 | |
|             sed -i "s|^GRUB_CMDLINE_LINUX=\"\"|GRUB_CMDLINE_LINUX=\"root=UUID=$ROOT_UUID rootflags=subvol=@ rootfstype=btrfs\"|" /etc/default/grub
 | |
|         fi
 | |
|     fi
 | |
|     
 | |
|     # GRUB telepítése és konfiguráció generálása
 | |
|     echo "GRUB telepítése..."
 | |
|     pacman -S grub --noconfirm
 | |
|     grub-install --target=i386-pc --recheck /dev/sda
 | |
|     sed -i 's/GRUB_DISTRIBUTOR=.*$/GRUB_DISTRIBUTOR="RaveOS GNOME Gaming 1.1 Linux"/' /etc/default/grub
 | |
|     
 | |
|     # GRUB konfiguráció generálása
 | |
|     echo "GRUB konfiguráció generálása..."
 | |
|     grub-mkconfig -o /boot/grub/grub.cfg
 | |
|     
 | |
|     echo "GRUB telepítése sikeres"
 | |
| fi
 | |
| 
 | |
| # /boot ellenőrzés és javítás függvény
 | |
| check_boot_directory() {
 | |
|     echo "A /boot mappa tartalmának ellenőrzése..."
 | |
|     
 | |
|     # Ellenőrizzük, hogy a /boot mappa tartalmazza-e a szükséges fájlokat
 | |
|     if [ -z "$(ls -A /boot)" ] || ! ls /boot/vmlinuz-linux-zen &> /dev/null || ! ls /boot/initramfs-linux-zen.img &> /dev/null; then
 | |
|         echo "HIBA: A /boot mappa üres vagy hiányoznak a kernel fájlok!"
 | |
|         
 | |
|         # Ellenőrizzük, hogy a fájlok léteznek-e a rendszeren
 | |
|         if [ -f /usr/lib/modules/*/vmlinuz ]; then
 | |
|             echo "Kernel fájl megtalálva, másolás a /boot mappába..."
 | |
|             cp /usr/lib/modules/*/vmlinuz /boot/vmlinuz-linux-zen
 | |
|         else
 | |
|             echo "KRITIKUS HIBA: Kernel fájl nem található a rendszeren!"
 | |
|             echo "Próbáljuk telepíteni a linux-zen csomagot..."
 | |
|             pacman -S linux-zen --noconfirm
 | |
|         fi
 | |
|         
 | |
|         # Regeneráljuk a initramfs-t, ha szükséges
 | |
|         echo "Initramfs újragenerálása..."
 | |
|         mkinitcpio -p linux-zen
 | |
|         
 | |
|         # Ellenőrizzük, hogy a CPU microcode telepítve van-e
 | |
|         if [ -f /boot/amd-ucode.img ] || [ -f /boot/intel-ucode.img ]; then
 | |
|             echo "CPU microcode már telepítve."
 | |
|         else
 | |
|             # Ha nincs, akkor telepítsük újra a megfelelőt
 | |
|             if [[ $(lscpu | grep "AMD" -c) -gt 0 ]]; then
 | |
|                 echo "AMD CPU észlelve, microcode telepítése..."
 | |
|                 pacman -S amd-ucode --noconfirm
 | |
|             elif [[ $(lscpu | grep "Intel" -c) -gt 0 ]]; then
 | |
|                 echo "Intel CPU észlelve, microcode telepítése..."
 | |
|                 pacman -S intel-ucode --noconfirm
 | |
|             fi
 | |
|         fi
 | |
|         
 | |
|         # UEFI esetén próbáljuk újratelepíteni a bootloader-t
 | |
|         if [ -d "/sys/firmware/efi" ]; then
 | |
|             echo "UEFI rendszer, systemd-boot újratelepítése..."
 | |
|             bootctl install
 | |
|             
 | |
|             # Ellenőrizzük, hogy a kernelt és initramfs-t kimásoltuk-e
 | |
|             if [ ! -f /boot/vmlinuz-linux-zen ]; then
 | |
|                 echo "Kernel másolása a /boot mappába..."
 | |
|                 find /usr/lib/modules/ -name "vmlinuz*" -exec cp {} /boot/vmlinuz-linux-zen \;
 | |
|             fi
 | |
|             
 | |
|             if [ ! -f /boot/initramfs-linux-zen.img ]; then
 | |
|                 echo "Initramfs újragenerálása..."
 | |
|                 mkinitcpio -p linux-zen
 | |
|             fi
 | |
|             
 | |
|             # EFI partíció ellenőrzése
 | |
|             EFI_PART=$(findmnt -n -o SOURCE /boot)
 | |
|             if [ -z "$EFI_PART" ]; then
 | |
|                 echo "KRITIKUS HIBA: EFI partíció nem található!"
 | |
|                 echo "Próbáljuk megkeresni a megfelelő EFI partíciót..."
 | |
|                 
 | |
|                 # Keressük az EFI partíciót, ha nincs csatolva
 | |
|                 EFI_PART=$(lsblk -o NAME,FSTYPE | grep vfat | head -n1 | awk '{print $1}')
 | |
|                 
 | |
|                 if [ -n "$EFI_PART" ]; then
 | |
|                     echo "EFI partíció található: $EFI_PART, csatolás a /boot könyvtárhoz..."
 | |
|                     mount /dev/$EFI_PART /boot
 | |
|                     
 | |
|                     # Újra próbáljuk a bootloader telepítését
 | |
|                     bootctl install
 | |
|                     
 | |
|                     # A fstab bejegyzést is frissítsük, hogy újraindításkor is megmaradjon
 | |
|                     if ! grep -q "/boot" /etc/fstab; then
 | |
|                         UUID=$(blkid -s UUID -o value /dev/$EFI_PART)
 | |
|                         echo "UUID=$UUID /boot vfat defaults 0 2" >> /etc/fstab
 | |
|                     fi
 | |
|                 fi
 | |
|             fi
 | |
|         fi
 | |
|         
 | |
|         # Ellenőrizzük újra, hogy minden szükséges fájl megvan-e
 | |
|         if [ -z "$(ls -A /boot)" ] || ! ls /boot/vmlinuz-linux-zen &> /dev/null || ! ls /boot/initramfs-linux-zen.img &> /dev/null; then
 | |
|             echo "KRITIKUS HIBA: Nem sikerült helyreállítani a /boot mappát!"
 | |
|             return 1
 | |
|         else
 | |
|             echo "A /boot mappa sikeresen helyreállítva."
 | |
|         fi
 | |
|     else
 | |
|         echo "A /boot mappa rendben van."
 | |
|     fi
 | |
|     
 | |
|     return 0
 | |
| }
 | |
| 
 | |
| echo "CPU microcode külön ellenőrzése és telepítése..."
 | |
| if [[ $(lscpu | grep "AMD" -c) -gt 0 ]]; then
 | |
|     echo "AMD CPU észlelve, microcode telepítése és ellenőrzése..."
 | |
|     pacman -S amd-ucode --noconfirm
 | |
|     # Ellenőrizzük, hogy az ucode fájl létezik-e a /boot mappában
 | |
|     if [ ! -f /boot/amd-ucode.img ]; then
 | |
|         echo "amd-ucode.img másolása a /boot mappába..."
 | |
|         cp /usr/lib/firmware/amd-ucode.img /boot/ 2>/dev/null || echo "FIGYELEM: Nem sikerült az amd-ucode.img másolása"
 | |
|         # Ha nem sikerült másolni, próbáljuk újratelepíteni
 | |
|         if [ ! -f /boot/amd-ucode.img ]; then
 | |
|             echo "amd-ucode újratelepítése és másolása a /boot mappába..."
 | |
|             pacman -S amd-ucode --noconfirm
 | |
|             cp /usr/lib/firmware/amd-ucode.img /boot/ 2>/dev/null || echo "HIBA: Nem sikerült az amd-ucode.img másolása"
 | |
|         fi
 | |
|     fi
 | |
| elif [[ $(lscpu | grep "Intel" -c) -gt 0 ]]; then
 | |
|     echo "Intel CPU észlelve, microcode telepítése és ellenőrzése..."
 | |
|     pacman -S intel-ucode --noconfirm
 | |
|     # Ellenőrizzük, hogy az ucode fájl létezik-e a /boot mappában
 | |
|     if [ ! -f /boot/intel-ucode.img ]; then
 | |
|         echo "intel-ucode.img másolása a /boot mappába..."
 | |
|         cp /usr/lib/firmware/intel-ucode.img /boot/ 2>/dev/null || echo "FIGYELEM: Nem sikerült az intel-ucode.img másolása"
 | |
|         # Ha nem sikerült másolni, próbáljuk újratelepíteni
 | |
|         if [ ! -f /boot/intel-ucode.img ]; then
 | |
|             echo "intel-ucode újratelepítése és másolása a /boot mappába..."
 | |
|             pacman -S intel-ucode --noconfirm
 | |
|             cp /usr/lib/firmware/intel-ucode.img /boot/ 2>/dev/null || echo "HIBA: Nem sikerült az intel-ucode.img másolása"
 | |
|         fi
 | |
|     fi
 | |
| fi
 | |
| 
 | |
| # Hívjuk meg az ellenőrző függvényt a bootloader telepítése után
 | |
| check_boot_directory || echo "FIGYELMEZTETÉS: A /boot helyreállítása sikertelen. A rendszer talán nem tud majd elindulni."
 | |
| 
 | |
| # Calamares eltávolítása
 | |
| echo "Calamares eltávolítása..."
 | |
| pacman -Rs calamares --noconfirm
 | |
| 
 | |
| echo "Telepítés befejezve!"
 |