Create generic script for partitioning disks

This commit is contained in:
Manuel Thalmann 2023-11-24 13:59:58 +01:00
parent e4ff7b784a
commit 0476f5d9f2
3 changed files with 14 additions and 13 deletions

View file

@ -0,0 +1,32 @@
#!/bin/bash
{
echo "g";
echo "n";
echo "";
echo "";
echo "+1G";
echo "y";
echo "t";
echo "1";
echo "n";
echo "";
echo "";
echo "+${SWAP_SIZE}G";
echo "y";
echo "t";
echo "";
echo "19";
echo "n";
echo "";
echo "";
echo "";
echo "y";
echo "t";
echo "";
echo "23";
echo "w";
} | fdisk "$OS_DISK";

View file

@ -0,0 +1,53 @@
#!/bin/bash
pushd "${BASH_SOURCE%/*}" > /dev/null;
source "../Scripts/is-truthy.sh";
source "../Scripts/choose-disk.sh";
OS_DISK="${OS_DISK}";
SKIP_FORMAT_EFI="${SKIP_FORMAT_EFI}";
PARTITION_SCRIPT="${PARTITION_SCRIPT:-"./default-partition.sh"}";
memory="$(cat /proc/meminfo | awk -F " " '/^MemTotal/ { print $2 }')";
swapSize="$(echo "$memory" | awk '{ print int((($1 / 1024 / 1024) * 0.75) + 0.5)}')";
if [ ! -z "$OS_DISK" ] && [ ! -e "$OS_DISK" ]
then
OS_DISK="/dev/${OS_DISK}"
fi;
if [ -z "$OS_DISK" ] || [ ! -e "$OS_DISK" ]
then
chooseDisk OS_DISK "Which disk do you wish to format for installing the OS?";
fi;
OS_DISK="${OS_DISK}" \
SWAP_SIZE="$swapSize" \
. "$PARTITION_SCRIPT";
while true
do
disks=($(bash -c "echo $OS_DISK*"));
[ "${#disks[@]}" -ge 4 ] && break;
done;
bootDisk="${BOOT_DISK:-"${disks[1]}"}";
swapDisk="${SWAP_DISK:-"${disks[2]}"}";
linuxDisk="${LINUX_DISK:-"${disks[3]}"}";
if ! isTruthy "$SKIP_FORMAT_EFI"
then
mkfs.fat -F 32 "$bootDisk";
fi
mkswap "$swapDisk";
mkfs.ext4 -F "$linuxDisk";
mount "$linuxDisk" /mnt;
mount --mkdir "$bootDisk" /mnt/boot;
swapon "$swapDisk";
if command -v extraMounts
then
extraMounts;
fi;
popd > /dev/null;