base-install script javítva
This commit is contained in:
parent
50504e9e60
commit
139f09f83c
1 changed files with 149 additions and 14 deletions
|
@ -29,15 +29,20 @@ if [ -d "/sys/firmware/efi" ]; then
|
||||||
echo "UEFI rendszer észlelve, systemd-boot telepítése..."
|
echo "UEFI rendszer észlelve, systemd-boot telepítése..."
|
||||||
|
|
||||||
# LUKS titkosítás ellenőrzése
|
# LUKS titkosítás ellenőrzése
|
||||||
|
ROOT_DEVICE=$(findmnt -n -o SOURCE /)
|
||||||
ENCRYPTED=false
|
ENCRYPTED=false
|
||||||
CRYPTDEVICE_UUID=""
|
CRYPTDEVICE_UUID=""
|
||||||
CRYPTNAME="cryptroot"
|
CRYPTNAME="cryptroot"
|
||||||
|
|
||||||
# Ellenőrizzük, van-e titkosított partíció
|
# Ellenőrizzük, van-e titkosított partíció
|
||||||
if blkid -t TYPE=crypto_LUKS -o device | grep -q .; then
|
if [[ "$ROOT_DEVICE" == "/dev/mapper/"* ]]; then
|
||||||
ENCRYPTED=true
|
ENCRYPTED=true
|
||||||
LUKS_DEVICE=$(blkid -t TYPE=crypto_LUKS -o device | head -n1)
|
#LUKS_DEVICE=$(blkid -t TYPE=crypto_LUKS -o device | head -n1)
|
||||||
CRYPTDEVICE_UUID=$(blkid -o value -s UUID "$LUKS_DEVICE")
|
#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)"
|
echo "LUKS titkosítás észlelve: $LUKS_DEVICE (UUID: $CRYPTDEVICE_UUID)"
|
||||||
|
|
||||||
# A fájlrendszer típusának ellenőrzése
|
# A fájlrendszer típusának ellenőrzése
|
||||||
|
@ -111,10 +116,10 @@ if [ -d "/sys/firmware/efi" ]; then
|
||||||
CPU=$(lscpu | grep "AMD" -c)
|
CPU=$(lscpu | grep "AMD" -c)
|
||||||
if [[ $CPU -gt 0 ]]; then
|
if [[ $CPU -gt 0 ]]; then
|
||||||
CPU_UCODE="initrd /amd-ucode.img"
|
CPU_UCODE="initrd /amd-ucode.img"
|
||||||
pacman -S amd-ucode --noconfirm
|
pacman -Rs intel-ucode --noconfirm
|
||||||
elif [[ $(lscpu | grep "Intel" -c) -gt 0 ]]; then
|
elif [[ $(lscpu | grep "Intel" -c) -gt 0 ]]; then
|
||||||
CPU_UCODE="initrd /intel-ucode.img"
|
CPU_UCODE="initrd /intel-ucode.img"
|
||||||
pacman -S intel-ucode --noconfirm
|
pacman -Rs amd-ucode --noconfirm
|
||||||
else
|
else
|
||||||
CPU_UCODE=""
|
CPU_UCODE=""
|
||||||
fi
|
fi
|
||||||
|
@ -137,7 +142,7 @@ EOF
|
||||||
# Nem kezeljük a BTRFS + LUKS kombinációt, áttérünk a nem titkosított btrfs kezelésre
|
# 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
|
cat > /boot/loader/entries/raveos.conf << EOF
|
||||||
title RaveOS KDE Gaming Beta
|
title RaveOS GNOME Gaming 1.0
|
||||||
linux /vmlinuz-linux-zen
|
linux /vmlinuz-linux-zen
|
||||||
$CPU_UCODE
|
$CPU_UCODE
|
||||||
initrd /initramfs-linux-zen.img
|
initrd /initramfs-linux-zen.img
|
||||||
|
@ -147,7 +152,7 @@ EOF
|
||||||
# Ez csak ext4 vagy más fájlrendszer + LUKS esetén fut le
|
# Ez csak ext4 vagy más fájlrendszer + LUKS esetén fut le
|
||||||
echo "EXT4 + LUKS konfiguráció létrehozása"
|
echo "EXT4 + LUKS konfiguráció létrehozása"
|
||||||
cat > /boot/loader/entries/raveos.conf << EOF
|
cat > /boot/loader/entries/raveos.conf << EOF
|
||||||
title RaveOS KDE Gaming Beta - LUKS+EXT4
|
title RaveOS GNOME Gaming 1.0 - LUKS+EXT4
|
||||||
linux /vmlinuz-linux-zen
|
linux /vmlinuz-linux-zen
|
||||||
$CPU_UCODE
|
$CPU_UCODE
|
||||||
initrd /initramfs-linux-zen.img
|
initrd /initramfs-linux-zen.img
|
||||||
|
@ -159,7 +164,7 @@ EOF
|
||||||
if [ "$FS_TYPE" = "btrfs" ]; then
|
if [ "$FS_TYPE" = "btrfs" ]; then
|
||||||
echo "BTRFS konfiguráció létrehozása (nem titkosított)"
|
echo "BTRFS konfiguráció létrehozása (nem titkosított)"
|
||||||
cat > /boot/loader/entries/raveos.conf << EOF
|
cat > /boot/loader/entries/raveos.conf << EOF
|
||||||
title RaveOS KDE Gaming Beta
|
title RaveOS GNOME Gaming 1.0
|
||||||
linux /vmlinuz-linux-zen
|
linux /vmlinuz-linux-zen
|
||||||
$CPU_UCODE
|
$CPU_UCODE
|
||||||
initrd /initramfs-linux-zen.img
|
initrd /initramfs-linux-zen.img
|
||||||
|
@ -168,7 +173,7 @@ EOF
|
||||||
else
|
else
|
||||||
echo "Alapértelmezett konfiguráció létrehozása (nem titkosított)"
|
echo "Alapértelmezett konfiguráció létrehozása (nem titkosított)"
|
||||||
cat > /boot/loader/entries/raveos.conf << EOF
|
cat > /boot/loader/entries/raveos.conf << EOF
|
||||||
title RaveOS KDE Gaming Beta
|
title RaveOS GNOME Gaming 1.0
|
||||||
linux /vmlinuz-linux-zen
|
linux /vmlinuz-linux-zen
|
||||||
$CPU_UCODE
|
$CPU_UCODE
|
||||||
initrd /initramfs-linux-zen.img
|
initrd /initramfs-linux-zen.img
|
||||||
|
@ -184,7 +189,7 @@ EOF
|
||||||
# Bootentry létrehozása
|
# Bootentry létrehozása
|
||||||
echo "Bootentry létrehozása az EFI firmware-ben: $EFI_DISK, partíció: $EFI_PART"
|
echo "Bootentry létrehozása az EFI firmware-ben: $EFI_DISK, partíció: $EFI_PART"
|
||||||
efibootmgr --create --disk "$EFI_DISK" --part "$EFI_PART" \
|
efibootmgr --create --disk "$EFI_DISK" --part "$EFI_PART" \
|
||||||
--loader /EFI/systemd/systemd-bootx64.efi --label "RaveOS KDE Gaming" \
|
--loader /EFI/systemd/systemd-bootx64.efi --label "RaveOS GNOME Gaming" \
|
||||||
--verbose
|
--verbose
|
||||||
|
|
||||||
echo "Systemd-boot telepítése sikeres"
|
echo "Systemd-boot telepítése sikeres"
|
||||||
|
@ -193,13 +198,18 @@ else
|
||||||
echo "BIOS rendszer észlelve, GRUB telepítése..."
|
echo "BIOS rendszer észlelve, GRUB telepítése..."
|
||||||
|
|
||||||
# LUKS titkosítás ellenőrzése
|
# LUKS titkosítás ellenőrzése
|
||||||
|
ROOT_DEVICE=$(findmnt -n -o SOURCE /)
|
||||||
LUKS_DEVICE=""
|
LUKS_DEVICE=""
|
||||||
CRYPTDEVICE_UUID=""
|
CRYPTDEVICE_UUID=""
|
||||||
CRYPTNAME="cryptroot"
|
CRYPTNAME="cryptroot"
|
||||||
|
|
||||||
if blkid -t TYPE=crypto_LUKS -o device | grep -q .; then
|
if [[ "$ROOT_DEVICE" == "/dev/mapper/"* ]]; then
|
||||||
LUKS_DEVICE=$(blkid -t TYPE=crypto_LUKS -o device | head -n1)
|
#LUKS_DEVICE=$(blkid -t TYPE=crypto_LUKS -o device | head -n1)
|
||||||
CRYPTDEVICE_UUID=$(blkid -o value -s UUID "$LUKS_DEVICE")
|
#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)"
|
echo "LUKS titkosítás észlelve: $LUKS_DEVICE (UUID: $CRYPTDEVICE_UUID)"
|
||||||
|
|
||||||
# A fájlrendszer típusának ellenőrzése
|
# A fájlrendszer típusának ellenőrzése
|
||||||
|
@ -269,7 +279,7 @@ else
|
||||||
echo "GRUB telepítése..."
|
echo "GRUB telepítése..."
|
||||||
pacman -S grub --noconfirm
|
pacman -S grub --noconfirm
|
||||||
grub-install --target=i386-pc --recheck /dev/sda
|
grub-install --target=i386-pc --recheck /dev/sda
|
||||||
sed -i 's/GRUB_DISTRIBUTOR=.*$/GRUB_DISTRIBUTOR="RaveOS KDE Gaming Linux"/' /etc/default/grub
|
sed -i 's/GRUB_DISTRIBUTOR=.*$/GRUB_DISTRIBUTOR="RaveOS GNOME Gaming Linux"/' /etc/default/grub
|
||||||
|
|
||||||
# GRUB konfiguráció generálása
|
# GRUB konfiguráció generálása
|
||||||
echo "GRUB konfiguráció generálása..."
|
echo "GRUB konfiguráció generálása..."
|
||||||
|
@ -278,6 +288,131 @@ else
|
||||||
echo "GRUB telepítése sikeres"
|
echo "GRUB telepítése sikeres"
|
||||||
fi
|
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
|
# Calamares eltávolítása
|
||||||
echo "Calamares eltávolítása..."
|
echo "Calamares eltávolítása..."
|
||||||
pacman -Rs calamares --noconfirm
|
pacman -Rs calamares --noconfirm
|
||||||
|
|
Loading…
Reference in a new issue