#!/bin/bash

# This file is part of VM-Experiments.
# Licensed under the GPL-3.0-or-later. See LICENSE for details.

read -p "Are you sure you want to install? (Type 'NO' to cancel, uppercase.)" install

if [ "$install" = "NO" ]; then
    reboot
fi

trap '' SIGINT SIGTERM

parted -s /dev/sda mklabel msdos
parted -s /dev/sda mkpart primary linux-swap 0% 2GiB
parted -s /dev/sda mkpart primary ext4 2GiB 100%

mkswap /dev/sda1
mkfs.ext4 /dev/sda2

mount /dev/sda2 /mnt
swapon /dev/sda1

tar -xzvf /rootfs.tar.gz -C /mnt

genfstab -U /mnt >>/mnt/etc/fstab

mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys

if chroot /mnt /bin/bash -c "command -v grub2-mkconfig &>/dev/null"; then
    chroot /mnt /bin/bash -c "grub2-mkconfig -o /boot/grub/grub.cfg"
elif chroot /mnt /bin/bash -c "command -v grub-mkconfig &>/dev/null"; then
    chroot /mnt /bin/bash -c "grub-mkconfig -o /boot/grub/grub.cfg"
fi

if chroot /mnt /bin/bash -c "command -v grub2-install &>/dev/null"; then
    chroot /mnt /bin/bash -c "grub2-install /dev/sda"
elif chroot /mnt /bin/bash -c "command -v grub-install &>/dev/null"; then
    chroot /mnt /bin/bash -c "grub-install /dev/sda"
fi