A base-install script módosítása hogy mennyen a btrfs
This commit is contained in:
parent
b39effb376
commit
7fc2c71476
1 changed files with 24 additions and 106 deletions
|
@ -103,6 +103,10 @@ if [ -d "/sys/firmware/efi" ]; then
|
||||||
echo "Nem észleltünk LUKS titkosítást"
|
echo "Nem észleltünk LUKS titkosítást"
|
||||||
fi
|
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 microcode detect és a változó beállítása
|
||||||
CPU=$(lscpu | grep "AMD" -c)
|
CPU=$(lscpu | grep "AMD" -c)
|
||||||
if [[ $CPU -gt 0 ]]; then
|
if [[ $CPU -gt 0 ]]; then
|
||||||
|
@ -115,36 +119,12 @@ if [ -d "/sys/firmware/efi" ]; then
|
||||||
CPU_UCODE=""
|
CPU_UCODE=""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Root UUID lekérdezése
|
|
||||||
ROOT_UUID=$(awk '$2=="/" {print $1}' /etc/fstab | grep -o 'UUID=.*' | cut -d'=' -f2)
|
|
||||||
|
|
||||||
# Ellenőrizzük a btrfs subvolume-ot
|
|
||||||
if [ "$FS_TYPE" = "btrfs" ]; then
|
|
||||||
# Próbáljuk meg a findmnt segítségével meghatározni a subvolume-ot
|
|
||||||
SUBVOL=$(findmnt -n -o OPTIONS / 2>/dev/null | grep -o 'subvol=[^ ,]*' | cut -d'=' -f2 || echo "")
|
|
||||||
|
|
||||||
# Ha nem sikerült, próbáljuk az fstabot
|
|
||||||
if [ -z "$SUBVOL" ]; then
|
|
||||||
SUBVOL=$(grep -E '^[^#].+\s/\s' /etc/fstab | grep -o 'subvol=[^ ,]*' | cut -d'=' -f2 || echo "")
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Ha még mindig nincs, használjuk az alapértelmezett értéket
|
|
||||||
if [ -z "$SUBVOL" ]; then
|
|
||||||
echo "Nem sikerült meghatározni a subvolume-ot, '@' vagy 'root' használata"
|
|
||||||
# Próbáljuk megtalálni, melyik subvolume létezik
|
|
||||||
if [ -d "/@" ] || grep -q "subvol=@" /etc/fstab; then
|
|
||||||
SUBVOL="@"
|
|
||||||
else
|
|
||||||
SUBVOL="root"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Systemd-boot konfiguráció
|
# Systemd-boot konfiguráció
|
||||||
mkdir -p /boot/loader/entries
|
mkdir -p /boot/loader/entries
|
||||||
|
|
||||||
# Időtúllépés és editor beállítása
|
# Időtúllépés és editor beállítása
|
||||||
cat > /boot/loader/loader.conf << EOF
|
cat > /boot/loader/loader.conf << EOF
|
||||||
|
default raveos.conf
|
||||||
timeout 5
|
timeout 5
|
||||||
console-mode max
|
console-mode max
|
||||||
editor yes
|
editor yes
|
||||||
|
@ -156,24 +136,15 @@ EOF
|
||||||
echo "BTRFS esetén csak a sima (nem titkosított) mód támogatott"
|
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
|
# Nem kezeljük a BTRFS + LUKS kombinációt, áttérünk a nem titkosított btrfs kezelésre
|
||||||
|
|
||||||
# Ellenőrizzük a btrfs subvolume-ot
|
|
||||||
SUBVOL=$(findmnt -n -o OPTIONS / 2>/dev/null | grep -o 'subvol=[^ ,]*' | cut -d'=' -f2 || echo "")
|
|
||||||
if [ -z "$SUBVOL" ]; then
|
|
||||||
SUBVOL=$(grep -E '^[^#].+\s/\s' /etc/fstab | grep -o 'subvol=[^ ,]*' | cut -d'=' -f2 || echo "")
|
|
||||||
fi
|
|
||||||
if [ -z "$SUBVOL" ]; then
|
|
||||||
SUBVOL="@"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Normál btrfs konfiguráció létrehozása
|
|
||||||
cat > /boot/loader/entries/raveos.conf << EOF
|
cat > /boot/loader/entries/raveos.conf << EOF
|
||||||
title RaveOS GNOME Gaming 1.0
|
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
|
||||||
options root=UUID=$ROOT_UUID rootflags=subvol=$SUBVOL rw rootfstype=btrfs quiet
|
options root=UUID=$ROOT_UUID rootflags=subvol=@ rw rootfstype=btrfs quiet
|
||||||
EOF
|
EOF
|
||||||
elif [ "$FS_TYPE" = "ext4" ]; then
|
else
|
||||||
|
# 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 GNOME Gaming 1.0 - LUKS+EXT4
|
title RaveOS GNOME Gaming 1.0 - LUKS+EXT4
|
||||||
|
@ -181,44 +152,18 @@ linux /vmlinuz-linux-zen
|
||||||
$CPU_UCODE
|
$CPU_UCODE
|
||||||
initrd /initramfs-linux-zen.img
|
initrd /initramfs-linux-zen.img
|
||||||
options cryptdevice=UUID=$CRYPTDEVICE_UUID:$CRYPTNAME root=/dev/mapper/$CRYPTNAME rw rootfstype=ext4 quiet
|
options cryptdevice=UUID=$CRYPTDEVICE_UUID:$CRYPTNAME root=/dev/mapper/$CRYPTNAME rw rootfstype=ext4 quiet
|
||||||
EOF
|
|
||||||
else
|
|
||||||
# Egyéb fájlrendszer + LUKS
|
|
||||||
cat > /boot/loader/entries/raveos.conf << EOF
|
|
||||||
title RaveOS GNOME Gaming 1.0 - LUKS
|
|
||||||
linux /vmlinuz-linux-zen
|
|
||||||
$CPU_UCODE
|
|
||||||
initrd /initramfs-linux-zen.img
|
|
||||||
options cryptdevice=UUID=$CRYPTDEVICE_UUID:$CRYPTNAME root=/dev/mapper/$CRYPTNAME rw quiet
|
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Az alapértelmezett bejegyzés beállítása
|
|
||||||
cat > /boot/loader/loader.conf << EOF
|
|
||||||
default raveos.conf
|
|
||||||
timeout 5
|
|
||||||
console-mode max
|
|
||||||
editor yes
|
|
||||||
EOF
|
|
||||||
else
|
else
|
||||||
# Nem titkosított rendszer esetén
|
# Nem titkosított rendszer esetén
|
||||||
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)"
|
||||||
# Ellenőrizzük a btrfs subvolume-ot
|
|
||||||
SUBVOL=$(findmnt -n -o OPTIONS / 2>/dev/null | grep -o 'subvol=[^ ,]*' | cut -d'=' -f2 || echo "")
|
|
||||||
if [ -z "$SUBVOL" ]; then
|
|
||||||
SUBVOL=$(grep -E '^[^#].+\s/\s' /etc/fstab | grep -o 'subvol=[^ ,]*' | cut -d'=' -f2 || echo "")
|
|
||||||
fi
|
|
||||||
if [ -z "$SUBVOL" ]; then
|
|
||||||
SUBVOL="@"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat > /boot/loader/entries/raveos.conf << EOF
|
cat > /boot/loader/entries/raveos.conf << EOF
|
||||||
title RaveOS GNOME Gaming 1.0
|
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
|
||||||
options root=UUID=$ROOT_UUID rootflags=subvol=$SUBVOL rw rootfstype=btrfs quiet
|
options root=UUID=$ROOT_UUID rootflags=subvol=@ rw rootfstype=btrfs quiet
|
||||||
EOF
|
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)"
|
||||||
|
@ -230,14 +175,6 @@ initrd /initramfs-linux-zen.img
|
||||||
options root=UUID=$ROOT_UUID rw quiet
|
options root=UUID=$ROOT_UUID rw quiet
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Az alapértelmezett bejegyzés beállítása
|
|
||||||
cat > /boot/loader/loader.conf << EOF
|
|
||||||
default raveos.conf
|
|
||||||
timeout 5
|
|
||||||
console-mode max
|
|
||||||
editor yes
|
|
||||||
EOF
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# EFI partíció és a partíció száma
|
# EFI partíció és a partíció száma
|
||||||
|
@ -269,19 +206,14 @@ else
|
||||||
FS_TYPE=$(lsblk -no FSTYPE /dev/mapper/$CRYPTNAME 2>/dev/null || echo "")
|
FS_TYPE=$(lsblk -no FSTYPE /dev/mapper/$CRYPTNAME 2>/dev/null || echo "")
|
||||||
|
|
||||||
if [ -z "$FS_TYPE" ]; then
|
if [ -z "$FS_TYPE" ]; then
|
||||||
# Ha még nincs megnyitva a titkosított eszköz, feltételezzük, hogy btrfs
|
# 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, btrfs-t feltételezünk"
|
echo "Nem sikerült meghatározni a fájlrendszer típusát, ext4-et feltételezünk"
|
||||||
FS_TYPE="btrfs"
|
FS_TYPE="ext4"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Fájlrendszer típusa: $FS_TYPE"
|
echo "Fájlrendszer típusa: $FS_TYPE"
|
||||||
|
|
||||||
# Modulok és hook-ok hozzáadása a mkinitcpio.conf-hoz
|
# Modulok és hook-ok hozzáadása a mkinitcpio.conf-hoz
|
||||||
if [ "$FS_TYPE" = "btrfs" ] && ! grep -q "btrfs" <<< "$(grep "^MODULES=" /etc/mkinitcpio.conf)"; then
|
|
||||||
echo "BTRFS modul hozzáadása"
|
|
||||||
sed -i 's/MODULES=(/MODULES=(btrfs /' /etc/mkinitcpio.conf
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! grep -q "dm[-_]crypt" <<< "$(grep "^MODULES=" /etc/mkinitcpio.conf)"; then
|
if ! grep -q "dm[-_]crypt" <<< "$(grep "^MODULES=" /etc/mkinitcpio.conf)"; then
|
||||||
echo "dm-crypt modul hozzáadása"
|
echo "dm-crypt modul hozzáadása"
|
||||||
sed -i 's/MODULES=(/MODULES=(dm-crypt /' /etc/mkinitcpio.conf
|
sed -i 's/MODULES=(/MODULES=(dm-crypt /' /etc/mkinitcpio.conf
|
||||||
|
@ -318,32 +250,18 @@ else
|
||||||
mkinitcpio -P
|
mkinitcpio -P
|
||||||
|
|
||||||
# GRUB konfiguráció módosítása
|
# 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
|
if [ "$FS_TYPE" = "btrfs" ]; then
|
||||||
# Ellenőrizzük a btrfs subvolume-ot
|
echo "GRUB konfiguráció frissítése BTRFS beállításokkal"
|
||||||
SUBVOL=$(findmnt -n -o OPTIONS / 2>/dev/null | grep -o 'subvol=[^ ,]*' | cut -d'=' -f2 || echo "")
|
sed -i "s|^GRUB_CMDLINE_LINUX=\"\"|GRUB_CMDLINE_LINUX=\"root=UUID=$ROOT_UUID rootflags=subvol=@ rootfstype=btrfs\"|" /etc/default/grub
|
||||||
|
|
||||||
# Ha nem sikerült, próbáljuk az fstabot
|
|
||||||
if [ -z "$SUBVOL" ]; then
|
|
||||||
SUBVOL=$(grep -E '^[^#].+\s/\s' /etc/fstab | grep -o 'subvol=[^ ,]*' | cut -d'=' -f2 || echo "")
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Ha még mindig nincs, használjuk az alapértelmezett értéket
|
|
||||||
if [ -z "$SUBVOL" ]; then
|
|
||||||
echo "Nem sikerült meghatározni a subvolume-ot, '@' vagy 'root' használata"
|
|
||||||
if [ -d "/@ " ] || grep -q "subvol=@" /etc/fstab; then
|
|
||||||
SUBVOL="@"
|
|
||||||
else
|
|
||||||
SUBVOL="root"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# BTRFS esetén rd.luks formátumot használunk
|
|
||||||
echo "GRUB konfiguráció frissítése BTRFS+LUKS beállításokkal"
|
|
||||||
sed -i "s|^GRUB_CMDLINE_LINUX=\"\"|GRUB_CMDLINE_LINUX=\"rd.luks.name=$CRYPTDEVICE_UUID=$CRYPTNAME root=/dev/mapper/$CRYPTNAME rootflags=subvol=$SUBVOL rd.luks.options=discard rootfstype=btrfs\"|" /etc/default/grub
|
|
||||||
else
|
|
||||||
# EXT4 vagy más fájlrendszer esetén a hagyományos cryptdevice formátumot használjuk
|
|
||||||
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
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -364,4 +282,4 @@ fi
|
||||||
echo "Calamares eltávolítása..."
|
echo "Calamares eltávolítása..."
|
||||||
pacman -Rs calamares --noconfirm
|
pacman -Rs calamares --noconfirm
|
||||||
|
|
||||||
echo "Telepítés befejezve!"
|
echo "Telepítés befejezve!"
|
Loading…
Reference in a new issue