2024-01-22 18:14:41 +01:00
|
|
|
#! /bin/bash
|
|
|
|
|
2024-01-22 20:09:13 +01:00
|
|
|
set -e
|
|
|
|
|
2024-01-22 18:14:41 +01:00
|
|
|
DISK="$(cat "/tmp/pika-installer-gtk4-target-auto.txt")"
|
|
|
|
LOCALE="$(cat "/tmp/pika-installer-gtk4-lang.txt")"
|
2024-01-24 19:14:59 +01:00
|
|
|
KEYBOARD="$(cat "/tmp/pika-installer-gtk4-keyboard.txt")"
|
2024-01-22 19:01:27 +01:00
|
|
|
TIMEZONE="$(cat "/tmp/pika-installer-gtk4-timezone.txt")"
|
2024-01-22 18:14:41 +01:00
|
|
|
|
2024-01-30 15:01:47 +01:00
|
|
|
p3_size=$(echo "scale=2 ; $(cat /tmp/pika-installer-p3-size.txt) / 1024 / 1024" | bc | cut -f1 -d".")
|
|
|
|
|
2024-01-23 15:19:10 +01:00
|
|
|
touch "/tmp/pika-installer-gtk4-status-parting.txt"
|
2024-01-22 18:14:41 +01:00
|
|
|
|
2024-01-22 18:57:18 +01:00
|
|
|
if [[ ! -f "/tmp/pika-installer-gtk4-target-automatic-luks.txt" ]]
|
2024-01-22 18:14:41 +01:00
|
|
|
then
|
2024-02-17 21:54:33 +01:00
|
|
|
for part in $(sudo /usr/lib/pika/pika-installer-gtk4/scripts/partition-utility.sh get_partitions | grep ${DISK}); do
|
|
|
|
PARTITION="/dev/$part"
|
|
|
|
sudo swapoff $PARTITION || true
|
|
|
|
done
|
|
|
|
wipefs -af /dev/${DISK}
|
2024-01-22 18:57:18 +01:00
|
|
|
# Partition the drives
|
2024-01-22 18:14:41 +01:00
|
|
|
parted -s -a optimal /dev/${DISK} mklabel gpt \
|
2024-01-22 18:57:18 +01:00
|
|
|
mkpart "linux-efi" 1MiB 513Mib \
|
|
|
|
mkpart "linux-boot" 513Mib 1537Mib \
|
2024-01-30 15:40:27 +01:00
|
|
|
mkpart "linux-root" 1537Mib "$p3_size"Mib \
|
|
|
|
mkpart "linux-home" "$p3_size"Mib 100% \
|
2024-01-22 18:14:41 +01:00
|
|
|
print
|
2024-01-22 18:57:18 +01:00
|
|
|
# add p to partition if it's nvme
|
2024-01-22 18:14:41 +01:00
|
|
|
if echo ${DISK} | grep -i "nvme"
|
|
|
|
then
|
2024-01-23 15:19:10 +01:00
|
|
|
#
|
2024-01-23 16:32:24 +01:00
|
|
|
sleep 10
|
2024-01-22 18:57:18 +01:00
|
|
|
# Add filesystems
|
2024-01-22 20:09:13 +01:00
|
|
|
yes | mkfs -t vfat -F 32 /dev/${DISK}p1
|
|
|
|
yes | mkfs -t ext4 /dev/${DISK}p2
|
|
|
|
yes | mkfs.btrfs -f /dev/${DISK}p3
|
|
|
|
yes | mkfs.btrfs -f /dev/${DISK}p4
|
2024-01-23 15:19:10 +01:00
|
|
|
sleep 2
|
2024-01-22 18:57:18 +01:00
|
|
|
# Begin Mounting
|
2024-01-22 18:14:41 +01:00
|
|
|
mkdir -p /media/pika-install-mount
|
|
|
|
mount /dev/${DISK}p3 /media/pika-install-mount/
|
|
|
|
mkdir -p /media/pika-install-mount/home
|
|
|
|
mount /dev/${DISK}p4 /media/pika-install-mount/home
|
|
|
|
mkdir -p /media/pika-install-mount/boot
|
|
|
|
mount /dev/${DISK}p2 /media/pika-install-mount/boot
|
|
|
|
mkdir -p /media/pika-install-mount/boot/efi
|
|
|
|
mount /dev/${DISK}p1 /media/pika-install-mount/boot/efi
|
2024-01-24 20:57:20 +01:00
|
|
|
pikainstall -r /media/pika-install-mount/ -l ${LOCALE} -k ${KEYBOARD} -t ${TIMEZONE} && touch /tmp/pika-installer-gtk4-successful.txt || touch /tmp/pika-installer-gtk4-fail.txt && exit 1
|
2024-01-22 18:14:41 +01:00
|
|
|
else
|
2024-01-23 16:32:24 +01:00
|
|
|
sleep 10
|
2024-01-22 18:57:18 +01:00
|
|
|
# Add filesystems
|
2024-01-22 20:09:13 +01:00
|
|
|
yes | mkfs -t vfat -F 32 /dev/${DISK}1
|
|
|
|
yes | mkfs -t ext4 /dev/${DISK}2
|
|
|
|
yes | mkfs.btrfs -f /dev/${DISK}3
|
|
|
|
yes | mkfs.btrfs -f /dev/${DISK}4
|
2024-01-23 15:19:10 +01:00
|
|
|
sleep 2
|
2024-01-22 18:57:18 +01:00
|
|
|
# Begin Mounting
|
2024-01-22 18:14:41 +01:00
|
|
|
mkdir -p /media/pika-install-mount
|
|
|
|
mount /dev/${DISK}3 /media/pika-install-mount/
|
|
|
|
mkdir -p /media/pika-install-mount/home
|
|
|
|
mount /dev/${DISK}4 /media/pika-install-mount/home
|
|
|
|
mkdir -p /media/pika-install-mount/boot
|
|
|
|
mount /dev/${DISK}2 /media/pika-install-mount/boot
|
|
|
|
mkdir -p /media/pika-install-mount/boot/efi
|
|
|
|
mount /dev/${DISK}1 /media/pika-install-mount/boot/efi
|
2024-01-24 20:57:20 +01:00
|
|
|
pikainstall -r /media/pika-install-mount/ -l ${LOCALE} -k ${KEYBOARD} -t ${TIMEZONE} && touch /tmp/pika-installer-gtk4-successful.txt || touch /tmp/pika-installer-gtk4-fail.txt && exit 1
|
2024-01-22 18:14:41 +01:00
|
|
|
fi
|
|
|
|
else
|
|
|
|
LUKS_KEY="$(cat "/tmp/pika-installer-gtk4-target-automatic-luks.txt")"
|
2024-02-17 21:54:33 +01:00
|
|
|
for part in $(sudo /usr/lib/pika/pika-installer-gtk4/scripts/partition-utility.sh get_partitions | grep ${DISK}); do
|
|
|
|
PARTITION="/dev/$part"
|
|
|
|
sudo swapoff $PARTITION || true
|
|
|
|
done
|
|
|
|
wipefs -af /dev/${DISK}
|
2024-01-22 20:32:48 +01:00
|
|
|
# Partition the drives
|
|
|
|
parted -s -a optimal /dev/${DISK} mklabel gpt \
|
|
|
|
mkpart "linux-efi" 1MiB 513Mib \
|
|
|
|
mkpart "linux-boot" 513Mib 1537Mib \
|
2024-01-30 15:40:27 +01:00
|
|
|
mkpart "linux-root" 1537Mib "$p3_size"Mib \
|
|
|
|
mkpart "linux-home" "$p3_size"Mib 100% \
|
2024-01-22 20:32:48 +01:00
|
|
|
print
|
|
|
|
# add p to partition if it's nvme
|
|
|
|
if echo ${DISK} | grep -i "nvme"
|
|
|
|
then
|
2024-01-23 16:32:24 +01:00
|
|
|
sleep 10
|
2024-01-22 20:32:48 +01:00
|
|
|
# Add filesystems
|
|
|
|
yes | mkfs -t vfat -F 32 /dev/${DISK}p1
|
|
|
|
yes | mkfs -t ext4 /dev/${DISK}p2
|
|
|
|
printf ${LUKS_KEY} | cryptsetup -q -v --type luks2 luksFormat /dev/${DISK}p3
|
|
|
|
printf ${LUKS_KEY} | cryptsetup -q -v --type luks2 luksFormat /dev/${DISK}p4
|
|
|
|
printf ${LUKS_KEY} | cryptsetup -q -v luksOpen /dev/${DISK}p3 crypt_root
|
|
|
|
printf ${LUKS_KEY} | cryptsetup -q -v luksOpen /dev/${DISK}p4 crypt_home
|
|
|
|
yes | mkfs.btrfs -f /dev/mapper/crypt_root
|
|
|
|
yes | mkfs.btrfs -f /dev/mapper/crypt_home
|
2024-01-23 15:19:10 +01:00
|
|
|
sleep 2
|
2024-01-22 20:32:48 +01:00
|
|
|
# Begin Mounting
|
|
|
|
mkdir -p /media/pika-install-mount
|
|
|
|
mount /dev/mapper/crypt_root /media/pika-install-mount/
|
|
|
|
mkdir -p /media/pika-install-mount/home
|
|
|
|
mount /dev/mapper/crypt_home /media/pika-install-mount/home
|
|
|
|
mkdir -p /media/pika-install-mount/boot
|
|
|
|
mount /dev/${DISK}p2 /media/pika-install-mount/boot
|
|
|
|
mkdir -p /media/pika-install-mount/boot/efi
|
|
|
|
mount /dev/${DISK}p1 /media/pika-install-mount/boot/efi
|
2024-01-24 14:55:08 +01:00
|
|
|
pikainstall -r /media/pika-install-mount/ -c ${LUKS_KEY} -l ${LOCALE} -k ${KEYBOARD} -t ${TIMEZONE} && touch /tmp/pika-installer-gtk4-successful.txt || touch /tmp/pika-installer-gtk4-fail.txt && exit 1
|
2024-01-22 20:32:48 +01:00
|
|
|
else
|
2024-01-23 16:32:24 +01:00
|
|
|
sleep 10
|
2024-01-22 20:32:48 +01:00
|
|
|
# Add filesystems
|
|
|
|
yes | mkfs -t vfat -F 32 /dev/${DISK}1
|
|
|
|
yes | mkfs -t ext4 /dev/${DISK}2
|
|
|
|
printf ${LUKS_KEY} | cryptsetup -q -v --type luks2 luksFormat /dev/${DISK}3
|
|
|
|
printf ${LUKS_KEY} | cryptsetup -q -v --type luks2 luksFormat /dev/${DISK}4
|
|
|
|
printf ${LUKS_KEY} | cryptsetup -q -v luksOpen /dev/${DISK}3 crypt_root
|
|
|
|
printf ${LUKS_KEY} | cryptsetup -q -v luksOpen /dev/${DISK}4 crypt_home
|
|
|
|
yes | mkfs.btrfs -f /dev/mapper/crypt_root
|
|
|
|
yes | mkfs.btrfs -f /dev/mapper/crypt_home
|
2024-01-23 15:19:10 +01:00
|
|
|
sleep 2
|
2024-01-22 20:32:48 +01:00
|
|
|
# Begin Mounting
|
|
|
|
mkdir -p /media/pika-install-mount
|
|
|
|
mount /dev/mapper/crypt_root /media/pika-install-mount/
|
|
|
|
mkdir -p /media/pika-install-mount/home
|
|
|
|
mount /dev/mapper/crypt_home /media/pika-install-mount/home
|
|
|
|
mkdir -p /media/pika-install-mount/boot
|
|
|
|
mount /dev/${DISK}2 /media/pika-install-mount/boot
|
|
|
|
mkdir -p /media/pika-install-mount/boot/efi
|
|
|
|
mount /dev/${DISK}1 /media/pika-install-mount/boot/efi
|
2024-01-24 14:55:08 +01:00
|
|
|
pikainstall -r /media/pika-install-mount/ -c ${LUKS_KEY} -l ${LOCALE} -k ${KEYBOARD} -t ${TIMEZONE} && touch /tmp/pika-installer-gtk4-successful.txt || touch /tmp/pika-installer-gtk4-fail.txt && exit 1
|
2024-01-22 20:32:48 +01:00
|
|
|
fi
|
2024-01-22 18:14:41 +01:00
|
|
|
fi
|