svprognu/build_svprognu

72 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# Creation de la clef ./build_svprognu -d /dev/sdX
set -e
ISO="live-svprognu-bookworm_amd64.iso"
while getopts ":r d:" opt; do
case $opt in
r)
# Recuperation iso
echo "Téléchargement de l'iso..."
sleep 5
wget -O ${ISO} https://dl.vermeulen.pro/SVPROGNU/${ISO}
wget -O ${ISO}.md5sum https://dl.vermeulen.pro/SVPROGNU/${ISO}.md5sum
echo "Vérification de l'image..."
if ! md5sum -c ${ISO}.md5sum
then
echo "ISO Corompue. Abandon !!"
rm -f ${ISO} ${ISO}.md5
exit 1
fi
;;
# Copie de l'image iso sur clé
d)
echo "Transfert en cours..."
#Vérification montage support
if mount | grep -q $OPTARG > /dev/null
then
umount $OPTARG* || /bin/true
fi
#Réinitialisation de la clé : Table DOS
printf 'o\nw' | fdisk $OPTARG
#Transfert
dd if=${ISO} of=$OPTARG bs=4M status=progress
sync
# Création de la partition dédiée à la persistence
echo "Création de la persistence..."
sleep 5
printf 'n\np\n\n\n\nw' | fdisk $OPTARG
echo "Formatage..."
sleep 10
mkfs.ext4 -L persistence ${OPTARG}3
# Configuratio de la partition
mkdir -p ./tmp
mount ${OPTARG}3 ./tmp
echo "/ union" > ./tmp/persistence.conf
umount ./tmp
echo "Finalisation..."
sleep 10
rm -rf ./tmp
# Fin
echo "Terminé ! Vous pouvez booter sur la clé USB, la persistence sera auto-configurée lors du premier Boot !"
;;
esac
done
exit 0