You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.4 KiB
39 lines
1.4 KiB
#! /bin/bash
|
|
|
|
# fresh update on apt in Ubuntu
|
|
echo "Updating and upgrading local packages..."
|
|
apt-add-repository universe && apt update >/dev/null 2>/dev/null && apt upgrade -y >/dev/null 2>/dev/null
|
|
if [ "$?" = "0" ]; then
|
|
echo "Done.\n"
|
|
else
|
|
echo "Failed to add universal repository, update apt repository, or upgrade - possibly bad network connection"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Installing required setup configuration utilities..."
|
|
apt install -y dialog net-tools gdisk zfs-initramfs debootstrap >/dev/null 2>/dev/null
|
|
if [ "$?" = "0" ]; then
|
|
echo "Done.\n"
|
|
else
|
|
echo "Failed to install net-tools, gdisk, zfs-initramfs, or debootstrap"
|
|
exit 2
|
|
fi
|
|
|
|
#calculate width and height of console
|
|
width=`tput cols`
|
|
height=`tput lines`
|
|
|
|
# set line separator
|
|
IFS=$'\n'
|
|
|
|
devices=""; for device in $(ls /dev/disk/by-id | grep -v part); do devices="$devices $device off"; done
|
|
disks=`dialog --separate-output --no-collapse --no-items --title "Root devices" --checklist "Select boot drives" $height $width ${window}$devices 2>&1 1>/dev/tty`
|
|
|
|
for disk in "$disks"; do
|
|
# remove echo for testing
|
|
echo "Partitioning disk $disk..."
|
|
echo "sgdisk --zap-all /dev/disk/by-id/$disk >/dev/null 2>/dev/null"
|
|
echo "sgdisk -n2:1M:+512M -t2:EF00 /dev/disk/by-id/$disk >/dev/null 2>/dev/null"
|
|
echo "sgdisk -n3:0:+512M -t3:BF01 /dev/disk/by-id/$disk >/dev/null 2>/dev/null"
|
|
echo "Done."
|
|
done |