archboot/usr/bin/archboot-clean-blockdevice.sh

36 lines
1.3 KiB
Bash
Raw Normal View History

2024-08-12 22:59:58 +02:00
#!/usr/bin/env bash
# SPDX-License-Identifier: GPL-3.0-or-later
2024-08-30 12:17:15 +02:00
# archboot-clean-blockdevice.sh - clean blockdevice from filesystem
# signatures and partition table
2024-08-12 22:59:58 +02:00
# by Tobias Powalowski <tpowa@archlinux.org>
. /usr/lib/archboot/common.sh
_usage()
{
echo -e "\e[1m\e[36mARCHBOOT\e[m \e[1m- Clean blockdevice\e[m"
echo -e "\e[1m----------------------------\e[m"
echo -e "This script removes all filesystem signatures"
2024-08-13 15:26:58 +02:00
echo -e "and partition table from the device."
2024-08-13 15:20:00 +02:00
echo -e "\e[1m\e[91mWARNING: ALL DATA WILL BE LOST ON THE DEVICE(S)! \e[m"
2024-08-12 22:59:58 +02:00
echo ""
2024-08-13 15:20:00 +02:00
echo -e "Usage: \e[1m${_BASENAME} <device(s)>\e[m"
2024-08-12 22:59:58 +02:00
exit 0
}
##################################################
2024-08-13 15:31:38 +02:00
[[ -z "${1}" ]] && _usage
2024-08-13 23:14:54 +02:00
_root_check
2024-08-13 15:26:58 +02:00
echo -e "\e[1mCleaning blockdevice(s) $*...\e[m"
2024-08-13 15:29:30 +02:00
echo -e "\e[91mWARNING: 10 seconds for hitting CTRL+C to stop the process on $* now! \e[m"
2024-08-13 15:26:58 +02:00
sleep 10
2024-08-13 15:20:00 +02:00
#shellcheck disable=SC2068
for i in $@; do
2024-08-13 23:25:12 +02:00
if [[ -b "${i}" ]]; then
echo -e "\e[1mSTEP 1/2:\e[m Cleaning ${i} filesystem signatures..."
wipefs -f -a "${i}"
echo -e "\e[1mSTEP 2/2:\e[m Cleaning ${i} partition table..."
dd if=/dev/zero of="${i}" bs=1M count=10
echo -e "\e[1mFinished ${i}.\e[m"
else
echo -e "\e[1m\e[91mError: ${i} not a valid blockdevice! \e[m"
fi
2024-08-13 15:20:00 +02:00
done