PortValhalla/scripts/Arch/OS/partition.sh

54 lines
1.2 KiB
Bash
Raw Normal View History

2023-07-12 20:37:31 +00:00
#!/bin/bash
pushd "${BASH_SOURCE%/*}" > /dev/null;
2023-07-12 21:30:00 +00:00
source "../../Common/Scripts/is-truthy.sh";
2023-04-01 15:08:17 +00:00
source "../../Common/Scripts/choose-disk.sh";
2023-04-01 11:40:52 +00:00
ARCH_DISK="${ARCH_DISK}";
2023-07-12 21:30:00 +00:00
SKIP_FORMAT_EFI="${SKIP_FORMAT_EFI}";
PARTITION_SCRIPT="${PARTITION_SCRIPT:-"./default-partition.sh"}";
memory="$(cat /proc/meminfo | awk -F " " '/^MemTotal/ { print $2 }')";
2023-08-07 18:33:51 +00:00
swapSize="$(echo "$memory" | awk '{ print int((($1 / 1024 / 1024) * 0.75) + 0.5)}')";
export SWAP_SIZE="$swapSize";
if [ ! -z "$ARCH_DISK" ] && [ ! -e "$ARCH_DISK" ]
then
ARCH_DISK="/dev/${ARCH_DISK}"
fi;
if [ -z "$ARCH_DISK" ] || [ ! -e "$ARCH_DISK" ]
2023-04-01 11:40:52 +00:00
then
chooseDisk ARCH_DISK "Which disk do you wish to format for installing Arch?";
fi;
. "$PARTITION_SCRIPT";
2023-06-09 21:31:02 +00:00
while true
do
disks=($(bash -c "echo $ARCH_DISK*"));
[ "${#disks[@]}" -ge 4 ] && break;
done;
bootDisk="${BOOT_DISK:-"${disks[1]}"}";
swapDisk="${SWAP_DISK:-"${disks[2]}"}";
linuxDisk="${LINUX_DISK:-"${disks[3]}"}";
2023-04-01 01:30:58 +00:00
2023-07-12 21:30:00 +00:00
if ! isTruthy "$SKIP_FORMAT_EFI"
then
mkfs.fat -F 32 "$bootDisk";
fi
2023-04-01 01:30:58 +00:00
mkswap "$swapDisk";
mkfs.ext4 -F "$linuxDisk";
2023-04-01 01:30:58 +00:00
2023-04-01 01:19:02 +00:00
mount "$linuxDisk" /mnt;
mount --mkdir "$bootDisk" /mnt/boot;
swapon "$swapDisk";
2023-04-01 01:15:32 +00:00
2023-08-07 18:29:24 +00:00
if command -v extraMounts
then
extraMounts;
fi;
popd > /dev/null;