1
0
mirror of https://github.com/rancher/os.git synced 2025-06-18 19:27:26 +00:00
os/scripts/installer/set-disk-partitions

40 lines
998 B
Plaintext
Raw Normal View History

#!/bin/bash
set -e
set -x
DEVICE=${1}
if [[ -z $DEVICE ]]; then
echo "Need to Pass a device name as arg1." 1>&2
exit 1
fi
PARTITION_COUNT=$(grep $(echo $DEVICE | cut -d '/' -f3) /proc/partitions | wc -l)
if [ "$PARTITION_COUNT" -gt "1" ]; then
echo "Device ${DEVICE} already partitioned!"
echo "Checking to see if it is mounted"
# Check this container first...
if grep -q "${DEVICE}" /proc/mounts; then
echo "Device is mounted, we can not repartition" 1>&2
exit 1
fi
# Check other system containers...
for container in $(system-docker ps -q); do
if system-docker exec $container grep -q "${DEVICE}" /proc/mounts; then
echo "Device is mounted in system container ${container}, we can not repartition" 1>&2
exit 1
fi
done
fi
dd if=/dev/zero of=${DEVICE} bs=512 count=2048
partprobe ${DEVICE}
parted -s -a optimal ${DEVICE} mklabel msdos -- \
mkpart primary ext4 1 -1 \
set 1 boot on